From 674f3e22fa9dd4ff5a044d8127dc0c7628eeef1a Mon Sep 17 00:00:00 2001 From: KarishmaBothara Date: Thu, 22 Oct 2020 16:08:40 +1300 Subject: [PATCH] Initial branch with api-types replaced in types (#186) * Upgraded with latest polkadot version (^2.3.1) Co-authored-by: Alex Sed --- .eslintrc.js | 1 - README.md | 12 - jest/initApiRx.js | 2 +- package.json | 39 +- packages/api/README.md | 27 +- packages/api/package.json | 14 +- packages/api/src/Api.ts | 20 +- packages/api/src/ApiRx.ts | 52 +- .../derives/attestation/attestation.e2e.ts | 37 +- .../derives/attestation/attestationRx.e2e.ts | 36 +- .../api/src/derives/attestation/getClaim.ts | 6 +- .../api/src/derives/attestation/getClaims.ts | 4 +- packages/api/src/derives/attestation/index.ts | 2 +- packages/api/src/derives/attestation/types.ts | 4 +- .../api/src/derives/cennzx/assetWithdrawn.ts | 33 +- .../api/src/derives/cennzx/cennzxTrade.e2e.ts | 54 +- .../api/src/derives/cennzx/exchangeAddress.ts | 6 +- .../src/derives/cennzx/liquidityBalance.ts | 14 +- .../api/src/derives/cennzx/poolBalance.ts | 33 +- packages/api/src/derives/cennzx/shared.ts | 15 +- .../api/src/derives/cennzx/totalLiquidity.ts | 14 +- .../api/src/derives/cennzx/utils/index.ts | 13 +- packages/api/src/derives/fees/estimateFee.ts | 47 +- packages/api/src/derives/fees/index.ts | 14 + packages/api/src/derives/index.ts | 4 +- packages/api/src/derives/session/keyInfo.ts | 10 +- packages/api/src/derives/staking/index.ts | 1 - .../api/src/derives/staking/stakingAccount.ts | 8 +- packages/api/src/derives/types.ts | 10 +- packages/api/src/index.ts | 2 +- packages/api/src/rpc/cennzx.ts | 116 +- packages/api/src/rpc/genericAsset.ts | 19 +- packages/api/src/rpc/index.ts | 10 +- packages/api/src/staticMetadata.ts | 2 + packages/api/src/types.ts | 132 +- packages/api/src/util/derives.ts | 2 +- packages/api/src/util/getProvider.spec.ts | 42 +- packages/api/src/util/getProvider.ts | 2 +- packages/api/src/util/getTimeout.ts | 15 +- packages/api/src/util/injectPlugin.ts | 56 - packages/api/src/util/logging.ts | 2 +- packages/api/test/e2e/api.calls.e2e.ts | 9 +- packages/api/test/e2e/api.create.e2e.ts | 19 +- packages/api/test/e2e/cennzx.e2e.ts | 42 +- packages/api/test/e2e/doughnut.e2e.ts | 266 - packages/api/test/e2e/queries.e2e.ts | 38 +- packages/api/test/e2e/rxapi.create.e2e.ts | 21 +- packages/api/test/e2e/rxapi.queries.e2e.ts | 11 +- packages/api/test/e2e/staking.e2e.ts | 10 +- packages/api/test/e2e/tx.e2e.ts | 89 +- packages/types/package.json | 13 +- packages/types/src/Doughnut.ts | 48 - packages/types/src/extrinsic/Extrinsic.ts | 290 - .../types/src/extrinsic/ExtrinsicPayload.ts | 144 - packages/types/src/extrinsic/constants.ts | 13 - packages/types/src/extrinsic/types.spec.ts | 12 - packages/types/src/extrinsic/types.ts | 106 - packages/types/src/extrinsic/v2/Extrinsic.ts | 137 - .../src/extrinsic/v2/ExtrinsicPayload.ts | 150 - packages/types/src/index.ts | 19 +- packages/types/src/injects.ts | 27 - packages/types/src/interfaces.ts | 15 - .../src/interfaces/attestation/definitions.ts | 7 + .../types/src/interfaces/attestation/index.ts | 4 + .../types/src/interfaces/attestation/types.ts | 12 + .../src/interfaces/augment-api-consts.ts | 220 + .../types/src/interfaces/augment-api-query.ts | 906 ++ .../types/src/interfaces/augment-api-tx.ts | 2144 +++++ packages/types/src/interfaces/augment-api.ts | 7 + .../types/src/interfaces/augment-types.ts | 2060 +++++ .../src/interfaces/cennzx/definitions.ts | 54 + packages/types/src/interfaces/cennzx/index.ts | 4 + packages/types/src/interfaces/cennzx/types.ts | 14 + packages/types/src/interfaces/definitions.ts | 7 + .../extrinsic/SignerPayload.ts | 88 +- .../src/{ => interfaces}/extrinsic/index.ts | 7 +- .../extrinsic/signedExtensions/cennznet.ts | 44 + .../extrinsic/signedExtensions/index.ts | 51 + .../extrinsic/signedExtensions/types.ts | 10 + .../extrinsic/types.ts} | 28 +- .../extrinsic/v1/ExtrinsicPayload.ts | 116 + .../extrinsic/v1}/ExtrinsicSignature.ts | 147 +- .../types/src/interfaces/ga/definitions.ts | 44 + packages/types/src/interfaces/ga/index.ts | 4 + packages/types/src/interfaces/ga/types.ts | 59 + packages/types/src/interfaces/index.ts | 5 + packages/types/src/interfaces/injects.ts | 33 + .../src/interfaces/staking/definitions.ts | 14 + .../types/src/interfaces/staking/index.ts | 4 + .../types/src/interfaces/staking/types.ts | 21 + .../types/src/interfaces/sylo/definitions.ts | 49 + packages/types/src/interfaces/sylo/index.ts | 4 + packages/types/src/interfaces/sylo/types.ts | 89 + .../src/interfaces/system/definitions.ts | 7 + packages/types/src/interfaces/system/index.ts | 4 + packages/types/src/interfaces/system/types.ts | 13 + .../transactionPayment/definitions.ts | 15 + .../interfaces/transactionPayment/index.ts | 4 + .../interfaces/transactionPayment/types.ts | 25 + packages/types/src/interfaces/types.ts | 9 + packages/types/src/metaDataTypes.ts | 68 - packages/types/src/primitive.ts | 20 - .../src/runtime/attestation/Topic.spec.ts | 35 - .../types/src/runtime/attestation/Topic.ts | 63 - .../types/src/runtime/attestation/Value.ts | 21 - .../types/src/runtime/attestation/index.ts | 16 - .../types/src/runtime/cennzx/ExchangeKey.ts | 5 - packages/types/src/runtime/cennzx/FeeRate.ts | 6 - .../types/src/runtime/cennzx/cennzx.spec.ts | 36 - packages/types/src/runtime/cennzx/index.ts | 16 - packages/types/src/runtime/cennzx/types.ts | 5 - packages/types/src/runtime/ga/AssetId.ts | 22 - packages/types/src/runtime/ga/AssetOptions.ts | 36 - .../types/src/runtime/ga/BalanceLock.spec.ts | 13 - packages/types/src/runtime/ga/BalanceLock.ts | 32 - packages/types/src/runtime/ga/Owner.ts | 18 - .../src/runtime/ga/PermissionVersions.ts | 18 - .../types/src/runtime/ga/PermissionsV1.ts | 38 - .../src/runtime/ga/WithdrawReasons.spec.ts | 32 - .../types/src/runtime/ga/WithdrawReasons.ts | 60 - packages/types/src/runtime/ga/ga.spec.ts | 57 - packages/types/src/runtime/ga/index.ts | 22 - packages/types/src/runtime/index.ts | 23 - packages/types/src/runtime/staking/index.ts | 42 - .../types/src/runtime/staking/types.spec.ts | 31 - packages/types/src/runtime/sylo/index.ts | 120 - .../transaction-payment/TransactionPayment.ts | 13 - .../src/runtime/transaction-payment/index.ts | 60 - packages/types/src/types.ts | 28 +- packages/util/package.json | 8 +- packages/util/src/format/stripEndZero.ts | 2 +- packages/util/src/number/toFixed.ts | 30 +- packages/util/src/unit/formatUnits.ts | 2 +- packages/util/src/unit/parseUnits.ts | 4 +- scripts/MetadataMd.ts | 499 +- scripts/generateSlimMetadata.ts | 131 +- scripts/updateStaticMetadata.js | 51 +- scripts/updateStaticMetadata.ts | 19 + tsconfig.json | 3 +- yarn.lock | 7585 +++++++++++++---- 140 files changed, 13191 insertions(+), 4843 deletions(-) delete mode 100644 packages/api/src/util/injectPlugin.ts delete mode 100644 packages/api/test/e2e/doughnut.e2e.ts delete mode 100644 packages/types/src/Doughnut.ts delete mode 100644 packages/types/src/extrinsic/Extrinsic.ts delete mode 100644 packages/types/src/extrinsic/ExtrinsicPayload.ts delete mode 100644 packages/types/src/extrinsic/constants.ts delete mode 100644 packages/types/src/extrinsic/types.spec.ts delete mode 100644 packages/types/src/extrinsic/types.ts delete mode 100644 packages/types/src/extrinsic/v2/Extrinsic.ts delete mode 100644 packages/types/src/extrinsic/v2/ExtrinsicPayload.ts delete mode 100644 packages/types/src/injects.ts delete mode 100644 packages/types/src/interfaces.ts create mode 100644 packages/types/src/interfaces/attestation/definitions.ts create mode 100644 packages/types/src/interfaces/attestation/index.ts create mode 100644 packages/types/src/interfaces/attestation/types.ts create mode 100644 packages/types/src/interfaces/augment-api-consts.ts create mode 100644 packages/types/src/interfaces/augment-api-query.ts create mode 100644 packages/types/src/interfaces/augment-api-tx.ts create mode 100644 packages/types/src/interfaces/augment-api.ts create mode 100644 packages/types/src/interfaces/augment-types.ts create mode 100644 packages/types/src/interfaces/cennzx/definitions.ts create mode 100644 packages/types/src/interfaces/cennzx/index.ts create mode 100644 packages/types/src/interfaces/cennzx/types.ts create mode 100644 packages/types/src/interfaces/definitions.ts rename packages/types/src/{ => interfaces}/extrinsic/SignerPayload.ts (54%) rename packages/types/src/{ => interfaces}/extrinsic/index.ts (71%) create mode 100644 packages/types/src/interfaces/extrinsic/signedExtensions/cennznet.ts create mode 100644 packages/types/src/interfaces/extrinsic/signedExtensions/index.ts create mode 100644 packages/types/src/interfaces/extrinsic/signedExtensions/types.ts rename packages/types/src/{runtime/ga/AssetInfo.ts => interfaces/extrinsic/types.ts} (54%) create mode 100644 packages/types/src/interfaces/extrinsic/v1/ExtrinsicPayload.ts rename packages/types/src/{extrinsic/v2 => interfaces/extrinsic/v1}/ExtrinsicSignature.ts (53%) create mode 100644 packages/types/src/interfaces/ga/definitions.ts create mode 100644 packages/types/src/interfaces/ga/index.ts create mode 100644 packages/types/src/interfaces/ga/types.ts create mode 100644 packages/types/src/interfaces/index.ts create mode 100644 packages/types/src/interfaces/injects.ts create mode 100644 packages/types/src/interfaces/staking/definitions.ts create mode 100644 packages/types/src/interfaces/staking/index.ts create mode 100644 packages/types/src/interfaces/staking/types.ts create mode 100644 packages/types/src/interfaces/sylo/definitions.ts create mode 100644 packages/types/src/interfaces/sylo/index.ts create mode 100644 packages/types/src/interfaces/sylo/types.ts create mode 100644 packages/types/src/interfaces/system/definitions.ts create mode 100644 packages/types/src/interfaces/system/index.ts create mode 100644 packages/types/src/interfaces/system/types.ts create mode 100644 packages/types/src/interfaces/transactionPayment/definitions.ts create mode 100644 packages/types/src/interfaces/transactionPayment/index.ts create mode 100644 packages/types/src/interfaces/transactionPayment/types.ts create mode 100644 packages/types/src/interfaces/types.ts delete mode 100644 packages/types/src/metaDataTypes.ts delete mode 100644 packages/types/src/primitive.ts delete mode 100644 packages/types/src/runtime/attestation/Topic.spec.ts delete mode 100644 packages/types/src/runtime/attestation/Topic.ts delete mode 100644 packages/types/src/runtime/attestation/Value.ts delete mode 100644 packages/types/src/runtime/attestation/index.ts delete mode 100644 packages/types/src/runtime/cennzx/ExchangeKey.ts delete mode 100644 packages/types/src/runtime/cennzx/FeeRate.ts delete mode 100644 packages/types/src/runtime/cennzx/cennzx.spec.ts delete mode 100644 packages/types/src/runtime/cennzx/index.ts delete mode 100644 packages/types/src/runtime/cennzx/types.ts delete mode 100644 packages/types/src/runtime/ga/AssetId.ts delete mode 100644 packages/types/src/runtime/ga/AssetOptions.ts delete mode 100644 packages/types/src/runtime/ga/BalanceLock.spec.ts delete mode 100644 packages/types/src/runtime/ga/BalanceLock.ts delete mode 100644 packages/types/src/runtime/ga/Owner.ts delete mode 100644 packages/types/src/runtime/ga/PermissionVersions.ts delete mode 100644 packages/types/src/runtime/ga/PermissionsV1.ts delete mode 100644 packages/types/src/runtime/ga/WithdrawReasons.spec.ts delete mode 100644 packages/types/src/runtime/ga/WithdrawReasons.ts delete mode 100644 packages/types/src/runtime/ga/ga.spec.ts delete mode 100644 packages/types/src/runtime/ga/index.ts delete mode 100644 packages/types/src/runtime/index.ts delete mode 100644 packages/types/src/runtime/staking/index.ts delete mode 100644 packages/types/src/runtime/staking/types.spec.ts delete mode 100644 packages/types/src/runtime/sylo/index.ts delete mode 100644 packages/types/src/runtime/transaction-payment/TransactionPayment.ts delete mode 100644 packages/types/src/runtime/transaction-payment/index.ts create mode 100644 scripts/updateStaticMetadata.ts diff --git a/.eslintrc.js b/.eslintrc.js index 3a450ae95..237eab540 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -75,7 +75,6 @@ module.exports = { ], "import/no-extraneous-dependencies": "off", "import/order": "error", - "no-console": "error", "no-duplicate-imports": "error", // "no-magic-numbers": "error", "no-return-await": "error", diff --git a/README.md b/README.md index 2846619a0..810624161 100644 --- a/README.md +++ b/README.md @@ -4,18 +4,6 @@ The CENNZnet JavaScript API library for browsers and Node.js. ## Quick Start -You must use **yarn** with @cennznet/api and set the following **resolutions** in your package.json, otherwise your install may break due to breaking changes in downstream package versions. -``` -"resolutions": { - "@polkadot/types": "1.2.1", - "@polkadot/metadata": "1.2.1", - "@polkadot/api": "1.2.1", - "@polkadot/api-derive": "1.2.1", - "@polkadot/rpc-core": "1.2.1", - "@polkadot/rpc-provider": "1.2.1", - "@polkadot/jsonrpc": "1.2.1", -} -``` See the [getting started guide](docs/GET_STARTED.md), [example snippets](docs/examples), or the [wiki](https://github.com/cennznet/cennznet/wiki/Javascript-API-Reference) to get started. # Components diff --git a/jest/initApiRx.js b/jest/initApiRx.js index 5e0422c35..42215f028 100644 --- a/jest/initApiRx.js +++ b/jest/initApiRx.js @@ -1,7 +1,7 @@ import {WsProvider} from '@polkadot/api'; +import { TypeRegistry } from '@cennznet/types'; import config from '../config'; import {ApiRx} from '../packages/api/src/ApiRx'; -import { TypeRegistry } from '@cennznet/types'; const initApiRx = async () => { const providerUrl = config.wsProvider[`${process.env.TEST_TYPE}`] || 'ws://localhost:9944'; diff --git a/package.json b/package.json index 36c1324cf..b248745f3 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,8 @@ "lint": "eslint . --ext .ts" }, "devDependencies": { - "@babel/cli": "^7.0.0", - "@babel/core": "^7.7.4", + "@babel/cli": "^7.12.1", + "@babel/core": "^7.11.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0", "@babel/helper-validator-identifier": "^7.10.4", "@babel/plugin-proposal-numeric-separator": "^7.10.4", @@ -28,39 +28,32 @@ "@babel/runtime-corejs3": "^7.7.6", "@polkadot/dev": "0.31.1", "@polkadot/ts": "^0.1.86", - "@types/jest": "^23.3.10", - "@typescript-eslint/eslint-plugin": "^3.10.0", - "@typescript-eslint/parser": "^3.10.0", - "babel-jest": "^24.9.0", + "@types/jest": "^26.0.14", + "@typescript-eslint/eslint-plugin": "^4.4.1", + "@typescript-eslint/parser": "^4.4.1", + "babel-jest": "^26.5.2", "babel-plugin-conditional-compile": "^0.0.5", "core-js": "^3.4.8", - "cz-lerna-changelog": "^2.0.2", - "eslint": "^7.7.0", - "eslint-plugin-import": "^2.22.0", + "eslint": "^7.11.0", + "eslint-plugin-import": "^2.22.1", "husky": "^1.1.1", - "jest": "24.1.0", - "jest-environment-node": "^24.0.0", + "jest": "^26.5.3", + "jest-environment-node": "^26.5.2", "lerna": "^3.13.1", "prettier": "^1.13.5", "pretty-quick": "^1.11.1", - "ts-jest": "^24.0.0", + "ts-jest": "^26.4.1", "ts-node": "^8.0.3", "tsconfig-paths": "^3.8.0", - "tslint": "^5.14.0", - "tslint-microsoft-contrib": "^5.2.1", - "typedoc": "^0.14.2", + "typedoc": "^0.19.2", "typedoc-plugin-monorepo": "https://github.com/ianhe8x/typedoc-plugin-monorepo", - "typescript": "^4.0.2" + "typescript": "^4.0.3", + "cz-lerna-changelog": "^2.0.3", + "semantic-release": "^15.14.0" }, "resolutions": { "babel-core": "^7.0.0-bridge.0", - "typescript": "^3.7.2", - "braces": "^2.3.2", - "fstream": "^1.0.12", - "handlebars": "^4.5.3", - "js-yaml": "^3.13.1", - "marked": "^0.6.2", - "tar": "^4.4.8" + "typescript": "^4.0.3" }, "config": { "commitizen": { diff --git a/packages/api/README.md b/packages/api/README.md index 886140909..52aad7b3d 100644 --- a/packages/api/README.md +++ b/packages/api/README.md @@ -2,33 +2,12 @@ The CENNZNet JavaScript SDK for browsers, RN and Node.js. -## Quick Start - -You must use **yarn** with @cennznet/api and set the following **resolutions** in your package.json, otherwise your install may break due to breaking changes in downstream package versions. - ## Install ``` $> npm i --save @cennznet/api ``` -At the moment a breaking change in the recent versions of polkadot has prevented us from updating with the recent versions. -That's why in package.json there should be a resolution set so we can make sure the right version of polkadot packages are fetched. Therefore you need to have the following lines in your package.json: -```json -"dependencies": { - "@cennznet/api": "^1.2.1" -}, -"resolutions": { - "@polkadot/types": "1.2.1", - "@polkadot/metadata": "1.2.1", - "@polkadot/api": "1.2.1", - "@polkadot/api-derive": "1.2.1", - "@polkadot/rpc-core": "1.2.1", - "@polkadot/rpc-provider": "1.2.1", - "@polkadot/jsonrpc": "1.2.1", -} -``` -Please use yarn as package manager to install the above dependecies. ## Usage The cennznet's main network is residing at `wss://cennznet.unfrastructure.io/public/ws`. @@ -64,16 +43,14 @@ We suggest passing provider as a string url, sdk will chose Provider Class based All `api.tx.
.(...)` return CennznetExtrinsic, which have -To use doughnut or feeExchange, it is required to pass them as part of SignerOption +To set fee exchange options on a transaction, it should be included as an additional argument when signing e.g ``` const tx = api.tx.genericAsset.transfer(16000, 'some address', 1000000); -tx.signAndSend('sender address', {doughnut, feeExchangeOpt}, callbackFn); +tx.signAndSend('sender address', {feeExchangeOpt}, callbackFn); ``` -[see more](https://github.com/cennznet/cennznet/wiki/Javascript-API-Reference#sending-extrinsics-with-doughnut) - ## Dynamic After connecting to CENNZNet, api will dynamically create queries and transaction methods. diff --git a/packages/api/package.json b/packages/api/package.json index 26f660eba..94c4f2843 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -20,18 +20,14 @@ }, "dependencies": { "@cennznet/types": "^1.2.1", - "@polkadot/api": "^1.1.1", - "@polkadot/metadata": "1.1.1", - "@polkadot/rpc-core": "^1.1.1", - "@polkadot/rpc-provider": "^1.1.1", - "@polkadot/types": "^1.1.1", + "@polkadot/api": "^2.3.1", + "@polkadot/metadata": "^2.3.1", + "@polkadot/rpc-core": "^2.3.1", + "@polkadot/rpc-provider": "^2.3.1", + "@polkadot/types": "^2.3.1", "eventemitter3": "^4.0.0" }, - "resolution": { - "@polkadot/keyring": "2.3.1" - }, "devDependencies": { - "@cennznet/cennznut-wasm": "^0.0.1-dev.0", "@types/jest": "^23.3.5", "jest": "24.1.0", "rimraf": "^2.6.2", diff --git a/packages/api/src/Api.ts b/packages/api/src/Api.ts index fa4bbb3b0..0ee38c5dd 100644 --- a/packages/api/src/Api.ts +++ b/packages/api/src/Api.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,26 +12,24 @@ // See the License for the specific language governing permissions and // limitations under the License. -import Types from '@cennznet/types/injects'; +import Types from '@cennznet/types/interfaces/injects'; import { ApiPromise } from '@polkadot/api'; -import { ApiOptions as ApiOptionsBase } from '@polkadot/api/types'; +import { ApiOptions as ApiOptionsBase, SubmittableExtrinsics } from '@polkadot/api/types'; import derives from './derives'; -import rpc from './rpc'; import staticMetadata from './staticMetadata'; -import { ApiOptions, Derives, SubmittableExtrinsics } from './types'; +import { ApiOptions, Derives } from './types'; import { mergeDeriveOptions } from './util/derives'; import { getProvider } from './util/getProvider'; import { getTimeout } from './util/getTimeout'; - -export const DEFAULT_TIMEOUT = 10000; +import rpc from './rpc'; export class Api extends ApiPromise { static async create(options: ApiOptions = {}): Promise { const api = new Api(options); return withTimeout( new Promise((resolve, reject) => { - const rejectError = err => { + const rejectError = () => { // Disconnect provider if API initialization fails api.disconnect(); @@ -40,7 +38,7 @@ export class Api extends ApiPromise { api.isReady.then(res => { // Remove error listener if API initialization success. - (api as any)._eventemitter.removeListener('error', rejectError); + (api as ApiPromise).off('error', rejectError); resolve((res as unknown) as Api); }, reject); @@ -67,13 +65,13 @@ export class Api extends ApiPromise { options.metadata = Object.assign(staticMetadata, options.metadata); options.types = { ...options.types, ...Types }; options.derives = mergeDeriveOptions(derives, options.derives); - options.rpc = { ...(rpc as any), ...options.rpc }; + options.rpc = { ...rpc, ...options.rpc }; super(options as ApiOptionsBase); } } -async function withTimeout(promise: Promise, timeoutMs: number = DEFAULT_TIMEOUT): Promise { +async function withTimeout(promise: Promise, timeoutMs: number): Promise { if (timeoutMs === 0) { return promise; } diff --git a/packages/api/src/ApiRx.ts b/packages/api/src/ApiRx.ts index b565c56cd..7aaa995a0 100644 --- a/packages/api/src/ApiRx.ts +++ b/packages/api/src/ApiRx.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,41 +12,41 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { mergeDeriveOptions } from '@cennznet/api/util/derives'; -import Types from '@cennznet/types/injects'; +import Types from '@cennznet/types/interfaces/injects'; import { ApiRx as ApiRxBase } from '@polkadot/api'; -import { ApiOptions as ApiOptionsBase } from '@polkadot/api/types'; -import { fromEvent, Observable, race, throwError } from 'rxjs'; -import { switchMap, timeout } from 'rxjs/operators'; +import { ApiOptions as ApiOptionsBase, SubmittableExtrinsics } from '@polkadot/api/types'; +import { Observable } from 'rxjs'; +import { timeout } from 'rxjs/operators'; +import { mergeDeriveOptions } from './util/derives'; -import rpc from '@cennznet/api/rpc'; -import { DEFAULT_TIMEOUT } from './Api'; import derives from './derives'; import staticMetadata from './staticMetadata'; -import { ApiOptions, Derives, SubmittableExtrinsics } from './types'; +import { ApiOptions, Derives } from './types'; import { getProvider } from './util/getProvider'; import { getTimeout } from './util/getTimeout'; +import rpc from './rpc'; export class ApiRx extends ApiRxBase { static create(options: ApiOptions = {}): Observable { const apiRx = new ApiRx(options); - const timeoutMs = getTimeout(options); + const observable: Observable = new Observable(x => { + apiRx.on('error', (): void => { + x.error(new Error('Connection fail')); + }); + apiRx.on('disconnected', (): void => { + x.error(new Error('Disconnected')); + }); + apiRx.on('connected', (): void => { + console.info('API has been connected to the endpoint'); + }); + apiRx.once('ready', (): void => { + x.next(apiRx); + x.complete(); + }); + }); - const rejectError = fromEvent((apiRx as any)._eventemitter, 'error').pipe( - switchMap(err => { - // Disconnect provider if API initialization fails - apiRx.disconnect(); - - return throwError(new Error('Connection fail')); - }) - ); - const api$ = (apiRx.isReady as unknown) as Observable; - // api$.subscribe(api => api.decorateCennznetExtrinsics()); - - return timeoutMs === 0 - ? race(api$, rejectError) - : race(api$.pipe(timeout(timeoutMs || DEFAULT_TIMEOUT)), rejectError); + return observable.pipe(timeout(getTimeout(options))); } get tx(): SubmittableExtrinsics<'rxjs'> { @@ -64,8 +64,8 @@ export class ApiRx extends ApiRxBase { } options.metadata = Object.assign(staticMetadata, options.metadata); options.types = { ...options.types, ...Types }; - options.derives = mergeDeriveOptions(derives as any, options.derives); - options.rpc = { ...(rpc as any), ...options.rpc }; + options.derives = mergeDeriveOptions(derives, options.derives); + options.rpc = { ...rpc, ...options.rpc }; super(options as ApiOptionsBase); } diff --git a/packages/api/src/derives/attestation/attestation.e2e.ts b/packages/api/src/derives/attestation/attestation.e2e.ts index dbce4f197..e34d7cbcb 100644 --- a/packages/api/src/derives/attestation/attestation.e2e.ts +++ b/packages/api/src/derives/attestation/attestation.e2e.ts @@ -13,7 +13,6 @@ // limitations under the License. import { Api } from '@cennznet/api'; -import { AttestationValue, TypeRegistry } from '@cennznet/types'; import { KeyringPair } from '@polkadot/keyring/types'; import testKeyring from '@polkadot/keyring/testing'; import initApiPromise from '../../../../../jest/initApiPromise'; @@ -23,16 +22,9 @@ const issuerUri = '//Alice'; const issuer2Uri = '//Bob'; const holderUri = '//Charlie'; -const topic = 'passport'; -const registry = new TypeRegistry(); -// hex of string 'identity' -const attestationValue = new AttestationValue(registry, '0x6964656e74697479'); - -const topic2 = 'over18'; -const attestationValue2 = new AttestationValue(registry, '0x12121212121234a1'); - let api: Api; let issuer, issuer2, holder: KeyringPair; +let attestationValue, attestationValue2, topic, topic2; beforeAll(async () => { await cryptoWaitReady(); @@ -42,6 +34,10 @@ beforeAll(async () => { issuer = simpleKeyring.addFromUri(issuerUri); issuer2 = simpleKeyring.addFromUri(issuer2Uri); holder = simpleKeyring.addFromUri(holderUri); + attestationValue = api.registry.createType('AttestationValue', '0x6964656e74697479'); + attestationValue2 = api.registry.createType('AttestationValue', '0x12121212121234a1'); + topic = api.registry.createType('AttestationTopic', '0x70617373706f7274'); // hex for passport + topic2 = api.registry.createType('AttestationTopic', '0x6f7665723138'); // hex for over18 }); afterAll(async () => { @@ -63,7 +59,7 @@ describe('Attestation APIs', () => { // Expect issuers to match expect(data[1].toString()).toBe(issuer.address); // expect topic to match - expect(data[2].toString()).toEqual(topic); + expect(data[2].toHex()).toEqual(topic.toHex()); expect(data[3].toHex()).toBe(attestationValue.toHex()); done(); } @@ -73,8 +69,7 @@ describe('Attestation APIs', () => { }); it('should create a claim with a u8a', async done => { - const otherTopic = 'randomTopic'; - + const otherTopic = api.registry.createType('AttestationTopic', '0x72616e646f6d546f706963'); // hex for randomTopic await api.tx.attestation .setClaim(holder.address, otherTopic, attestationValue.toU8a()) .signAndSend(issuer, async ({ events, status }) => { @@ -87,7 +82,7 @@ describe('Attestation APIs', () => { // Expect issuers to match expect(data[1].toString()).toBe(issuer.address); // expect topic to match - expect(data[2].toString()).toEqual(otherTopic); + expect(data[2].toHex()).toEqual(otherTopic.toHex()); expect(data[3].toHex()).toBe(attestationValue.toHex()); done(); } @@ -120,7 +115,7 @@ describe('Attestation APIs', () => { // Expect issuers to match expect(data[1].toString()).toBe(issuer.address); // expect topic to match - expect(data[2].toString()).toEqual(topic); + expect(data[2].toHex()).toEqual(topic.toHex()); expect(data[3].toHex()).toBe(attestationValue.toHex()); done(); } @@ -142,7 +137,7 @@ describe('Attestation APIs', () => { // Expect issuers to match expect(data[1].toString()).toBe(issuer.address); // expect topic to match - expect(data[2].toString()).toEqual(topic2); + expect(data[2].toHex()).toEqual(topic2.toHex()); expect(data[3].toHex()).toBe(attestationValue2.toHex()); done(); } @@ -164,8 +159,8 @@ describe('Attestation APIs', () => { // Expect issuers to match expect(data[1].toString()).toBe(issuer2.address); // expect topic to match - expect(data[2].toString()).toEqual(topic); - expect(data[3].toString()).toBe(attestationValue.toHex()); + expect(data[2].toHex()).toEqual(topic.toHex()); + expect(data[3].toHex()).toBe(attestationValue.toHex()); done(); } } @@ -186,8 +181,8 @@ describe('Attestation APIs', () => { // Expect issuers to match expect(data[1].toString()).toBe(issuer2.address); // expect topic to match - expect(data[2].toString().toString()).toEqual(topic2); - expect(data[3].toString()).toBe(attestationValue2.toHex()); + expect(data[2].toHex()).toEqual(topic2.toHex()); + expect(data[3].toHex()).toBe(attestationValue2.toHex()); done(); } } @@ -234,7 +229,7 @@ describe('Attestation APIs', () => { // Expect issuers to match expect(data[1].toString()).toBe(issuer.address); // expect topic to match - expect(data[2].toString()).toEqual(topic); + expect(data[2].toHex()).toEqual(topic.toHex()); expect(data[3].toHex()).toBe(attestationValue.toHex()); done(); } @@ -255,7 +250,7 @@ describe('Attestation APIs', () => { // Expect issuers to match expect(data[1].toString()).toBe(issuer.address); // expect topic to match - expect(data[2].toString()).toEqual(topic); + expect(data[2].toHex()).toEqual(topic.toHex()); done(); } } diff --git a/packages/api/src/derives/attestation/attestationRx.e2e.ts b/packages/api/src/derives/attestation/attestationRx.e2e.ts index 3fbdf80e0..49a7bbcef 100644 --- a/packages/api/src/derives/attestation/attestationRx.e2e.ts +++ b/packages/api/src/derives/attestation/attestationRx.e2e.ts @@ -15,7 +15,6 @@ import { filter, first } from 'rxjs/operators'; import { ApiRx } from '@cennznet/api'; -import { AttestationValue, H256, TypeRegistry } from '@cennznet/types'; import testKeyring from '@polkadot/keyring/testing'; import { KeyringPair } from '@polkadot/keyring/types'; import { cryptoWaitReady } from '@polkadot/util-crypto'; @@ -26,16 +25,9 @@ const issuerUri = '//Alice'; const issuer2Uri = '//Bob'; const holderUri = '//Charlie'; -const topic = 'passport'; -// hex of string 'identity' -const registry = new TypeRegistry(); -const attestationValue = new AttestationValue(registry, '0x6964656e74697479'); - -const topic2 = 'over18'; -const attestationValue2 = new AttestationValue(registry, '0x12121212121234a1'); - let api: ApiRx; let issuer, issuer2, holder: KeyringPair; +let attestationValue, attestationValue2, topic, topic2; beforeAll(async () => { await cryptoWaitReady(); @@ -46,6 +38,10 @@ beforeAll(async () => { issuer = simpleKeyring.addFromUri(issuerUri); issuer2 = simpleKeyring.addFromUri(issuer2Uri); holder = simpleKeyring.addFromUri(holderUri); + attestationValue = api.registry.createType('AttestationValue', '0x6964656e74697479'); + attestationValue2 = api.registry.createType('AttestationValue', '0x12121212121234a1'); + topic = api.registry.createType('AttestationTopic', '0x70617373706f7274'); // hex for passport + topic2 = api.registry.createType('AttestationTopic', '0x6f7665723138'); // hex for over18 }); afterAll(async () => { @@ -74,8 +70,8 @@ describe('AttestationRx APIs', () => { // Expect issuers to match expect(data[1].toString()).toBe(issuer.address); // expect topic to match - expect(data[2].toString()).toEqual(topic); - expect(data[3].toString()).toBe(attestationValue.toHex()); + expect(data[2].toHex()).toEqual(topic.toHex()); + expect(data[3].toHex()).toBe(attestationValue.toHex()); done(); } } @@ -116,8 +112,8 @@ describe('AttestationRx APIs', () => { // Expect issuers to match expect(data[1].toString()).toBe(issuer.address); // expect topic to match - expect(data[2].toString()).toEqual(topic); - expect(data[3].toString()).toBe(attestationValue.toHex()); + expect(data[2].toHex()).toEqual(topic.toHex()); + expect(data[3].toHex()).toBe(attestationValue.toHex()); done(); } } @@ -143,8 +139,8 @@ describe('AttestationRx APIs', () => { // Expect issuers to match expect(data[1].toString()).toBe(issuer.address); // expect topic to match - expect(data[2].toString()).toEqual(topic2); - expect(data[3].toString()).toBe(attestationValue2.toHex()); + expect(data[2].toHex()).toEqual(topic2.toHex()); + expect(data[3].toHex()).toBe(attestationValue2.toHex()); done(); } } @@ -170,8 +166,8 @@ describe('AttestationRx APIs', () => { // Expect issuers to match expect(data[1].toString()).toBe(issuer2.address); // expect topic to match - expect(data[2].toString()).toEqual(topic); - expect(data[3].toString()).toBe(attestationValue.toHex()); + expect(data[2].toHex()).toEqual(topic.toHex()); + expect(data[3].toHex()).toBe(attestationValue.toHex()); done(); } } @@ -197,8 +193,8 @@ describe('AttestationRx APIs', () => { // Expect issuers to match expect(data[1].toString()).toBe(issuer2.address); // expect topic to match - expect(data[2].toString()).toEqual(topic2); - expect(data[3].toString()).toBe(attestationValue2.toHex()); + expect(data[2].toHex()).toEqual(topic2.toHex()); + expect(data[3].toHex()).toBe(attestationValue2.toHex()); done(); } } @@ -255,7 +251,7 @@ describe('AttestationRx APIs', () => { // Expect issuers to match expect(data[1].toString()).toBe(issuer.address); // expect topic to match - expect(data[2].toString()).toEqual(topic); + expect(data[2].toHex()).toEqual(topic.toHex()); done(); } } diff --git a/packages/api/src/derives/attestation/getClaim.ts b/packages/api/src/derives/attestation/getClaim.ts index c36f0180b..aad63227c 100644 --- a/packages/api/src/derives/attestation/getClaim.ts +++ b/packages/api/src/derives/attestation/getClaim.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -16,7 +16,7 @@ import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; import { ApiInterfaceRx } from '@cennznet/api/types'; -import { AttestationValue } from '@cennznet/types'; +import { AttestationValue } from '@cennznet/types/interfaces/attestation'; import { drr } from '@polkadot/rpc-core/rxjs'; import { Claim } from './types'; @@ -30,7 +30,7 @@ import { Claim } from './types'; * * @returns the claim */ -export function getClaim(api: ApiInterfaceRx) { +export function getClaim(instanceId: string, api: ApiInterfaceRx) { return (holder: string, issuer: string, topic: string): Observable => api.query.attestation .values([holder, issuer, topic]) diff --git a/packages/api/src/derives/attestation/getClaims.ts b/packages/api/src/derives/attestation/getClaims.ts index b202869c4..71582f6b3 100644 --- a/packages/api/src/derives/attestation/getClaims.ts +++ b/packages/api/src/derives/attestation/getClaims.ts @@ -26,10 +26,10 @@ import { getClaim } from './getClaim'; * @param issuers A list of claim issuer addresses to include * @param topics A list of claim topics to include */ -export function getClaims(api: ApiInterfaceRx) { +export function getClaims(instanceId: string, api: ApiInterfaceRx) { return (holder: string, issuers: Array, topics: Array): Observable => { const observables = issuers.reduce((prev, issuer) => { - prev.push(...topics.map(topic => getClaim(api)(holder, issuer, topic))); + prev.push(...topics.map(topic => getClaim(instanceId, api)(holder, issuer, topic))); return prev; }, [] as Observable[]); diff --git a/packages/api/src/derives/attestation/index.ts b/packages/api/src/derives/attestation/index.ts index dd70850c3..f90ad29d7 100644 --- a/packages/api/src/derives/attestation/index.ts +++ b/packages/api/src/derives/attestation/index.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/api/src/derives/attestation/types.ts b/packages/api/src/derives/attestation/types.ts index 85ea1efbe..e3d69b03d 100644 --- a/packages/api/src/derives/attestation/types.ts +++ b/packages/api/src/derives/attestation/types.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { AttestationValue } from '@cennznet/types'; +import { AttestationValue } from '@cennznet/types/interfaces/attestation'; /** * A cryptographic claim about a holder address made by another issuing address. diff --git a/packages/api/src/derives/cennzx/assetWithdrawn.ts b/packages/api/src/derives/cennzx/assetWithdrawn.ts index 883f7488f..e63d8dcbc 100644 --- a/packages/api/src/derives/cennzx/assetWithdrawn.ts +++ b/packages/api/src/derives/cennzx/assetWithdrawn.ts @@ -13,8 +13,7 @@ // limitations under the License. import { ApiInterfaceRx } from '@cennznet/api/types'; -import { AnyAssetId, AnyNumber } from '@cennznet/types/types'; -import { Hash } from '@cennznet/types/interfaces'; +import { AnyAssetId, AnyNumber, Hash } from '@cennznet/types'; import BN from 'bn.js'; import { combineLatest, Observable } from 'rxjs'; import { map } from 'rxjs/operators'; @@ -27,15 +26,20 @@ import { totalLiquidity, totalLiquidityAt } from './totalLiquidity'; * @param assetId * @param liquidty */ -export function assetToWithdraw(api: ApiInterfaceRx) { +export function assetToWithdraw(instanceId: string, api: ApiInterfaceRx) { return (assetId: AnyAssetId, liquidity: AnyNumber): Observable<{ coreAmount: BN; assetAmount: BN }> => { return combineLatest([ - poolAssetBalance(api)(assetId), - poolCoreAssetBalance(api)(assetId), - totalLiquidity(api)(assetId), + poolAssetBalance(instanceId, api)(assetId), + poolCoreAssetBalance(instanceId, api)(assetId), + totalLiquidity(instanceId, api)(assetId), ]).pipe( map(([tradeAssetReserve, coreAssetReserve, totalLiquidity]) => - getAssetToWithdraw(new BN(liquidity), coreAssetReserve as any, tradeAssetReserve as any, totalLiquidity as any) + getAssetToWithdraw( + new BN(liquidity.toString()), + new BN(coreAssetReserve.toString()), + new BN(tradeAssetReserve.toString()), + new BN(totalLiquidity.toString()) + ) ) ); }; @@ -47,15 +51,20 @@ export function assetToWithdraw(api: ApiInterfaceRx) { * @param assetId * @param liquidty */ -export function assetToWithdrawAt(api: ApiInterfaceRx) { +export function assetToWithdrawAt(instanceId: string, api: ApiInterfaceRx) { return (hash: Hash, assetId: AnyAssetId, liquidity: AnyNumber): Observable<{ coreAmount: BN; assetAmount: BN }> => { return combineLatest([ - poolAssetBalanceAt(api)(hash, assetId), - poolCoreAssetBalanceAt(api)(hash, assetId), - totalLiquidityAt(api)(hash, assetId), + poolAssetBalanceAt(instanceId, api)(hash, assetId), + poolCoreAssetBalanceAt(instanceId, api)(hash, assetId), + totalLiquidityAt(instanceId, api)(hash, assetId), ]).pipe( map(([tradeAssetReserve, coreAssetReserve, totalLiquidity]) => - getAssetToWithdraw(new BN(liquidity), coreAssetReserve as any, tradeAssetReserve as any, totalLiquidity as any) + getAssetToWithdraw( + new BN(liquidity.toString()), + new BN(coreAssetReserve.toString()), + new BN(tradeAssetReserve.toString()), + new BN(totalLiquidity.toString()) + ) ) ); }; diff --git a/packages/api/src/derives/cennzx/cennzxTrade.e2e.ts b/packages/api/src/derives/cennzx/cennzxTrade.e2e.ts index 90d7d10fe..33cfec120 100644 --- a/packages/api/src/derives/cennzx/cennzxTrade.e2e.ts +++ b/packages/api/src/derives/cennzx/cennzxTrade.e2e.ts @@ -50,19 +50,14 @@ describe('Cennzx Operations', () => { // Create a new Asset 'A' and add liquidity to it // Amount of test asset - 'A' to create const initialIssuance = 900_000_000_000; + const owner = api.registry.createType('Owner', 0); // Owner type is enum with 0 as none/null + const permissions = api.registry.createType('PermissionsV1', { update: owner, mint: owner, burn: owner }); + const option = { initialIssuance, permissions }; + const assetOption: AssetOptions = api.registry.createType('AssetOptions', option); + const assetInfo: AssetInfo = api.registry.createType('AssetInfo', { symbol: 'A', decimalPlaces: 18 }); + const createAssetTx1 = api.tx.genericAsset.create(alice.address, assetOption, assetInfo); - const createAssetTx1 = api.tx.genericAsset.create( - alice.address, - new AssetOptions(api.registry, { - initialIssuance, - permissions: { - update: alice.address, - }, - }), - new AssetInfo(api.registry, { symbol: 'A', decimalPlaces: 18 }) - ); - - nonce = await api.query.system.accountNonce(sudoKeypair.address); + nonce = await api.rpc.system.accountNextIndex(sudoKeypair.address); // when the new asset is created it will have this ID. assetA = await api.query.genericAsset.nextAssetId(); // Create new asset @@ -101,11 +96,12 @@ describe('Cennzx Operations', () => { it("Add liquidity for tradeAsset 'B' to the pool", async done => { // Amount of test asset - 'B' to create const initialIssuance = 900_000_000_00; - const createAssetTx2 = api.tx.genericAsset.create( - bob.address, - new AssetOptions(api.registry, { initialIssuance, permissions: { update: bob.address } }), - new AssetInfo(api.registry, { symbol: 'B', decimalPlaces: 18 }) - ); + const owner = api.registry.createType('Owner', 0); // Owner type is enum with 0 as none/null + const permissions = api.registry.createType('PermissionsV1', { update: owner, mint: owner, burn: owner }); + const option = { initialIssuance, permissions }; + const assetOption: AssetOptions = api.registry.createType('AssetOptions', option); + const assetInfo: AssetInfo = api.registry.createType('AssetInfo', { symbol: 'B', decimalPlaces: 18 }); + const createAssetTx2 = api.tx.genericAsset.create(bob.address, assetOption, assetInfo); // when the new asset is created it will have this ID. assetB = await api.query.genericAsset.nextAssetId(); // Create new asset @@ -157,7 +153,7 @@ describe('Cennzx Operations', () => { .signAndSend(alice, async ({ events, status }) => { if (status.isFinalized && events !== undefined) { for (const { event } of events) { - if (event.method === 'AssetPurchase') { + if (event.method === 'AssetBought') { // check if ExtrinsicFailed or successful const price = event.data[3]; expect(price.eq(expectedPrice)).toBeTruthy(); @@ -181,7 +177,7 @@ describe('Cennzx Operations', () => { .signAndSend(alice, async ({ events, status }) => { if (status.isFinalized && events !== undefined) { for (const { event } of events) { - if (event.method === 'AssetPurchase') { + if (event.method === 'AssetBought') { // check if ExtrinsicFailed or successful const price = event.data[3]; expect(price.eq(expectedPrice)).toBeTruthy(); @@ -204,7 +200,7 @@ describe('Cennzx Operations', () => { .signAndSend(alice, async ({ events, status }) => { if (status.isFinalized && events !== undefined) { for (const { event } of events) { - if (event.method === 'AssetPurchase') { + if (event.method === 'AssetSold') { // check if ExtrinsicFailed or successful const sellValue = event.data[4]; expect(sellValue.eq(expectedAssetPrice)).toBeTruthy(); @@ -228,7 +224,7 @@ describe('Cennzx Operations', () => { .signAndSend(alice, async ({ events, status }) => { if (status.isFinalized && events !== undefined) { for (const { event } of events) { - if (event.method === 'AssetPurchase') { + if (event.method === 'AssetSold') { // check if ExtrinsicFailed or successful const sellValue = event.data[4]; expect(sellValue.eq(expectedPrice)).toBeTruthy(); @@ -255,7 +251,7 @@ describe('Cennzx Operations', () => { .signAndSend(alice, async ({ events, status }) => { if (status.isFinalized && events !== undefined) { for (const { event } of events) { - if (event.method === 'AssetPurchase') { + if (event.method === 'AssetSold') { // check if ExtrinsicFailed or successful const sellValue = event.data[4]; expect(sellValue.eq(expectedCorePrice)).toBeTruthy(); @@ -279,7 +275,7 @@ describe('Cennzx Operations', () => { .signAndSend(alice, async ({ events, status }) => { if (status.isFinalized && events !== undefined) { for (const { event } of events) { - if (event.method === 'AssetPurchase') { + if (event.method === 'AssetSold') { // check if ExtrinsicFailed or successful const sellValue = event.data[4]; expect(sellValue.eq(expectedPrice)).toBeTruthy(); @@ -308,7 +304,7 @@ describe('Cennzx Operations', () => { .signAndSend(alice, async ({ events, status }) => { if (status.isFinalized && events !== undefined) { for (const { event } of events) { - if (event.method === 'AssetPurchase') { + if (event.method === 'AssetBought') { // check if ExtrinsicFailed or successful const price = event.data[3]; expect(price.eq(expectedAssetPrice)).toBeTruthy(); @@ -337,7 +333,7 @@ describe('Cennzx Operations', () => { .signAndSend(alice, async ({ events, status }) => { if (status.isFinalized && events !== undefined) { for (const { event } of events) { - if (event.method === 'AssetPurchase') { + if (event.method === 'AssetBought') { // check if ExtrinsicFailed or successful const price = event.data[3]; expect(price.eq(expectedPrice)).toBeTruthy(); @@ -365,7 +361,7 @@ describe('Cennzx Operations', () => { .signAndSend(alice, async ({ events, status }) => { if (status.isFinalized && events !== undefined) { for (const { event } of events) { - if (event.method === 'AssetPurchase') { + if (event.method === 'AssetBought') { // check if ExtrinsicFailed or successful const price = event.data[3]; expect(price.eq(expectedPrice)).toBeTruthy(); @@ -390,7 +386,7 @@ describe('Cennzx Operations', () => { .signAndSend(alice, async ({ events, status }) => { if (status.isFinalized && events !== undefined) { for (const { event } of events) { - if (event.method === 'AssetPurchase') { + if (event.method === 'AssetBought') { // check if ExtrinsicFailed or successful const price = event.data[3]; expect(price.eq(expectedPrice)).toBeTruthy(); @@ -417,7 +413,7 @@ describe('Cennzx Operations', () => { .signAndSend(alice, async ({ events, status }) => { if (status.isFinalized && events !== undefined) { for (const { event } of events) { - if (event.method === 'AssetPurchase') { + if (event.method === 'AssetSold') { //check if ExtrinsicFailed or successful const sellValue = event.data[4]; expect(sellValue.eq(expectedPrice)).toBeTruthy(); @@ -441,7 +437,7 @@ describe('Cennzx Operations', () => { .signAndSend(alice, async ({ events, status }) => { if (status.isFinalized && events !== undefined) { for (const { event } of events) { - if (event.method === 'AssetPurchase') { + if (event.method === 'AssetSold') { //check if ExtrinsicFailed or successful const sellValue = event.data[4]; expect(sellValue.eq(expectedPrice)).toBeTruthy(); diff --git a/packages/api/src/derives/cennzx/exchangeAddress.ts b/packages/api/src/derives/cennzx/exchangeAddress.ts index 33fa39528..a0fb01c05 100644 --- a/packages/api/src/derives/cennzx/exchangeAddress.ts +++ b/packages/api/src/derives/cennzx/exchangeAddress.ts @@ -13,7 +13,7 @@ // limitations under the License. import { ApiInterfaceRx } from '@cennznet/api/types'; -import { AnyAssetId } from '@cennznet/types/types'; +import { AnyAssetId } from '@cennznet/types'; import { drr } from '@polkadot/rpc-core/rxjs'; import { Observable } from 'rxjs'; import { first, map } from 'rxjs/operators'; @@ -24,9 +24,9 @@ import { coreAssetId } from './shared'; * Returns the exchange address for a given assetId @param assetId */ -export function exchangeAddress(api: ApiInterfaceRx) { +export function exchangeAddress(instanceId: string, api: ApiInterfaceRx) { return (assetId: AnyAssetId): Observable => - coreAssetId(api)().pipe( + coreAssetId(instanceId, api)().pipe( map(coreAssetId => generateExchangeAddress(api.registry, coreAssetId, assetId)), first(), drr() diff --git a/packages/api/src/derives/cennzx/liquidityBalance.ts b/packages/api/src/derives/cennzx/liquidityBalance.ts index b026f9cb1..ac72f7d31 100644 --- a/packages/api/src/derives/cennzx/liquidityBalance.ts +++ b/packages/api/src/derives/cennzx/liquidityBalance.ts @@ -13,9 +13,8 @@ // limitations under the License. import { ApiInterfaceRx } from '@cennznet/api/types'; -import { AnyAddress, AnyAssetId } from '@cennznet/types/types'; +import { AnyAddress, AnyAssetId, Balance, Hash } from '@cennznet/types'; import { drr } from '@polkadot/rpc-core/rxjs'; -import { Balance, Hash } from '@cennznet/types/interfaces'; import BN from 'bn.js'; import { Observable } from 'rxjs'; import { switchMap } from 'rxjs/operators'; @@ -27,9 +26,9 @@ import { coreAssetId, coreAssetIdAt } from './shared'; * @param assetId * @param address */ -export function liquidityBalance(api: ApiInterfaceRx) { +export function liquidityBalance(instanceId: string, api: ApiInterfaceRx) { return (assetId: AnyAssetId, address: AnyAddress): Observable => { - return coreAssetId(api)().pipe( + return coreAssetId(instanceId, api)().pipe( switchMap( coreAssetId => api.query.cennzx.liquidityBalance(getExchangeKey(api.registry, coreAssetId, assetId), address) as Observable< @@ -47,9 +46,12 @@ export function liquidityBalance(api: ApiInterfaceRx) { * @param assetId * @param address */ -export function liquidityBalanceAt(api: ApiInterfaceRx) { +export function liquidityBalanceAt(instanceId: string, api: ApiInterfaceRx) { return (hash: Hash, assetId: AnyAssetId, address: AnyAddress): Observable => { - return coreAssetIdAt(api)(hash).pipe( + return coreAssetIdAt( + instanceId, + api + )(hash).pipe( switchMap( coreAssetId => api.query.cennzx.liquidityBalance.at( diff --git a/packages/api/src/derives/cennzx/poolBalance.ts b/packages/api/src/derives/cennzx/poolBalance.ts index a232f36b2..2becc0dff 100644 --- a/packages/api/src/derives/cennzx/poolBalance.ts +++ b/packages/api/src/derives/cennzx/poolBalance.ts @@ -13,9 +13,8 @@ // limitations under the License. import { ApiInterfaceRx } from '@cennznet/api/types'; -import { AnyAssetId } from '@cennznet/types/types'; +import { AnyAssetId, Balance, Hash } from '@cennznet/types'; import { drr } from '@polkadot/rpc-core/rxjs'; -import { Hash } from '@cennznet/types/interfaces'; import { combineLatest, Observable } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import { exchangeAddress } from './exchangeAddress'; @@ -24,9 +23,12 @@ import { exchangeAddress } from './exchangeAddress'; * Returns the amount of asset in the exchange * @param assetId */ -export function poolAssetBalance(api: ApiInterfaceRx) { - return (assetId: AnyAssetId): Observable => { - return exchangeAddress(api)(assetId).pipe( +export function poolAssetBalance(instanceId: string, api: ApiInterfaceRx) { + return (assetId: AnyAssetId): Observable => { + return exchangeAddress( + instanceId, + api + )(assetId).pipe( switchMap(exchangeAddress => api.query.genericAsset.freeBalance(assetId, exchangeAddress)), drr() ); @@ -37,9 +39,9 @@ export function poolAssetBalance(api: ApiInterfaceRx) { * Returns the amount of core asset in the exchange for the asset * @param assetId */ -export function poolCoreAssetBalance(api: ApiInterfaceRx) { - return (assetId: AnyAssetId): Observable => { - return combineLatest([exchangeAddress(api)(assetId), api.query.cennzx.coreAssetId()]).pipe( +export function poolCoreAssetBalance(instanceId: string, api: ApiInterfaceRx) { + return (assetId: AnyAssetId): Observable => { + return combineLatest([exchangeAddress(instanceId, api)(assetId), api.query.cennzx.coreAssetId()]).pipe( switchMap(([exchangeAddress, coreAssetId]) => api.query.genericAsset.freeBalance(coreAssetId, exchangeAddress)), drr() ); @@ -51,9 +53,12 @@ export function poolCoreAssetBalance(api: ApiInterfaceRx) { * @param hash - blockHash * @param assetId */ -export function poolAssetBalanceAt(api: ApiInterfaceRx) { - return (hash: Hash, assetId: AnyAssetId): Observable => { - return exchangeAddress(api)(assetId).pipe( +export function poolAssetBalanceAt(instanceId: string, api: ApiInterfaceRx) { + return (hash: Hash, assetId: AnyAssetId): Observable => { + return exchangeAddress( + instanceId, + api + )(assetId).pipe( switchMap(exchangeAddress => api.query.genericAsset.freeBalance.at(hash, assetId, exchangeAddress)), drr() ); @@ -65,9 +70,9 @@ export function poolAssetBalanceAt(api: ApiInterfaceRx) { * @param hash - blockHash * @param assetId */ -export function poolCoreAssetBalanceAt(api: ApiInterfaceRx) { - return (hash: Hash, assetId: AnyAssetId): Observable => { - return combineLatest([exchangeAddress(api)(assetId), api.query.cennzx.coreAssetId()]).pipe( +export function poolCoreAssetBalanceAt(instanceId: string, api: ApiInterfaceRx) { + return (hash: Hash, assetId: AnyAssetId): Observable => { + return combineLatest([exchangeAddress(instanceId, api)(assetId), api.query.cennzx.coreAssetId()]).pipe( switchMap(([exchangeAddress, coreAssetId]) => api.query.genericAsset.freeBalance.at(hash, coreAssetId, exchangeAddress) ), diff --git a/packages/api/src/derives/cennzx/shared.ts b/packages/api/src/derives/cennzx/shared.ts index 78c230de5..256767a83 100644 --- a/packages/api/src/derives/cennzx/shared.ts +++ b/packages/api/src/derives/cennzx/shared.ts @@ -13,24 +13,23 @@ // limitations under the License. import { ApiInterfaceRx } from '@cennznet/api/types'; -import { AssetId } from '@cennznet/types'; import { drr } from '@polkadot/rpc-core/rxjs'; -import { Hash, Permill } from '@cennznet/types/interfaces'; +import { u32, Hash, Permill } from '@cennznet/types'; import { Observable } from 'rxjs'; -export function coreAssetId(api: ApiInterfaceRx) { - return (): Observable => api.query.cennzx.coreAssetId().pipe(drr()) as Observable; +export function coreAssetId(instanceId: string, api: ApiInterfaceRx) { + return (): Observable => api.query.cennzx.coreAssetId().pipe(drr()) as Observable; } -export function coreAssetIdAt(api: ApiInterfaceRx) { - return (hash: Hash): Observable => api.query.cennzx.coreAssetId.at(hash).pipe(drr()) as Observable; +export function coreAssetIdAt(instanceId: string, api: ApiInterfaceRx) { + return (hash: Hash): Observable => api.query.cennzx.coreAssetId.at(hash).pipe(drr()) as Observable; } -export function defaultFeeRate(api: ApiInterfaceRx) { +export function defaultFeeRate(instanceId: string, api: ApiInterfaceRx) { return (): Observable => api.query.cennzx.defaultFeeRate().pipe(drr()) as Observable; } -export function defaultFeeRateAt(api: ApiInterfaceRx) { +export function defaultFeeRateAt(instanceId: string, api: ApiInterfaceRx) { return (hash: Hash): Observable => api.query.cennzx.defaultFeeRate.at(hash).pipe(drr()) as Observable; } diff --git a/packages/api/src/derives/cennzx/totalLiquidity.ts b/packages/api/src/derives/cennzx/totalLiquidity.ts index ff9f0bb23..65da771f0 100644 --- a/packages/api/src/derives/cennzx/totalLiquidity.ts +++ b/packages/api/src/derives/cennzx/totalLiquidity.ts @@ -13,8 +13,7 @@ // limitations under the License. import { ApiInterfaceRx } from '@cennznet/api/types'; -import { AnyAssetId } from '@cennznet/types/types'; -import { Hash } from '@cennznet/types/interfaces'; +import { AnyAssetId, Hash } from '@cennznet/types'; import BN from 'bn.js'; import { Observable } from 'rxjs'; import { switchMap } from 'rxjs/operators'; @@ -25,9 +24,9 @@ import { coreAssetId, coreAssetIdAt } from './shared'; * Returns the total liqudity in the exchange for the asset * @param assetId */ -export function totalLiquidity(api: ApiInterfaceRx) { +export function totalLiquidity(instanceId: string, api: ApiInterfaceRx) { return (assetId: AnyAssetId): Observable => { - return coreAssetId(api)().pipe( + return coreAssetId(instanceId, api)().pipe( switchMap(coreAssetId => { const exchangeKey = getExchangeKey(api.registry, coreAssetId, assetId); return (api.query.cennzx.totalLiquidity(exchangeKey) as unknown) as Observable; @@ -41,9 +40,12 @@ export function totalLiquidity(api: ApiInterfaceRx) { * @param hash - blockHash * @param assetId */ -export function totalLiquidityAt(api: ApiInterfaceRx) { +export function totalLiquidityAt(instanceId: string, api: ApiInterfaceRx) { return (hash: Hash, assetId: AnyAssetId): Observable => { - return coreAssetIdAt(api)(hash).pipe( + return coreAssetIdAt( + instanceId, + api + )(hash).pipe( switchMap(coreAssetId => { const exchangeKey = getExchangeKey(api.registry, coreAssetId, assetId); return (api.query.cennzx.totalLiquidity.at(hash, exchangeKey) as unknown) as Observable; diff --git a/packages/api/src/derives/cennzx/utils/index.ts b/packages/api/src/derives/cennzx/utils/index.ts index 877f71a78..fa59d6a25 100644 --- a/packages/api/src/derives/cennzx/utils/index.ts +++ b/packages/api/src/derives/cennzx/utils/index.ts @@ -11,9 +11,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. - -import { AssetId, createType, Tuple, u64 } from '@cennznet/types'; -import { AnyAssetId, AnyNumber, Registry } from '@cennznet/types/types'; +import { createType, Tuple, u64, u32, AnyAssetId, AnyNumber, Registry } from '@cennznet/types'; import { blake2AsU8a, stringToU8a, u8aConcat } from '@cennznet/util'; import BN from 'bn.js'; @@ -38,7 +36,7 @@ export function generateExchangeAddress(registry: Registry, coreAssetId: AnyNumb * @param assetId */ export function getExchangeKey(registry: Registry, coreAssetId: AnyAssetId, assetId: AnyNumber): Tuple { - return new Tuple(registry, [AssetId, AssetId], [coreAssetId, assetId]); + return new Tuple(registry, [u32, u32], [coreAssetId, assetId]); } /** @@ -48,7 +46,12 @@ export function getExchangeKey(registry: Registry, coreAssetId: AnyAssetId, asse * @param assetReserve * @param totalLiquidity */ -export function getAssetToWithdraw(liquidity: BN, coreReserve: BN, assetReserve: BN, totalLiquidity: BN) { +export function getAssetToWithdraw( + liquidity: BN, + coreReserve: BN, + assetReserve: BN, + totalLiquidity: BN +): { coreAmount: BN; assetAmount: BN } { if (liquidity.gt(totalLiquidity)) { throw new Error('Tried to overdraw liquidity'); } diff --git a/packages/api/src/derives/fees/estimateFee.ts b/packages/api/src/derives/fees/estimateFee.ts index 67354c85d..550d57fc9 100644 --- a/packages/api/src/derives/fees/estimateFee.ts +++ b/packages/api/src/derives/fees/estimateFee.ts @@ -1,10 +1,23 @@ +// Copyright 2019-2020 Centrality Investments Limited +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import { EstimateFeeParams } from '@cennznet/api/derives/types'; import { ApiInterfaceRx } from '@cennznet/api/types'; -import Extrinsic from '@cennznet/types/extrinsic/Extrinsic'; -import { generateTransactionPayment } from '@cennznet/types/runtime/transaction-payment/TransactionPayment'; +import Extrinsic from '@polkadot/types/extrinsic/Extrinsic'; import { drr } from '@polkadot/rpc-core/rxjs'; -import { TypeRegistry } from '@cennznet/types'; -import { RuntimeDispatchInfo } from '@cennznet/types/interfaces'; -import { ExtrinsicEra } from '@cennznet/types/primitive'; +import { TypeRegistry, RuntimeDispatchInfo, SignatureOptions, AssetId, Balance } from '@cennznet/types'; +import ExtrinsicEra from '@polkadot/types/extrinsic/ExtrinsicEra'; import BN from 'bn.js'; import { combineLatest, Observable, of } from 'rxjs'; import { catchError, first, map, switchMap } from 'rxjs/operators'; @@ -25,10 +38,10 @@ import { catchError, first, map, switchMap } from 'rxjs/operators'; // const maxPayment = 'xxx' // Max amount user is ok to pay in 'fee asset' // const feeFromQuery = await api.derive.fees.estimateFee({extrinsic, userFeeAssetId, maxPayment}) // this will only be successful if their is enough liquidity of users asset in exchange pool -export function estimateFee(api: ApiInterfaceRx) { +export function estimateFee(instanceId: string, api: ApiInterfaceRx) { // We generate fake signature data here to ensure the estimated fee will correctly match the fee paid when the extrinsic is signed by a user. // This is because fees are currently based on the byte length of the extrinsic - return ({ extrinsic, userFeeAssetId, maxPayment }): Observable => { + return ({ extrinsic, userFeeAssetId, maxPayment }: EstimateFeeParams): Observable => { return combineLatest([ api.rpc.state.getRuntimeVersion(), api.rpc.chain.getBlockHash(), @@ -37,7 +50,7 @@ export function estimateFee(api: ApiInterfaceRx) { ]).pipe( first(), switchMap( - ([runtimeVersion, blockHash, genesisHash, networkFeeAssetId]): Observable<[RuntimeDispatchInfo, any]> => { + ([runtimeVersion, blockHash, genesisHash, networkFeeAssetId]): Observable<[RuntimeDispatchInfo, AssetId]> => { const registry = new TypeRegistry(); const era = new ExtrinsicEra(registry, { current: 1, @@ -45,12 +58,16 @@ export function estimateFee(api: ApiInterfaceRx) { }); const nonce = null; const fake_sender = '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY'; - const transactionPayment = - userFeeAssetId.toString() === networkFeeAssetId.toString() - ? null - : generateTransactionPayment({ tip: 0, assetId: userFeeAssetId, maxPayment }); - const payload = { runtimeVersion, era, blockHash, genesisHash, nonce, transactionPayment }; - (extrinsic as Extrinsic).signFake(fake_sender, payload as any); + let payload; + if (userFeeAssetId.toString() === networkFeeAssetId.toString()) { + payload = { runtimeVersion, era, blockHash, genesisHash, nonce }; + } else { + const assetId = api.registry.createType('AssetId', userFeeAssetId); + const feeExchange = api.registry.createType('FeeExchange', { assetId, maxPayment }, 0); + const transactionPayment = api.registry.createType('ChargeTransactionPayment', { tip: 0, feeExchange }); + payload = { runtimeVersion, era, blockHash, genesisHash, nonce, transactionPayment }; + } + (extrinsic as Extrinsic).signFake(fake_sender, payload as SignatureOptions); return combineLatest([api.rpc.payment.queryInfo(extrinsic.toHex()), of(networkFeeAssetId)]); } ), @@ -63,7 +80,7 @@ export function estimateFee(api: ApiInterfaceRx) { } }), map((price: BN) => price), - catchError((err: any) => of(err)), + catchError((err: Error) => of(err)), map((err: Error) => err), drr() ); diff --git a/packages/api/src/derives/fees/index.ts b/packages/api/src/derives/fees/index.ts index 29167b269..451963cb0 100644 --- a/packages/api/src/derives/fees/index.ts +++ b/packages/api/src/derives/fees/index.ts @@ -1 +1,15 @@ +// Copyright 2019-2020 Centrality Investments Limited +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + export { estimateFee } from './estimateFee'; diff --git a/packages/api/src/derives/index.ts b/packages/api/src/derives/index.ts index 6103b69a7..4e2c69cb3 100644 --- a/packages/api/src/derives/index.ts +++ b/packages/api/src/derives/index.ts @@ -13,7 +13,7 @@ // limitations under the License. import { ApiTypes } from '@cennznet/api/types'; -import { AnyFunction } from '@cennznet/types/types'; +import { AnyFunction } from '@cennznet/types'; import { ApiInterfaceRx, MethodResult } from '@polkadot/api/types'; import { Observable } from 'rxjs'; import * as attestation from './attestation'; @@ -22,7 +22,7 @@ import * as fees from './fees'; import * as session from './session'; import * as staking from './staking'; -export type DeriveFunc = (api: ApiInterfaceRx) => (...args: any[]) => Observable; +export type DeriveFunc = (instanceId: string, api: ApiInterfaceRx) => (...args: any[]) => Observable; export const derive = { attestation, cennzx, fees, staking, session }; diff --git a/packages/api/src/derives/session/keyInfo.ts b/packages/api/src/derives/session/keyInfo.ts index fcbaea050..2f2c010ad 100644 --- a/packages/api/src/derives/session/keyInfo.ts +++ b/packages/api/src/derives/session/keyInfo.ts @@ -1,8 +1,6 @@ import { ApiInterfaceRx } from '@cennznet/api/types'; import { memo } from '@polkadot/api-derive/util'; -import { createType, Option, Vec } from '@cennznet/types'; -import { AccountId, Keys } from '@cennznet/types/interfaces'; -import { ITuple } from '@cennznet/types/types'; +import { createType, ITuple, Option, Vec, AccountId, Keys } from '@cennznet/types'; import { combineLatest, Observable, of } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import { DerivedSessionKeyInfo } from '../types'; @@ -38,8 +36,12 @@ function retrieveSessionDetails( /** * @description From a stash and sessions nextKeys, filter session and next session details */ -export function queryKeyInfo(api: ApiInterfaceRx): (accountId: Uint8Array) => Observable { +export function queryKeyInfo( + instanceId: string, + api: ApiInterfaceRx +): (accountId: Uint8Array) => Observable { return memo( + instanceId, (accountId: Uint8Array | string): Observable => { const stashId = createType(api.registry, 'AccountId', accountId); return retrieveSessionDetails(api, stashId).pipe( diff --git a/packages/api/src/derives/staking/index.ts b/packages/api/src/derives/staking/index.ts index f831a1126..f27e50b78 100644 --- a/packages/api/src/derives/staking/index.ts +++ b/packages/api/src/derives/staking/index.ts @@ -1,6 +1,5 @@ export { queryStakingAccountInfo as accountInfo } from './stakingAccount'; export * from '@polkadot/api-derive/staking/account'; -export * from '@polkadot/api-derive/staking/controllers'; export * from '@polkadot/api-derive/staking/electedInfo'; export * from '@polkadot/api-derive/staking/overview'; export * from '@polkadot/api-derive/staking/validators'; diff --git a/packages/api/src/derives/staking/stakingAccount.ts b/packages/api/src/derives/staking/stakingAccount.ts index f28f50089..f43c489af 100644 --- a/packages/api/src/derives/staking/stakingAccount.ts +++ b/packages/api/src/derives/staking/stakingAccount.ts @@ -3,15 +3,17 @@ import { map, switchMap } from 'rxjs/operators'; import { ApiInterfaceRx } from '@cennznet/api/types'; import { memo } from '@polkadot/api-derive/util'; -import { createType, Option, RewardDestination } from '@cennznet/types'; import { + createType, AccountId, Exposure, Keys, Nominations, + Option, + RewardDestination, StakingLedger, ValidatorPrefs, -} from '@cennznet/types/interfaces'; +} from '@cennznet/types'; import { DerivedStakingInfo } from '../types'; type MultiResultV2 = [ @@ -38,9 +40,11 @@ function retrieveStakingAccountDetails(api: ApiInterfaceRx, stashId: AccountId): * @description From a stash, retrieve the controller account ID and all relevant details */ export function queryStakingAccountInfo( + instanceId: string, api: ApiInterfaceRx ): (accountId: Uint8Array | string) => Observable { return memo( + instanceId, (accountId: Uint8Array | string): Observable => { const stashId = createType(api.registry, 'AccountId', accountId); diff --git a/packages/api/src/derives/types.ts b/packages/api/src/derives/types.ts index 4e3852fa2..41687d59e 100644 --- a/packages/api/src/derives/types.ts +++ b/packages/api/src/derives/types.ts @@ -1,5 +1,5 @@ -import { RewardDestination } from '@cennznet/types'; -import { AccountId, EraIndex, Exposure, Keys, StakingLedger, ValidatorPrefs } from '@cennznet/types/interfaces'; +import { AccountId, EraIndex, Exposure, Keys, StakingLedger, ValidatorPrefs, RewardDestination } from '@cennznet/types'; +import { ApiTypes, SubmittableExtrinsic } from '@cennznet/api/types'; export interface DerivedStakingInfo { accountId: AccountId; @@ -18,3 +18,9 @@ export interface DerivedSessionKeyInfo { nextSessionKeys: AccountId[]; sessionKeys: AccountId[]; } + +export interface EstimateFeeParams { + extrinsic: SubmittableExtrinsic; + userFeeAssetId: string | number; + maxPayment?: string; +} diff --git a/packages/api/src/index.ts b/packages/api/src/index.ts index ba8e294fc..ca495be72 100644 --- a/packages/api/src/index.ts +++ b/packages/api/src/index.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/api/src/rpc/cennzx.ts b/packages/api/src/rpc/cennzx.ts index f8ec10ea0..65ee03774 100644 --- a/packages/api/src/rpc/cennzx.ts +++ b/packages/api/src/rpc/cennzx.ts @@ -1,51 +1,67 @@ -import { RpcMethodOpt } from '@polkadot/jsonrpc/types'; - -import createMethod from '@polkadot/jsonrpc/create/method'; -import createParam from '@polkadot/jsonrpc/create/param'; - -const buyPrice: RpcMethodOpt = { - description: 'Retrieves the CENNZX exchange buy price', - isOptional: true, - params: [ - createParam('AssetToBuy', 'AssetId'), - createParam('Amount', 'Balance'), - createParam('AssetToPay', 'AssetId'), - ], - type: 'Balance', +const cennzxRpc = { + buyPrice: { + description: 'Retrieves the spot exchange buy price', + params: [ + { + name: 'AssetToBuy', + type: 'AssetId', + }, + { + name: 'Amount', + type: 'Balance', + }, + { + name: 'AssetToPay', + type: 'AssetId', + }, + ], + type: 'u64', + }, + sellPrice: { + description: 'Retrieves the spot exchange sell price', + params: [ + { + name: 'AssetToSell', + type: 'AssetId', + }, + { + name: 'Amount', + type: 'Balance', + }, + { + name: 'AssetToPayout', + type: 'AssetId', + }, + ], + type: 'u64', + }, + liquidityPrice: { + description: 'Get the price of liquidity for the given asset ID', + params: [ + { + name: 'AssetId', + type: 'AssetId', + }, + { + name: 'liquidityToBuy', + type: 'Balance', + }, + ], + type: '(u64, u64)', + }, + liquidityValue: { + description: "Get the value of an account's liquidity for the given asset", + params: [ + { + name: 'AccountId', + type: 'Address', + }, + { + name: 'AssetId', + type: 'AssetId', + }, + ], + type: '(u64, u64, u64)', + }, }; - -const sellPrice: RpcMethodOpt = { - description: 'Retrieves the CENNZX exchange sell price', - isOptional: true, - params: [ - createParam('AssetToSell', 'AssetId'), - createParam('Amount', 'Balance'), - createParam('AssetToPayout', 'AssetId'), - ], - type: 'Balance', -}; - -// Returns the core asset price and investment asset's price for investment asset Id -const liquidityPrice: RpcMethodOpt = { - description: 'Get the price of liquidity for the given asset ID', - isOptional: true, - params: [createParam('AssetId', 'AssetId'), createParam('liquidityToBuy', 'Balance')], - type: '(Balance, Balance)' as any, -}; - -// Returns liquidity volume, core amount, asset amount for given asset -const liquidityValue: RpcMethodOpt = { - description: "Get the value of an account's liquidity for the given asset", - isOptional: true, - params: [createParam('AccountId', 'Address'), createParam('AssetId', 'AssetId')], - type: '(Balance, Balance, Balance)' as any, -}; - -const section = 'cennzx'; - -export default [ - { ...createMethod(section, 'buyPrice', buyPrice), name: 'buyPrice' }, - { ...createMethod(section, 'sellPrice', sellPrice), name: 'sellPrice' }, - { ...createMethod(section, 'liquidityPrice', liquidityPrice), name: 'liquidityPrice' }, - { ...createMethod(section, 'liquidityValue', liquidityValue), name: 'liquidityValue' }, -]; +export default cennzxRpc; diff --git a/packages/api/src/rpc/genericAsset.ts b/packages/api/src/rpc/genericAsset.ts index 94b48f830..c5728760f 100644 --- a/packages/api/src/rpc/genericAsset.ts +++ b/packages/api/src/rpc/genericAsset.ts @@ -1,14 +1,9 @@ -import { RpcMethodOpt } from '@polkadot/jsonrpc/types'; - -import createMethod from '@polkadot/jsonrpc/create/method'; - -const registeredAssets: RpcMethodOpt = { - description: 'Get all registered generic assets (symbol, decimal places)', - isOptional: true, - params: [], - type: 'Vec<(AssetId, AssetInfo)>', +const genericAssetRpc = { + registeredAssets: { + description: 'Get all registered generic assets (symbol, decimal places)', + params: [], + type: 'Vec<(AssetId, AssetInfo)>', + }, }; -const section = 'genericAsset'; - -export default [{ ...createMethod(section, 'registeredAssets', registeredAssets), name: 'registeredAssets' }]; +export default genericAssetRpc; diff --git a/packages/api/src/rpc/index.ts b/packages/api/src/rpc/index.ts index 78b14928e..7eb9d90fe 100644 --- a/packages/api/src/rpc/index.ts +++ b/packages/api/src/rpc/index.ts @@ -1,9 +1,9 @@ -import cennzx from './cennzx'; -import genericAsset from './genericAsset'; +import cennzxRpc from './cennzx'; +import genericAssetRpc from './genericAsset'; -const interfaces: Record = { - cennzx, - genericAsset, +const interfaces = { + cennzx: cennzxRpc, + genericAsset: genericAssetRpc, }; export default interfaces; diff --git a/packages/api/src/staticMetadata.ts b/packages/api/src/staticMetadata.ts index 07c816364..15d16158b 100644 --- a/packages/api/src/staticMetadata.ts +++ b/packages/api/src/staticMetadata.ts @@ -4,4 +4,6 @@ export default { '0x6d6574610b781853797374656d011853797374656d3c304163636f756e744e6f6e636501010230543a3a4163636f756e74496420543a3a496e64657800200000000000000000047c2045787472696e73696373206e6f6e636520666f72206163636f756e74732e3845787472696e736963436f756e7400000c753332040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e4c416c6c45787472696e73696373576569676874000018576569676874040004150120546f74616c2077656967687420666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e40416c6c45787472696e736963734c656e00000c753332040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b4861736801010538543a3a426c6f636b4e756d6265721c543a3a48617368008000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101050c7533321c5665633c75383e000400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010038543a3a426c6f636b4e756d6265721000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801001c543a3a4861736880000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e3845787472696e73696373526f6f7401001c543a3a486173688000000000000000000000000000000000000000000000000000000000000000000415012045787472696e7369637320726f6f74206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e1844696765737401002c4469676573744f663c543e040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301008c5665633c4576656e745265636f72643c543a3a4576656e742c20543a3a486173683e3e040004a0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e284576656e74436f756e740100284576656e74496e646578100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f706963730101021c543a3a48617368845665633c28543a3a426c6f636b4e756d6265722c204576656e74496e646578293e000400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000584c61737452756e74696d6555706772616465496e666f04000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e38457865637574696f6e50686173650000145068617365040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e01242866696c6c5f626c6f636b04185f726174696f1c50657262696c6c040901204120646973706174636820746861742077696c6c2066696c6c2074686520626c6f636b2077656967687420757020746f2074686520676976656e20726174696f2e1872656d61726b041c5f72656d61726b1c5665633c75383e046c204d616b6520736f6d65206f6e2d636861696e2072656d61726b2e387365745f686561705f7061676573041470616765730c75363404fc2053657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e207365745f636f64650410636f64651c5665633c75383e04682053657420746865206e65772072756e74696d6520636f64652e5c7365745f636f64655f776974686f75745f636865636b730410636f64651c5665633c75383e041d012053657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e5c7365745f6368616e6765735f747269655f636f6e666967044c6368616e6765735f747269655f636f6e666967804f7074696f6e3c4368616e67657354726965436f6e66696775726174696f6e3e04a02053657420746865206e6577206368616e676573207472696520636f6e66696775726174696f6e2e2c7365745f73746f7261676504146974656d73345665633c4b657956616c75653e046c2053657420736f6d65206974656d73206f662073746f726167652e306b696c6c5f73746f7261676504106b657973205665633c4b65793e0478204b696c6c20736f6d65206974656d732066726f6d2073746f726167652e2c6b696c6c5f70726566697804187072656669780c4b6579041501204b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e010c4045787472696e7369635375636365737304304469737061746368496e666f049420416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c6564083444697370617463684572726f72304469737061746368496e666f045420416e2065787472696e736963206661696c65642e2c436f64655570646174656400045420603a636f6465602077617320757064617465642e000c3c496e76616c6964537065634e616d6508150120546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e637265617365084501205468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e0cf0204661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e000d01204569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e1c5574696c697479011c5574696c69747904244d756c74697369677300020530543a3a4163636f756e744964205b75383b2033325dd04d756c74697369673c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e02040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e0114146261746368041463616c6c735c5665633c3c542061732054726169743e3a3a43616c6c3e48802053656e642061206261746368206f662064697370617463682063616c6c732e00ec20546869732077696c6c206578656375746520756e74696c20746865206669727374206f6e65206661696c7320616e64207468656e2073746f702e007c204d61792062652063616c6c65642066726f6d20616e79206f726967696e2e00f0202d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e002c2023203c7765696768743ea4202d205468652073756d206f66207468652077656967687473206f6620746865206063616c6c73602e34202d204f6e65206576656e742e302023203c2f7765696768743e00590120546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e3501206576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e20746865590120604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d616465510120616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c657465646050206576656e74206973206465706f73697465642e1861735f7375620814696e6465780c7531361063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e1ce02053656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e94202d2054686520776569676874206f6620746865206063616c6c60202b2031302c3030302e302023203c2f7765696768743e2061735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e1063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3ea4590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e00b42049662074686572652061726520656e6f7567682c207468656e206469737061746368207468652063616c6c2e005101205061796d656e743a20604d756c74697369674465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573610120607468726573686f6c64602074696d657320604d756c74697369674465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2e8c202d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e002101204e4f54453a20556e6c6573732074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2067656e6572616c6c792077616e7420746f207573651d012060617070726f76655f61735f6d756c74696020696e73746561642c2073696e6365206974206f6e6c7920726571756972657320612068617368206f66207468652063616c6c2e005d0120526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c7420696620607468726573686f6c64602069732065786163746c79206031602e204f74686572776973655901206f6e20737563636573732c20726573756c7420697320604f6b6020616e642074686520726573756c742066726f6d2074686520696e746572696f722063616c6c2c206966206974207761732065786563757465642ce0206d617920626520666f756e6420696e20746865206465706f736974656420604d756c7469736967457865637574656460206576656e742e002c2023203c7765696768743e54202d20604f2853202b205a202b2043616c6c29602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2e2501202d204f6e652063616c6c20656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285a296020776865726520605a602069732074782d6c656e2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e70202d2054686520776569676874206f6620746865206063616c6c602e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66f4202020604d756c74697369674465706f73697442617365202b207468726573686f6c64202a204d756c74697369674465706f736974466163746f72602e302023203c2f7765696768743e40617070726f76655f61735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e2463616c6c5f68617368205b75383b2033325d80590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e005101205061796d656e743a20604d756c74697369674465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573610120607468726573686f6c64602074696d657320604d756c74697369674465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e003901204e4f54453a2049662074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2077616e7420746f20757365206061735f6d756c74696020696e73746561642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66f4202020604d756c74697369674465706f73697442617365202b207468726573686f6c64202a204d756c74697369674465706f736974466163746f72602e302023203c2f7765696768743e3c63616e63656c5f61735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e2474696d65706f696e746454696d65706f696e743c543a3a426c6f636b4e756d6265723e2463616c6c5f68617368205b75383b2033325d5859012043616e63656c2061207072652d6578697374696e672c206f6e2d676f696e67206d756c7469736967207472616e73616374696f6e2e20416e79206465706f7369742072657365727665642070726576696f75736c79c820666f722074686973206f7065726174696f6e2077696c6c20626520756e7265736572766564206f6e20737563636573732e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e6101202d206074696d65706f696e74603a205468652074696d65706f696e742028626c6f636b206e756d62657220616e64207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c7c207472616e73616374696f6e20666f7220746869732064697370617463682ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602e34202d204f6e65206576656e742e88202d20492f4f3a2031207265616420604f285329602c206f6e652072656d6f76652e74202d2053746f726167653a2072656d6f766573206f6e65206974656d2e302023203c2f7765696768743e0118404261746368496e746572727570746564080c7533323444697370617463684572726f72085901204261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734c2077656c6c20617320746865206572726f722e384261746368436f6d706c657465640004cc204261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e2c4e65774d756c746973696708244163636f756e744964244163636f756e7449640849012041206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e20466972737420706172616d20697320746865206163636f756e74207468617420697320617070726f76696e672c80207365636f6e6420697320746865206d756c7469736967206163636f756e742e404d756c7469736967417070726f76616c0c244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449640859012041206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652e20466972737420706172616d20697320746865206163636f756e742074686174206973a820617070726f76696e672c20746869726420697320746865206d756c7469736967206163636f756e742e404d756c7469736967457865637574656410244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e744964384469737061746368526573756c74082d012041206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e20466972737420706172616d20697320746865206163636f756e742074686174206973a820617070726f76696e672c20746869726420697320746865206d756c7469736967206163636f756e742e444d756c746973696743616e63656c6c65640c244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449640831012041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e20466972737420706172616d20697320746865206163636f756e742074686174206973ac2063616e63656c6c696e672c20746869726420697320746865206d756c7469736967206163636f756e742e0030345a65726f5468726573686f6c640474205468726573686f6c6420697320746f6f206c6f7720287a65726f292e3c416c7265616479417070726f76656404b02043616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e656564656404a02043616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f7269657304ac2054686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f7269657304b02054686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f7264657204110120546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f72696573041101205468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e6404e0204d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e6572043101204f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e74042101204e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74043101204120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e7404f820412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e1042616265011042616265242845706f6368496e64657801000c75363420000000000000000004542043757272656e742065706f636820696e6465782e2c417574686f72697469657301009c5665633c28417574686f7269747949642c2042616265417574686f72697479576569676874293e0400046c2043757272656e742065706f636820617574686f7269746965732e2c47656e65736973536c6f7401000c75363420000000000000000008f82054686520736c6f74206174207768696368207468652066697273742065706f63682061637475616c6c7920737461727465642e205468697320697320309020756e74696c2074686520666972737420626c6f636b206f662074686520636861696e2e2c43757272656e74536c6f7401000c75363420000000000000000004542043757272656e7420736c6f74206e756d6265722e2852616e646f6d6e6573730100587363686e6f72726b656c3a3a52616e646f6d6e65737380000000000000000000000000000000000000000000000000000000000000000028b8205468652065706f63682072616e646f6d6e65737320666f7220746865202a63757272656e742a2065706f63682e002c20232053656375726974790005012054686973204d555354204e4f54206265207573656420666f722067616d626c696e672c2061732069742063616e20626520696e666c75656e6365642062792061f8206d616c6963696f75732076616c696461746f7220696e207468652073686f7274207465726d2e204974204d4159206265207573656420696e206d616e7915012063727970746f677261706869632070726f746f636f6c732c20686f77657665722c20736f206c6f6e67206173206f6e652072656d656d6265727320746861742074686973150120286c696b652065766572797468696e6720656c7365206f6e2d636861696e29206974206973207075626c69632e20466f72206578616d706c652c2069742063616e206265050120757365642077686572652061206e756d626572206973206e656564656420746861742063616e6e6f742068617665206265656e2063686f73656e20627920616e0d01206164766572736172792c20666f7220707572706f7365732073756368206173207075626c69632d636f696e207a65726f2d6b6e6f776c656467652070726f6f66732e384e65787452616e646f6d6e6573730100587363686e6f72726b656c3a3a52616e646f6d6e657373800000000000000000000000000000000000000000000000000000000000000000045c204e6578742065706f63682072616e646f6d6e6573732e305365676d656e74496e64657801000c7533321000000000247c2052616e646f6d6e65737320756e64657220636f6e737472756374696f6e2e00f4205765206d616b6520612074726164656f6666206265747765656e2073746f7261676520616363657373657320616e64206c697374206c656e6774682e01012057652073746f72652074686520756e6465722d636f6e737472756374696f6e2072616e646f6d6e65737320696e207365676d656e7473206f6620757020746f942060554e4445525f434f4e535452554354494f4e5f5345474d454e545f4c454e475448602e00ec204f6e63652061207365676d656e7420726561636865732074686973206c656e6774682c20776520626567696e20746865206e657874206f6e652e090120576520726573657420616c6c207365676d656e747320616e642072657475726e20746f206030602061742074686520626567696e6e696e67206f662065766572791c2065706f63682e44556e646572436f6e737472756374696f6e0101050c753332745665633c7363686e6f72726b656c3a3a5261775652464f75747075743e000400002c496e697469616c697a65640000204d6179626556726604000801012054656d706f726172792076616c75652028636c656172656420617420626c6f636b2066696e616c697a6174696f6e292077686963682069732060536f6d65601d01206966207065722d626c6f636b20696e697469616c697a6174696f6e2068617320616c7265616479206265656e2063616c6c656420666f722063757272656e7420626c6f636b2e010000083445706f63684475726174696f6e0c753634207800000000000000080d0120546865206e756d626572206f66202a2a736c6f74732a2a207468617420616e2065706f63682074616b65732e20576520636f75706c652073657373696f6e7320746ffc2065706f6368732c20692e652e2077652073746172742061206e65772073657373696f6e206f6e636520746865206e65772065706f636820626567696e732e444578706563746564426c6f636b54696d6524543a3a4d6f6d656e7420881300000000000014050120546865206578706563746564206176657261676520626c6f636b2074696d6520617420776869636820424142452073686f756c64206265206372656174696e67110120626c6f636b732e2053696e636520424142452069732070726f626162696c6973746963206974206973206e6f74207472697669616c20746f20666967757265206f75740501207768617420746865206578706563746564206176657261676520626c6f636b2074696d652073686f756c64206265206261736564206f6e2074686520736c6f740901206475726174696f6e20616e642074686520736563757269747920706172616d657465722060636020287768657265206031202d20636020726570726573656e7473a0207468652070726f626162696c697479206f66206120736c6f74206265696e6720656d707479292e002454696d657374616d70012454696d657374616d70080c4e6f77010024543a3a4d6f6d656e7420000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e24446964557064617465010010626f6f6c040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f01040c736574040c6e6f7748436f6d706163743c543a3a4d6f6d656e743e245820536574207468652063757272656e742074696d652e00590120546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed82070686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e004501205468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e74207370656369666965642062794420604d696e696d756d506572696f64602e00d820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e0004344d696e696d756d506572696f6424543a3a4d6f6d656e7420c40900000000000010690120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f64690120746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c79650120776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c20626520646f75626c6520746869737020706572696f64206f6e2064656661756c742073657474696e67732e002c4174746573746174696f6e012c4174746573746174696f6e0c1c4973737565727301010230543a3a4163636f756e744964445665633c543a3a4163636f756e7449643e0004002ca50120546865206d61707320617265206c61796564206f757420746f20737570706f727420746865206e6573746564207374727563747572652073686f776e2062656c6f7720696e204a534f4e2c2077696c6c206c6f6f6b20746f206f7074696d697365206c617465722e0008207b2c2020686f6c6465723a207b34202020206973737565723a207b50202020202020746f7069633a203c76616c75653e14202020207d0c20207d08207d008c2041206d6170206f6620486f6c6465724964203d3e205665633c49737375657249643e18546f706963730101027028543a3a4163636f756e7449642c20543a3a4163636f756e74496429545665633c4174746573746174696f6e546f7069633e00040004dc2041206d6170206f662028486f6c64657249642c20497373756572496429203d3e205665633c4174746573746174696f6e546f7069633e1856616c756573010102b828543a3a4163636f756e7449642c20543a3a4163636f756e7449642c204174746573746174696f6e546f70696329404174746573746174696f6e56616c7565008000000000000000000000000000000000000000000000000000000000000000000411012041206d6170206f662028486f6c64657249642c2049737375657249642c204174746573746174696f6e546f70696329203d3e204174746573746174696f6e56616c75650108247365745f636c61696d0c18686f6c64657230543a3a4163636f756e74496414746f706963404174746573746174696f6e546f7069631476616c7565404174746573746174696f6e56616c75650c8c20437265617465206f722075706461746520616e206578697374696e6720636c61696df020546865206069737375657260206f662074686520636c61696d20636f6d65732066726f6d207468652065787472696e73696320606f726967696e603d01205468652060746f7069636020616e64206076616c7565602061726520626f746820553235362077686963682063616e20686f6c6420616e792033322d6279746520656e636f64656420646174612e3072656d6f76655f636c61696d0818686f6c64657230543a3a4163636f756e74496414746f706963404174746573746174696f6e546f70696308f02052656d6f7665206120636c61696d2c206f6e6c7920746865206f726967696e616c206973737565722063616e2072656d6f7665206120636c61696d61012049662074686520606973737565726020686173206e6f742079657420697373756564206120636c61696d206f662060746f706963602c20746869732066756e6374696f6e2077696c6c2072657475726e206572726f722e010c30436c61696d4372656174656410244163636f756e744964244163636f756e744964404174746573746174696f6e546f706963404174746573746174696f6e56616c75650030436c61696d52656d6f7665640c244163636f756e744964244163636f756e744964404174746573746174696f6e546f7069630030436c61696d5570646174656410244163636f756e744964244163636f756e744964404174746573746174696f6e546f706963404174746573746174696f6e56616c7565000000485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7404444e6578744665654d756c7469706c6965720100284d756c7469706c69657220000000000000000000000008485472616e73616374696f6e426173654665653042616c616e63654f663c543e400010a5d4e8000000000000000000000004dc205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b2074686520626173652e485472616e73616374696f6e427974654665653042616c616e63654f663c543e4000e40b54020000000000000000000000040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e003047656e657269634173736574013047656e6572696341737365742434546f74616c49737375616e636501010528543a3a4173736574496428543a3a42616c616e6365004000000000000000000000000000000000048420546f74616c2069737375616e6365206f66206120676976656e2061737365742e2c4672656542616c616e636501020528543a3a4173736574496430543a3a4163636f756e74496428543a3a42616c616e636502400000000000000000000000000000000004d02054686520667265652062616c616e6365206f66206120676976656e20617373657420756e64657220616e206163636f756e742e3c526573657276656442616c616e636501020528543a3a4173736574496430543a3a4163636f756e74496428543a3a42616c616e636502400000000000000000000000000000000004e0205468652072657365727665642062616c616e6365206f66206120676976656e20617373657420756e64657220616e206163636f756e742e2c4e65787441737365744964010028543a3a41737365744964100000000004a8204e65787420617661696c61626c6520494420666f7220757365722d637265617465642061737365742e2c5065726d697373696f6e7301010528543a3a41737365744964805065726d697373696f6e56657273696f6e733c543a3a4163636f756e7449643e0010000000000498205065726d697373696f6e206f7074696f6e7320666f72206120676976656e2061737365742e144c6f636b7301010230543a3a4163636f756e744964705665633c42616c616e63654c6f636b3c543a3a42616c616e63653e3e00040004b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e385374616b696e6741737365744964010028543a3a41737365744964100000000004790120546865206964656e74697479206f662074686520617373657420776869636820697320746865206f6e6520746861742069732064657369676e6174656420666f722074686520636861696e2773207374616b696e672073797374656d2e3c5370656e64696e6741737365744964010028543a3a41737365744964100000000004990120546865206964656e74697479206f662074686520617373657420776869636820697320746865206f6e6520746861742069732064657369676e6174656420666f7220706179696e672074686520636861696e2773207472616e73616374696f6e206665652e2441737365744d65746101010528543a3a41737365744964244173736574496e666f0008000404502054686520696e666f20666f7220617373657473011c186372656174650c146f776e657230543a3a4163636f756e7449641c6f7074696f6e739841737365744f7074696f6e733c543a3a42616c616e63652c20543a3a4163636f756e7449643e10696e666f244173736574496e666f200901204372656174652061206e6577206b696e64206f6620617373657420616e64206e6f6d696e6174657320746865206f776e6572206f6620746869732061737365742ec8205468652061737365745f69642077696c6c20626520746865206e65787420756e6f636375706965642061737365745f69648901204163636f756e74732077686f2077696c6c206861766520746865207065726d697373696f6e7320746f206d696e742f6275726e2f6368616e6765207065726d697373696f6e206172652070617373656420696e2076696120276f7074696f6e732788206f726967696e206f6620746869732063616c6c206d75737420626520726f6f742e002420576569676874733aa0204f283129204c696d69746564206e756d626572206f66207265616420616e64207772697465732e702053686f756c64206e6f742062652063616c6c6564206f6674656e2e207472616e736665720c2061737365745f69644c436f6d706163743c543a3a417373657449643e08746f30543a3a4163636f756e74496418616d6f756e744c436f6d706163743c543a3a42616c616e63653e3cd8205472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e00090120607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e21012049742077696c6c2064656372656173652074686520746f74616c2069737375616e6365206f66207468652073797374656d2062792074686520605472616e73666572466565602e1501204966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b4206f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e00190120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e002c2023203c7765696768743e3101202d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f72cc202020696e70757420636f6e6669672074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e6901202d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c657820636f6d7075746174696f6e2e00302023203c2f7765696768743e447570646174655f7065726d697373696f6e082061737365745f69644c436f6d706163743c543a3a417373657449643e386e65775f7065726d697373696f6e785065726d697373696f6e4c61746573743c543a3a4163636f756e7449643e1c61012055706461746573207065726d697373696f6e73286d696e742f6275726e2f6368616e6765207065726d697373696f6e2920666f72206120676976656e206061737365745f69646020616e6420616e206163636f756e742e00b02054686520606f726967696e60206d7573742068617665206075706461746560207065726d697373696f6e2e002420776569676874733a9c204f283129206c696d69746564206e756d626572206f66207265616420616e64207772697465739420457870656374656420746f206e6f742062652063616c6c6564206672657175656e746c79447570646174655f61737365745f696e666f082061737365745f69644c436f6d706163743c543a3a417373657449643e10696e666f244173736574496e666f1cac205570646174657320617373657420696e666f20666f72206120676976656e206061737365745f6964602e00b02054686520606f726967696e60206d7573742068617665206075706461746560207065726d697373696f6e2e002420776569676874733a9c204f283129206c696d69746564206e756d626572206f66207265616420616e64207772697465739420457870656374656420746f206e6f742062652063616c6c6564206672657175656e746c79106d696e740c2061737365745f69644c436f6d706163743c543a3a417373657449643e08746f30543a3a4163636f756e74496418616d6f756e7428543a3a42616c616e6365149501204d696e747320616e2061737365742c20696e637265617365732069747320746f74616c2069737375616e63652e204465706f7369747320746865206e65776c79206d696e7465642063757272656e637920696e746f20746172676574206163636f756e74a420546865206f726967696e206d757374206861766520606d696e7460207065726d697373696f6e732e002420576569676874733a8c204f283129206c696d69746564206e756d626572206f6620726561642f777269746573106275726e0c2061737365745f69644c436f6d706163743c543a3a417373657449643e1874617267657430543a3a4163636f756e74496418616d6f756e7428543a3a42616c616e6365144d01204275726e7320616e2061737365742c206465637265617365732069747320746f74616c2069737375616e63652e2044656475637420746865206d6f6e65792066726f6d20746172676574206163636f756e74ac2054686520606f726967696e60206d757374206861766520606275726e60207065726d697373696f6e732e002420576569676874733a94204f283129204c696d69746564206e756d626572206f662072656164732f7772697465732e3c6372656174655f72657365727665640c2061737365745f696428543a3a417373657449641c6f7074696f6e739841737365744f7074696f6e733c543a3a42616c616e63652c20543a3a4163636f756e7449643e10696e666f244173736574496e666f18ac204372656174652061206e657720617373657420776974682072657365727665642061737365745f69642ebc20496e7465726e616c6c792063616c6c73206372656174655f6173736574207769746820616e2061737365745f69645020526571756972657320526f6f742063616c6c2e002420576569676874733a64204f283129204c696d6974656420726561642f77726974657301181c437265617465640c1c41737365744964244163636f756e7449643041737365744f7074696f6e7304c82041737365742063726561746564202861737365745f69642c2063726561746f722c2061737365745f6f7074696f6e73292e2c5472616e73666572726564101c41737365744964244163636f756e744964244163636f756e7449641c42616c616e636504dc204173736574207472616e7366657220737563636565646564202861737365745f69642c2066726f6d2c20746f2c20616d6f756e74292e445065726d697373696f6e55706461746564081c417373657449646c5065726d697373696f6e4c61746573743c4163636f756e7449643e04d8204173736574207065726d697373696f6e2075706461746564202861737365745f69642c206e65775f7065726d697373696f6e73292e404173736574496e666f55706461746564081c41737365744964244173736574496e666f04ac20417373657420696e666f2075706461746564202861737365745f69642c2061737365745f696e666f292e184d696e7465640c1c41737365744964244163636f756e7449641c42616c616e636504b8204e6577206173736574206d696e746564202861737365745f69642c206163636f756e742c20616d6f756e74292e184275726e65640c1c41737365744964244163636f756e7449641c42616c616e636504a8204173736574206275726e6564202861737365745f69642c206163636f756e742c20616d6f756e74292e003840417373657449644578686175737465640470204e6f206e65772061737365747320696420617661696c61626c652e285a65726f416d6f756e7404742043616e6e6f74207472616e73666572207a65726f20616d6f756e742e484e6f5570646174655065726d697373696f6e04090120546865206f726967696e20646f6573206e6f74206861766520656e6f756768207065726d697373696f6e20746f20757064617465207065726d697373696f6e732e404e6f4d696e745065726d697373696f6e04d820546865206f726967696e20646f6573206e6f742068617665207065726d697373696f6e20746f206d696e7420616e2061737365742e404e6f4275726e5065726d697373696f6e04d820546865206f726967696e20646f6573206e6f742068617665207065726d697373696f6e20746f206275726e20616e2061737365742e50546f74616c4d696e74696e674f766572666c6f7704b420546f74616c2069737375616e636520676f74206f766572666c6f776564206166746572206d696e74696e672e4c467265654d696e74696e674f766572666c6f7704ac20467265652062616c616e636520676f74206f766572666c6f776564206166746572206d696e74696e672e54546f74616c4275726e696e67556e646572666c6f7704b820546f74616c2069737375616e636520676f7420756e646572666c6f776564206166746572206275726e696e672e50467265654275726e696e67556e646572666c6f7704b020467265652062616c616e636520676f7420756e646572666c6f776564206166746572206275726e696e672e3441737365744964457869737473046c20417373657420696420697320616c72656164792074616b656e2e3c417373657449644e6f74457869737404b8204661696c7572652064756520746f206173736574206964206e6f74206578697374696e67206f6e20636861696e4c496e73756666696369656e7442616c616e6365049c205468652062616c616e636520697320746f6f206c6f7720746f2073656e6420616d6f756e742e405472616e736665724f766572666c6f7704c020546865207472616e736665722077696c6c20636175736520746865206163636f756e7420746f206f766572666c6f77544c69717569646974795265737472696374696f6e7304dc20546865206163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c2e1c5374616b696e67011c5374616b696e67742c4d696e696d756d426f6e6401003042616c616e63654f663c543e40000000000000000000000000000000000460204d696e696d756d20616d6f756e7420746f20626f6e642e3856616c696461746f72436f756e7401000c753332100000000004a82054686520696465616c206e756d626572206f66207374616b696e67207061727469636970616e74732e544d696e696d756d56616c696461746f72436f756e7401000c7533321004000000044101204d696e696d756d206e756d626572206f66207374616b696e67207061727469636970616e7473206265666f726520656d657267656e637920636f6e646974696f6e732061726520696d706f7365642e34496e76756c6e657261626c65730100445665633c543a3a4163636f756e7449643e04000c590120416e792076616c696461746f72732074686174206d6179206e6576657220626520736c6173686564206f7220666f726369626c79206b69636b65642e20497427732061205665632073696e636520746865792772654d01206561737920746f20696e697469616c697a6520616e642074686520706572666f726d616e636520686974206973206d696e696d616c2028776520657870656374206e6f206d6f7265207468616e20666f7572ac20696e76756c6e657261626c65732920616e64207265737472696374656420746f20746573746e6574732e18426f6e64656400010530543a3a4163636f756e74496430543a3a4163636f756e744964000400040101204d61702066726f6d20616c6c206c6f636b65642022737461736822206163636f756e747320746f2074686520636f6e74726f6c6c6572206163636f756e742e184c656467657200010530543a3a4163636f756e744964a45374616b696e674c65646765723c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000400044501204d61702066726f6d20616c6c2028756e6c6f636b6564292022636f6e74726f6c6c657222206163636f756e747320746f2074686520696e666f20726567617264696e6720746865207374616b696e672e14506179656501010530543a3a4163636f756e7449644452657761726444657374696e6174696f6e00040004e42057686572652074686520726577617264207061796d656e742073686f756c64206265206d6164652e204b657965642062792073746173682e2856616c696461746f727301010530543a3a4163636f756e7449643856616c696461746f72507265667300040004450120546865206d61702066726f6d202877616e6e616265292076616c696461746f72207374617368206b657920746f2074686520707265666572656e636573206f6620746861742076616c696461746f722e284e6f6d696e61746f727300010530543a3a4163636f756e744964644e6f6d696e6174696f6e733c543a3a4163636f756e7449643e00040010650120546865206d61702066726f6d206e6f6d696e61746f72207374617368206b657920746f2074686520736574206f66207374617368206b657973206f6620616c6c2076616c696461746f727320746f206e6f6d696e6174652e003501204e4f54453a206973207072697661746520736f20746861742077652063616e20656e73757265207570677261646564206265666f726520616c6c207479706963616c2061636365737365732ed8204469726563742073746f7261676520415049732063616e207374696c6c2062797061737320746869732070726f74656374696f6e2e1c5374616b65727301010530543a3a4163636f756e744964904578706f737572653c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000c000000104d01204e6f6d696e61746f727320666f72206120706172746963756c6172206163636f756e74207468617420697320696e20616374696f6e207269676874206e6f772e20596f752063616e277420697465726174651901207468726f7567682076616c696461746f727320686572652c2062757420796f752063616e2066696e64207468656d20696e207468652053657373696f6e206d6f64756c652e00902054686973206973206b6579656420627920746865207374617368206163636f756e742e3843757272656e74456c65637465640100445665633c543a3a4163636f756e7449643e040004fc205468652063757272656e746c7920656c65637465642076616c696461746f7220736574206b65796564206279207374617368206163636f756e742049442e2843757272656e74457261010020457261496e6465781000000000045c205468652063757272656e742065726120696e6465782e3c43757272656e74457261537461727401002c4d6f6d656e744f663c543e200000000000000000047820546865207374617274206f66207468652063757272656e74206572612e4843757272656e744572614475726174696f6e01002c4d6f6d656e744f663c543e200000000000000000006c43757272656e74457261537461727453657373696f6e496e64657801003053657373696f6e496e646578100000000004d0205468652073657373696f6e20696e646578206174207768696368207468652063757272656e742065726120737461727465642e5843757272656e74457261506f696e74734561726e6564010024457261506f696e7473140000000000040d01205265776172647320666f72207468652063757272656e74206572612e205573696e6720696e6469636573206f662063757272656e7420656c6563746564207365742e5043757272656e744572614665655265776172647301004852657761726442616c616e63654f663c543e400000000000000000000000000000000004e420546f74616c207472616e73616374696f6e207061796d656e74207265776172647320666f7220656c65637465642076616c696461746f727324536c6f745374616b6501003042616c616e63654f663c543e40000000000000000000000000000000000c31012054686520616d6f756e74206f662062616c616e6365206163746976656c79206174207374616b6520666f7220656163682076616c696461746f7220736c6f742c2063757272656e746c792e00c02054686973206973207573656420746f20646572697665207265776172647320616e642070756e6973686d656e74732e20466f72636545726101001c466f7263696e670400041d01205472756520696620746865206e6578742073657373696f6e206368616e67652077696c6c2062652061206e657720657261207265676172646c657373206f6620696e6465782e4c536c6173685265776172644672616374696f6e01001c50657262696c6c10000000000cf8205468652070657263656e74616765206f662074686520736c617368207468617420697320646973747269627574656420746f207265706f72746572732e00e4205468652072657374206f662074686520736c61736865642076616c75652069732068616e646c6564206279207468652060536c617368602e4c43616e63656c6564536c6173685061796f757401003042616c616e63654f663c543e40000000000000000000000000000000000815012054686520616d6f756e74206f662063757272656e637920676976656e20746f207265706f7274657273206f66206120736c617368206576656e7420776869636820776173ec2063616e63656c65642062792065787472616f7264696e6172792063697263756d7374616e6365732028652e672e20676f7665726e616e6365292e40556e6170706c696564536c617368657301010520457261496e646578bc5665633c556e6170706c696564536c6173683c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e3e00040004c420416c6c20756e6170706c69656420736c61736865732074686174206172652071756575656420666f72206c617465722e28426f6e646564457261730100745665633c28457261496e6465782c2053657373696f6e496e646578293e04000425012041206d617070696e672066726f6d207374696c6c2d626f6e646564206572617320746f207468652066697273742073657373696f6e20696e646578206f662074686174206572612e4c56616c696461746f72536c617368496e45726100020520457261496e64657830543a3a4163636f756e7449645c2850657262696c6c2c2042616c616e63654f663c543e2905040008450120416c6c20736c617368696e67206576656e7473206f6e2076616c696461746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682070726f706f7274696f6e7020616e6420736c6173682076616c7565206f6620746865206572612e4c4e6f6d696e61746f72536c617368496e45726100020520457261496e64657830543a3a4163636f756e7449643042616c616e63654f663c543e05040004610120416c6c20736c617368696e67206576656e7473206f6e206e6f6d696e61746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682076616c7565206f6620746865206572612e34536c617368696e675370616e7300010530543a3a4163636f756e7449645c736c617368696e673a3a536c617368696e675370616e73000400048c20536c617368696e67207370616e7320666f72207374617368206163636f756e74732e245370616e536c6173680101058c28543a3a4163636f756e7449642c20736c617368696e673a3a5370616e496e6465782988736c617368696e673a3a5370616e5265636f72643c42616c616e63654f663c543e3e00800000000000000000000000000000000000000000000000000000000000000000083d01205265636f72647320696e666f726d6174696f6e2061626f757420746865206d6178696d756d20736c617368206f6620612073746173682077697468696e206120736c617368696e67207370616e2cb82061732077656c6c20617320686f77206d7563682072657761726420686173206265656e2070616964206f75742e584561726c69657374556e6170706c696564536c617368000020457261496e646578040004fc20546865206561726c696573742065726120666f72207768696368207765206861766520612070656e64696e672c20756e6170706c69656420736c6173682e3853746f7261676556657273696f6e01000c75333210000000000490205468652076657273696f6e206f662073746f7261676520666f7220757067726164652e014810626f6e640c28636f6e74726f6c6c65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c756554436f6d706163743c42616c616e63654f663c543e3e1470617965654452657761726444657374696e6174696f6e3c65012054616b6520746865206f726967696e206163636f756e74206173206120737461736820616e64206c6f636b207570206076616c756560206f66206974732062616c616e63652e2060636f6e74726f6c6c6572602077696c6c8420626520746865206163636f756e74207468617420636f6e74726f6c732069742e002901206076616c756560206d757374206265206d6f7265207468616e2074686520606d696e696d756d5f626f6e64602073706563696669656420696e2067656e6573697320636f6e6669672e00250120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20627920746865207374617368206163636f756e742e002c2023203c7765696768743ed4202d20496e646570656e64656e74206f662074686520617267756d656e74732e204d6f64657261746520636f6d706c65786974792e20202d204f2831292e68202d20546872656520657874726120444220656e74726965732e006d01204e4f54453a2054776f206f66207468652073746f726167652077726974657320286053656c663a3a626f6e646564602c206053656c663a3a7061796565602920617265205f6e657665725f20636c65616e656420756e6c65737325012074686520606f726967696e602066616c6c732062656c6f77205f6578697374656e7469616c206465706f7369745f20616e6420676574732072656d6f76656420617320647573742e302023203c2f7765696768743e28626f6e645f657874726104386d61785f6164646974696f6e616c54436f6d706163743c42616c616e63654f663c543e3e3865012041646420736f6d6520657874726120616d6f756e742074686174206861766520617070656172656420696e207468652073746173682060667265655f62616c616e63656020696e746f207468652062616c616e63652075703420666f72207374616b696e672e00510120557365207468697320696620746865726520617265206164646974696f6e616c2066756e647320696e20796f7572207374617368206163636f756e74207468617420796f75207769736820746f20626f6e642e650120556e6c696b65205b60626f6e64605d206f72205b60756e626f6e64605d20746869732066756e6374696f6e20646f6573206e6f7420696d706f736520616e79206c696d69746174696f6e206f6e2074686520616d6f756e744c20746861742063616e2062652061646465642e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e20202d204f2831292e40202d204f6e6520444220656e7472792e302023203c2f7765696768743e18756e626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e5c5501205363686564756c65206120706f7274696f6e206f662074686520737461736820746f20626520756e6c6f636b656420726561647920666f72207472616e73666572206f75742061667465722074686520626f6e64010120706572696f6420656e64732e2049662074686973206c656176657320616e20616d6f756e74206163746976656c7920626f6e646564206c657373207468616e250120543a3a43757272656e63793a3a6d696e696d756d5f62616c616e636528292c207468656e20697420697320696e6372656173656420746f207468652066756c6c20616d6f756e742e004901204f6e63652074686520756e6c6f636b20706572696f6420697320646f6e652c20796f752063616e2063616c6c206077697468647261775f756e626f6e6465646020746f2061637475616c6c79206d6f7665c0207468652066756e6473206f7574206f66206d616e6167656d656e7420726561647920666f72207472616e736665722e003d01204e6f206d6f7265207468616e2061206c696d69746564206e756d626572206f6620756e6c6f636b696e67206368756e6b73202873656520604d41585f554e4c4f434b494e475f4348554e4b5360293d012063616e20636f2d657869737473206174207468652073616d652074696d652e20496e207468617420636173652c205b6043616c6c3a3a77697468647261775f756e626f6e646564605d206e656564fc20746f2062652063616c6c656420666972737420746f2072656d6f766520736f6d65206f6620746865206368756e6b732028696620706f737369626c65292e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e00982053656520616c736f205b6043616c6c3a3a77697468647261775f756e626f6e646564605d2e002c2023203c7765696768743e4101202d20496e646570656e64656e74206f662074686520617267756d656e74732e204c696d697465642062757420706f74656e7469616c6c79206578706c6f697461626c6520636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732e6501202d20456163682063616c6c20287265717569726573207468652072656d61696e646572206f662074686520626f6e6465642062616c616e636520746f2062652061626f766520606d696e696d756d5f62616c616e63656029710120202077696c6c2063617573652061206e657720656e74727920746f20626520696e73657274656420696e746f206120766563746f722028604c65646765722e756e6c6f636b696e676029206b65707420696e2073746f726167652ea501202020546865206f6e6c792077617920746f20636c65616e207468652061666f72656d656e74696f6e65642073746f72616765206974656d20697320616c736f20757365722d636f6e74726f6c6c656420766961206077697468647261775f756e626f6e646564602e40202d204f6e6520444220656e7472792e28203c2f7765696768743e4477697468647261775f756e626f6e64656400402d012052656d6f766520616e7920756e6c6f636b6564206368756e6b732066726f6d207468652060756e6c6f636b696e67602071756575652066726f6d206f7572206d616e6167656d656e742e003501205468697320657373656e7469616c6c7920667265657320757020746861742062616c616e636520746f206265207573656420627920746865207374617368206163636f756e7420746f20646f4c2077686174657665722069742077616e74732e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e006c2053656520616c736f205b6043616c6c3a3a756e626f6e64605d2e002c2023203c7765696768743e5501202d20436f756c6420626520646570656e64656e74206f6e2074686520606f726967696e6020617267756d656e7420616e6420686f77206d7563682060756e6c6f636b696e6760206368756e6b732065786973742e45012020497420696d706c6965732060636f6e736f6c69646174655f756e6c6f636b656460207768696368206c6f6f7073206f76657220604c65646765722e756e6c6f636b696e67602c207768696368206973f42020696e6469726563746c7920757365722d636f6e74726f6c6c65642e20536565205b60756e626f6e64605d20666f72206d6f72652064657461696c2e7901202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732c20796574207468652073697a65206f6620776869636820636f756c64206265206c61726765206261736564206f6e20606c6564676572602ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e2076616c6964617465041470726566733856616c696461746f7250726566732ce8204465636c617265207468652064657369726520746f2076616c696461746520666f7220746865206f726967696e20636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e206e6f6d696e617465041c74617267657473a05665633c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263653e2c1101204465636c617265207468652064657369726520746f206e6f6d696e6174652060746172676574736020666f7220746865206f726967696e20636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743e2501202d20546865207472616e73616374696f6e277320636f6d706c65786974792069732070726f706f7274696f6e616c20746f207468652073697a65206f66206074617267657473602c982077686963682069732063617070656420617420604d41585f4e4f4d494e4154494f4e53602ed8202d20426f74682074686520726561647320616e642077726974657320666f6c6c6f7720612073696d696c6172207061747465726e2e302023203c2f7765696768743e146368696c6c002cc8204465636c617265206e6f2064657369726520746f206569746865722076616c6964617465206f72206e6f6d696e6174652e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e54202d20436f6e7461696e73206f6e6520726561642ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e247365745f7061796565041470617965654452657761726444657374696e6174696f6e2cb8202852652d2973657420746865207061796d656e742074617267657420666f72206120636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e387365745f636f6e74726f6c6c65720428636f6e74726f6c6c65728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652c90202852652d297365742074686520636f6e74726f6c6c6572206f6620612073746173682e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e4c7365745f76616c696461746f725f636f756e74040c6e657730436f6d706163743c7533323e04802054686520696465616c206e756d626572206f662076616c696461746f72732e34666f7263655f6e6f5f657261730014b020466f72636520746865726520746f206265206e6f206e6577206572617320696e646566696e6974656c792e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e302023203c2f7765696768743e34666f7263655f6e65775f65726100184d0120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f6620746865206e6578742073657373696f6e2e20416674657220746869732c2069742077696c6c206265a020726573657420746f206e6f726d616c20286e6f6e2d666f7263656429206265686176696f75722e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e302023203c2f7765696768743e407365745f6d696e696d756d5f626f6e64041476616c75653042616c616e63654f663c543e04742053657420746865206d696e696d756d20626f6e6420616d6f756e742e447365745f696e76756c6e657261626c6573042876616c696461746f7273445665633c543a3a4163636f756e7449643e04cc20536574207468652076616c696461746f72732077686f2063616e6e6f7420626520736c61736865642028696620616e79292e34666f7263655f756e7374616b650414737461736830543a3a4163636f756e744964040d0120466f72636520612063757272656e74207374616b657220746f206265636f6d6520636f6d706c6574656c7920756e7374616b65642c20696d6d6564696174656c792e50666f7263655f6e65775f6572615f616c776179730014050120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f662073657373696f6e7320696e646566696e6974656c792e002c2023203c7765696768743e50202d204f6e652073746f72616765207772697465302023203c2f7765696768743e5463616e63656c5f64656665727265645f736c617368080c65726120457261496e64657834736c6173685f696e6469636573205665633c7533323e180d012043616e63656c20656e6163746d656e74206f66206120646566657272656420736c6173682e2043616e2062652063616c6c656420627920726f6f74206f726967696e05012070617373696e67207468652065726120616e6420696e6469636573206f662074686520736c617368657320666f7220746861742065726120746f206b696c6c2e002c2023203c7765696768743e54202d204f6e652073746f726167652077726974652e302023203c2f7765696768743e187265626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e18e0205265626f6e64206120706f7274696f6e206f6620746865207374617368207363686564756c656420746f20626520756e6c6f636b65642e002c2023203c7765696768743ef0202d2054696d6520636f6d706c65786974793a204f2831292e20426f756e64656420627920604d41585f554e4c4f434b494e475f4348554e4b53602ef4202d2053746f72616765206368616e6765733a2043616e277420696e6372656173652073746f726167652c206f6e6c792064656372656173652069742e302023203c2f7765696768743e011c18526577617264083452657761726442616c616e63653452657761726442616c616e636508510120416c6c2076616c696461746f72732068617665206265656e207265776172646564206279207468652066697273742062616c616e63653b20746865207365636f6e64206973207468652072656d61696e6465728c2066726f6d20746865206d6178696d756d20616d6f756e74206f66207265776172642e2852657761726446656573083452657761726442616c616e63650c753332040101205472616e73616374696f6e206665652072657761726473206172652073706c6974206576656e6c79206163726f737320616c6c2076616c696461746f72732e14536c61736808244163636f756e7449641c42616c616e6365042501204f6e652076616c696461746f722028616e6420697473206e6f6d696e61746f72732920686173206265656e20736c61736865642062792074686520676976656e20616d6f756e742e58496e76756c6e657261626c654e6f74536c617368656408244163636f756e7449641c50657262696c6c04ec205468652076616c696461746f7220697320696e76756c6e657261626c652c20736f20697420686173204e4f54206265656e20736c61736865642e684f6c64536c617368696e675265706f7274446973636172646564043053657373696f6e496e646578081d0120416e206f6c6420736c617368696e67207265706f72742066726f6d2061207072696f72206572612077617320646973636172646564206265636175736520697420636f756c6448206e6f742062652070726f6365737365642e40536574496e76756c6e657261626c657304385665633c4163636f756e7449643e04d82041206e657720736574206f662076616c696461746f727320617265206d61726b656420746f20626520696e76756c6e657261626c65385365744d696e696d756d426f6e64041c42616c616e63650480204d696e696d756d20626f6e6420616d6f756e74206973206368616e6765642e083853657373696f6e735065724572613053657373696f6e496e64657810060000000470204e756d626572206f662073657373696f6e7320706572206572612e3c426f6e64696e674475726174696f6e20457261496e64657810a002000004e4204e756d626572206f6620657261732074686174207374616b65642066756e6473206d7573742072656d61696e20626f6e64656420666f722e28344e6f74436f6e74726f6c6c65720468204e6f74206120636f6e74726f6c6c6572206163636f756e742e204e6f7453746173680454204e6f742061207374617368206163636f756e742e34416c7265616479426f6e646564046420537461736820697320616c726561647920626f6e6465642e34416c7265616479506169726564047820436f6e74726f6c6c657220697320616c7265616479207061697265642e30456d70747954617267657473046420546172676574732063616e6e6f7420626520656d7074792e44496e76616c6964536c617368496e646578048820536c617368207265636f726420696e646578206f7574206f6620626f756e64732e44496e73756666696369656e7456616c756504cc2043616e206e6f7420626f6e6420776974682076616c7565206c657373207468616e206d696e696d756d2062616c616e63652e304e6f4d6f72654368756e6b7304942043616e206e6f74207363686564756c65206d6f726520756e6c6f636b206368756e6b732e344e6f556e6c6f636b4368756e6b04a42043616e206e6f74207265626f6e6420776974686f757420756e6c6f636b696e67206368756e6b732e484e6f74536f72746564416e64556e697175650484204974656d7320617265206e6f7420736f7274656420616e6420756e697175652e1c53657373696f6e011c53657373696f6e1c2856616c696461746f727301004c5665633c543a3a56616c696461746f7249643e0400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801003053657373696f6e496e646578100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e676564010010626f6f6c040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100785665633c28543a3a56616c696461746f7249642c20543a3a4b657973293e0400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f72730100205665633c7533323e04000c8020496e6469636573206f662064697361626c65642076616c696461746f72732e003501205468652073657420697320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e732061206e657720736574206f66206964656e7469746965732e204e6578744b65797300010538543a3a56616c696461746f7249641c543a3a4b657973000400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010550284b65795479706549642c205665633c75383e2938543a3a56616c696461746f72496400040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e0108207365745f6b65797308106b6579731c543a3a4b6579731470726f6f661c5665633c75383e30e82053657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e210120416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec4205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d420546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002c2023203c7765696768743e88202d204f286c6f67206e2920696e206e756d626572206f66206163636f756e74732e58202d204f6e6520657874726120444220656e7472792e6501202d20496e637265617365732073797374656d206163636f756e742072656673206279206f6e65206f6e20737563636573732069666620746865726520776572652070726576696f75736c79206e6f206b657973207365742e5501202020496e207468697320636173652c2070757267655f6b6579732077696c6c206e65656420746f2062652063616c6c6564206265666f726520746865206163636f756e742063616e2062652072656d6f7665642e302023203c2f7765696768743e2870757267655f6b6579730028cc2052656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722ec4205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d420546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002c2023203c7765696768743e7c202d204f284e2920696e206e756d626572206f66206b65792074797065732e70202d2052656d6f766573204e202b203120444220656e74726965732ec4202d20526564756365732073797374656d206163636f756e742072656673206279206f6e65206f6e20737563636573732e302023203c2f7765696768743e0104284e657753657373696f6e043053657373696f6e496e646578085501204e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f742074686520626c6f636b88206e756d626572206173207468652074797065206d6967687420737567676573742e001030496e76616c696450726f6f66046420496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f72496404a0204e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b657904682052656769737465726564206475706c6963617465206b65792e184e6f4b65797304a8204e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e28417574686f72736869700128417574686f72736869700c18556e636c65730100e85665633c556e636c65456e7472794974656d3c543a3a426c6f636b4e756d6265722c20543a3a486173682c20543a3a4163636f756e7449643e3e0400041c20556e636c657318417574686f72000030543a3a4163636f756e7449640400046420417574686f72206f662063757272656e7420626c6f636b2e30446964536574556e636c6573010010626f6f6c040004bc205768657468657220756e636c6573207765726520616c72656164792073657420696e207468697320626c6f636b2e0104287365745f756e636c657304286e65775f756e636c6573385665633c543a3a4865616465723e04642050726f76696465206120736574206f6620756e636c65732e00001c48496e76616c6964556e636c65506172656e74048c2054686520756e636c6520706172656e74206e6f7420696e2074686520636861696e2e40556e636c6573416c7265616479536574048420556e636c657320616c72656164792073657420696e2074686520626c6f636b2e34546f6f4d616e79556e636c6573044420546f6f206d616e7920756e636c65732e3047656e65736973556e636c6504582054686520756e636c652069732067656e657369732e30546f6f48696768556e636c6504802054686520756e636c6520697320746f6f206869676820696e20636861696e2e50556e636c65416c7265616479496e636c75646564047c2054686520756e636c6520697320616c726561647920696e636c756465642e204f6c64556e636c6504b82054686520756e636c652069736e277420726563656e7420656e6f75676820746f20626520696e636c756465642e1c436f756e63696c014c496e7374616e636531436f6c6c656374697665182450726f706f73616c730100305665633c543a3a486173683e040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001061c543a3a48617368643c542061732054726169743c493e3e3a3a50726f706f73616c00040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001061c543a3a486173688c566f7465733c543a3a4163636f756e7449642c20543a3a426c6f636b4e756d6265723e00040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401000c753332100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100445665633c543a3a4163636f756e7449643e0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000030543a3a4163636f756e7449640400085d0120546865206d656d6265722077686f2070726f7669646573207468652064656661756c7420766f746520666f7220616e79206f74686572206d656d62657273207468617420646f206e6f7420766f7465206265666f7265e4207468652074696d656f75742e204966204e6f6e652c207468656e206e6f206d656d6265722068617320746861742070726976696c6567652e01142c7365745f6d656d62657273082c6e65775f6d656d62657273445665633c543a3a4163636f756e7449643e147072696d65504f7074696f6e3c543a3a4163636f756e7449643e1884205365742074686520636f6c6c6563746976652773206d656d626572736869702e00fc202d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e64e4202d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e005820526571756972657320726f6f74206f726967696e2e1c65786563757465042070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e0cf420446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00ac204f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e1c70726f706f736508247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e102c2023203c7765696768743e90202d20426f756e6465642073746f7261676520726561647320616e64207772697465732eb8202d20417267756d656e7420607468726573686f6c6460206861732062656172696e67206f6e207765696768742e302023203c2f7765696768743e10766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c102c2023203c7765696768743e8c202d20426f756e6465642073746f72616765207265616420616e64207772697465732e5501202d2057696c6c20626520736c696768746c792068656176696572206966207468652070726f706f73616c20697320617070726f766564202f20646973617070726f7665642061667465722074686520766f74652e302023203c2f7765696768743e14636c6f7365082070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e345101204d61792062652063616c6c656420627920616e79207369676e6564206163636f756e742061667465722074686520766f74696e67206475726174696f6e2068617320656e64656420696e206f7264657220746f982066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e005d012041627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e7320756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d6564206d656d626572206361737420616e20617070726f76616c2e0094202d2074686520776569676874206f66206070726f706f73616c6020707265696d6167652e80202d20757020746f207468726565206576656e7473206465706f73697465642e0d01202d206f6e6520726561642c2074776f2072656d6f76616c732c206f6e65206d75746174696f6e2e2028706c7573207468726565207374617469632072656164732e29b0202d20636f6d7075746174696f6e20616e6420692f6f20604f2850202b204c202b204d29602077686572653a782020202d20604d60206973206e756d626572206f66206d656d626572732c9c2020202d20605060206973206e756d626572206f66206163746976652070726f706f73616c732cd82020202d20604c602069732074686520656e636f646564206c656e677468206f66206070726f706f73616c6020707265696d6167652e011c2050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e74084d012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e4020604d656d626572436f756e7460292e14566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740809012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67190120612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404104861736804c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404104861736804d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408104861736810626f6f6c0405012041206d6f74696f6e207761732065786563757465643b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408104861736810626f6f6c042d0120412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e18436c6f7365640c10486173682c4d656d626572436f756e742c4d656d626572436f756e7404c420412070726f706f73616c2077617320636c6f73656420616674657220697473206475726174696f6e207761732075702e001c244e6f744d656d6265720460204163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0480204475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e6704502050726f706f73616c206d7573742065786973742857726f6e67496e6465780444204d69736d61746368656420696e646578344475706c6963617465566f7465045c204475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a65640484204d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c790401012054686520636c6f73652063616c6c206973206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e48546563686e6963616c436f6d6d6974746565014c496e7374616e636532436f6c6c656374697665182450726f706f73616c730100305665633c543a3a486173683e040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001061c543a3a48617368643c542061732054726169743c493e3e3a3a50726f706f73616c00040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001061c543a3a486173688c566f7465733c543a3a4163636f756e7449642c20543a3a426c6f636b4e756d6265723e00040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401000c753332100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100445665633c543a3a4163636f756e7449643e0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000030543a3a4163636f756e7449640400085d0120546865206d656d6265722077686f2070726f7669646573207468652064656661756c7420766f746520666f7220616e79206f74686572206d656d62657273207468617420646f206e6f7420766f7465206265666f7265e4207468652074696d656f75742e204966204e6f6e652c207468656e206e6f206d656d6265722068617320746861742070726976696c6567652e01142c7365745f6d656d62657273082c6e65775f6d656d62657273445665633c543a3a4163636f756e7449643e147072696d65504f7074696f6e3c543a3a4163636f756e7449643e1884205365742074686520636f6c6c6563746976652773206d656d626572736869702e00fc202d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e64e4202d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e005820526571756972657320726f6f74206f726967696e2e1c65786563757465042070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e0cf420446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00ac204f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e1c70726f706f736508247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e102c2023203c7765696768743e90202d20426f756e6465642073746f7261676520726561647320616e64207772697465732eb8202d20417267756d656e7420607468726573686f6c6460206861732062656172696e67206f6e207765696768742e302023203c2f7765696768743e10766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c102c2023203c7765696768743e8c202d20426f756e6465642073746f72616765207265616420616e64207772697465732e5501202d2057696c6c20626520736c696768746c792068656176696572206966207468652070726f706f73616c20697320617070726f766564202f20646973617070726f7665642061667465722074686520766f74652e302023203c2f7765696768743e14636c6f7365082070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e345101204d61792062652063616c6c656420627920616e79207369676e6564206163636f756e742061667465722074686520766f74696e67206475726174696f6e2068617320656e64656420696e206f7264657220746f982066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e005d012041627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e7320756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d6564206d656d626572206361737420616e20617070726f76616c2e0094202d2074686520776569676874206f66206070726f706f73616c6020707265696d6167652e80202d20757020746f207468726565206576656e7473206465706f73697465642e0d01202d206f6e6520726561642c2074776f2072656d6f76616c732c206f6e65206d75746174696f6e2e2028706c7573207468726565207374617469632072656164732e29b0202d20636f6d7075746174696f6e20616e6420692f6f20604f2850202b204c202b204d29602077686572653a782020202d20604d60206973206e756d626572206f66206d656d626572732c9c2020202d20605060206973206e756d626572206f66206163746976652070726f706f73616c732cd82020202d20604c602069732074686520656e636f646564206c656e677468206f66206070726f706f73616c6020707265696d6167652e011c2050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e74084d012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e4020604d656d626572436f756e7460292e14566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740809012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67190120612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404104861736804c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404104861736804d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408104861736810626f6f6c0405012041206d6f74696f6e207761732065786563757465643b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408104861736810626f6f6c042d0120412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e18436c6f7365640c10486173682c4d656d626572436f756e742c4d656d626572436f756e7404c420412070726f706f73616c2077617320636c6f73656420616674657220697473206475726174696f6e207761732075702e001c244e6f744d656d6265720460204163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0480204475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e6704502050726f706f73616c206d7573742065786973742857726f6e67496e6465780444204d69736d61746368656420696e646578344475706c6963617465566f7465045c204475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a65640484204d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c790401012054686520636c6f73652063616c6c206973206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e24456c656374696f6e73014050687261676d656e456c656374696f6e141c4d656d626572730100845665633c28543a3a4163636f756e7449642c2042616c616e63654f663c543e293e040004f0205468652063757272656e7420656c6563746564206d656d626572736869702e20536f72746564206261736564206f6e206163636f756e742069642e2452756e6e65727355700100845665633c28543a3a4163636f756e7449642c2042616c616e63654f663c543e293e0400044901205468652063757272656e742072756e6e6572735f75702e20536f72746564206261736564206f6e206c6f7720746f2068696768206d657269742028776f72736520746f20626573742072756e6e6572292e38456c656374696f6e526f756e647301000c75333210000000000441012054686520746f74616c206e756d626572206f6620766f746520726f756e6473207468617420686176652068617070656e65642c206578636c7564696e6720746865207570636f6d696e67206f6e652e18566f74696e6701010530543a3a4163636f756e744964842842616c616e63654f663c543e2c205665633c543a3a4163636f756e7449643e290044000000000000000000000000000000000004b820566f74657320616e64206c6f636b6564207374616b65206f66206120706172746963756c617220766f7465722e2843616e646964617465730100445665633c543a3a4163636f756e7449643e0400085901205468652070726573656e742063616e646964617465206c6973742e20536f72746564206261736564206f6e206163636f756e742d69642e20412063757272656e74206d656d626572206f722072756e6e65722d757041012063616e206e6576657220656e746572207468697320766563746f7220616e6420697320616c7761797320696d706c696369746c7920617373756d656420746f20626520612063616e6469646174652e011810766f74650814766f746573445665633c543a3a4163636f756e7449643e1476616c756554436f6d706163743c42616c616e63654f663c543e3e3c050120566f746520666f72206120736574206f662063616e6469646174657320666f7220746865207570636f6d696e6720726f756e64206f6620656c656374696f6e2e0050205468652060766f746573602073686f756c643a482020202d206e6f7420626520656d7074792eac2020202d206265206c657373207468616e20746865206e756d626572206f662063616e646964617465732e005d012055706f6e20766f74696e672c206076616c75656020756e697473206f66206077686f6027732062616c616e6365206973206c6f636b656420616e64206120626f6e6420616d6f756e742069732072657365727665642e5d012049742069732074686520726573706f6e736962696c697479206f66207468652063616c6c657220746f206e6f7420706c61636520616c6c206f662074686569722062616c616e636520696e746f20746865206c6f636ba020616e64206b65657020736f6d6520666f722066757274686572207472616e73616374696f6e732e002c2023203c7765696768743e2c2023232323205374617465302052656164733a204f283129c8205772697465733a204f28562920676976656e2060566020766f7465732e205620697320626f756e6465642062792031362e302023203c2f7765696768743e3072656d6f76655f766f746572001c21012052656d6f766520606f726967696e60206173206120766f7465722e20546869732072656d6f76657320746865206c6f636b20616e642072657475726e732074686520626f6e642e002c2023203c7765696768743e2c2023232323205374617465302052656164733a204f28312934205772697465733a204f283129302023203c2f7765696768743e507265706f72745f646566756e63745f766f74657204187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365345d01205265706f727420607461726765746020666f72206265696e6720616e20646566756e637420766f7465722e20496e2063617365206f6620612076616c6964207265706f72742c20746865207265706f727465722069735d012072657761726465642062792074686520626f6e6420616d6f756e74206f662060746172676574602e204f74686572776973652c20746865207265706f7274657220697473656c662069732072656d6f76656420616e645c20746865697220626f6e6420697320736c61736865642e0088204120646566756e637420766f74657220697320646566696e656420746f2062653a4d012020202d206120766f7465722077686f73652063757272656e74207375626d697474656420766f7465732061726520616c6c20696e76616c69642e20692e652e20616c6c206f66207468656d20617265206e6fb420202020206c6f6e67657220612063616e646964617465206e6f7220616e20616374697665206d656d6265722e002c2023203c7765696768743e2c202323232320537461746515012052656164733a204f284e4c6f674d2920676976656e204d2063757272656e742063616e6469646174657320616e64204e20766f74657320666f722060746172676574602e34205772697465733a204f283129302023203c2f7765696768743e407375626d69745f63616e646964616379003478205375626d6974206f6e6573656c6620666f722063616e6469646163792e006420412063616e6469646174652077696c6c206569746865723aec2020202d204c6f73652061742074686520656e64206f6620746865207465726d20616e6420666f7266656974207468656972206465706f7369742e2d012020202d2057696e20616e64206265636f6d652061206d656d6265722e204d656d626572732077696c6c206576656e7475616c6c7920676574207468656972207374617368206261636b2e55012020202d204265636f6d6520612072756e6e65722d75702e2052756e6e6572732d75707320617265207265736572766564206d656d6265727320696e2063617365206f6e65206765747320666f72636566756c6c7934202020202072656d6f7665642e002c2023203c7765696768743e2c20232323232053746174658c2052656164733a204f284c6f674e2920476976656e204e2063616e646964617465732e34205772697465733a204f283129302023203c2f7765696768743e4872656e6f756e63655f63616e646964616379002451012052656e6f756e6365206f6e65277320696e74656e74696f6e20746f20626520612063616e64696461746520666f7220746865206e65787420656c656374696f6e20726f756e642e203320706f74656e7469616c40206f7574636f6d65732065786973743a4101202d20606f726967696e6020697320612063616e64696461746520616e64206e6f7420656c656374656420696e20616e79207365742e20496e207468697320636173652c2074686520626f6e64206973f4202020756e72657365727665642c2072657475726e656420616e64206f726967696e2069732072656d6f76656420617320612063616e6469646174652e5901202d20606f726967696e6020697320612063757272656e742072756e6e65722075702e20496e207468697320636173652c2074686520626f6e6420697320756e72657365727665642c2072657475726e656420616e64842020206f726967696e2069732072656d6f76656420617320612072756e6e65722e4d01202d20606f726967696e6020697320612063757272656e74206d656d6265722e20496e207468697320636173652c2074686520626f6e6420697320756e726573657276656420616e64206f726967696e206973590120202072656d6f7665642061732061206d656d6265722c20636f6e73657175656e746c79206e6f74206265696e6720612063616e64696461746520666f7220746865206e65787420726f756e6420616e796d6f72652e650120202053696d696c617220746f205b6072656d6f76655f766f746572605d2c206966207265706c6163656d656e742072756e6e657273206578697374732c20746865792061726520696d6d6564696174656c7920757365642e3472656d6f76655f6d656d626572040c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365345d012052656d6f7665206120706172746963756c6172206d656d6265722066726f6d20746865207365742e20546869732069732065666665637469766520696d6d6564696174656c7920616e642074686520626f6e64206f668020746865206f7574676f696e67206d656d62657220697320736c61736865642e00590120496620612072756e6e65722d757020697320617661696c61626c652c207468656e2074686520626573742072756e6e65722d75702077696c6c2062652072656d6f76656420616e64207265706c6163657320746865f4206f7574676f696e67206d656d6265722e204f74686572776973652c2061206e65772070687261676d656e20726f756e6420697320737461727465642e004501204e6f74652074686174207468697320646f6573206e6f7420616666656374207468652064657369676e6174656420626c6f636b206e756d626572206f6620746865206e65787420656c656374696f6e2e002c2023203c7765696768743e2c2023232323205374617465582052656164733a204f28646f5f70687261676d656e295c205772697465733a204f28646f5f70687261676d656e29302023203c2f7765696768743e01141c4e65775465726d04645665633c284163636f756e7449642c2042616c616e6365293e0855012041206e6577207465726d2077697468206e6577206d656d626572732e205468697320696e64696361746573207468617420656e6f7567682063616e6469646174657320657869737465642c206e6f742074686174450120656e6f756768206861766520686173206265656e20656c65637465642e2054686520696e6e65722076616c7565206d757374206265206578616d696e656420666f72207468697320707572706f73652e24456d7074795465726d0004d8204e6f20286f72206e6f7420656e6f756768292063616e64696461746573206578697374656420666f72207468697320726f756e642e304d656d6265724b69636b656404244163636f756e7449640845012041206d656d62657220686173206265656e2072656d6f7665642e20546869732073686f756c6420616c7761797320626520666f6c6c6f7765642062792065697468657220604e65775465726d60206f74342060456d7074795465726d602e3c4d656d62657252656e6f756e63656404244163636f756e74496404a02041206d656d626572206861732072656e6f756e6365642074686569722063616e6469646163792e34566f7465725265706f727465640c244163636f756e744964244163636f756e74496410626f6f6c086101204120766f7465722028666972737420656c656d656e742920776173207265706f72746564202862797420746865207365636f6e6420656c656d656e742920776974682074686520746865207265706f7274206265696e678c207375636365737366756c206f72206e6f742028746869726420656c656d656e74292e143443616e646964616379426f6e643042616c616e63654f663c543e400080c6a47e8d030000000000000000000028566f74696e67426f6e643042616c616e63654f663c543e4000407a10f35a000000000000000000000038446573697265644d656d626572730c753332100d00000000404465736972656452756e6e65727355700c753332100700000000305465726d4475726174696f6e38543a3a426c6f636b4e756d6265721080d80100003830556e61626c65546f566f746504c42043616e6e6f7420766f7465207768656e206e6f2063616e64696461746573206f72206d656d626572732065786973742e1c4e6f566f7465730498204d75737420766f746520666f72206174206c65617374206f6e652063616e6469646174652e30546f6f4d616e79566f74657304882043616e6e6f7420766f7465206d6f7265207468616e2063616e646964617465732e504d6178696d756d566f7465734578636565646564049c2043616e6e6f7420766f7465206d6f7265207468616e206d6178696d756d20616c6c6f7765642e284c6f7742616c616e636504c82043616e6e6f7420766f74652077697468207374616b65206c657373207468616e206d696e696d756d2062616c616e63652e3c556e61626c65546f506179426f6e64047c20566f7465722063616e206e6f742070617920766f74696e6720626f6e642e2c4d7573744265566f7465720444204d757374206265206120766f7465722e285265706f727453656c6604502043616e6e6f74207265706f72742073656c662e4c4475706c69636174656443616e6469646174650484204475706c6963617465642063616e646964617465207375626d697373696f6e2e304d656d6265725375626d6974048c204d656d6265722063616e6e6f742072652d7375626d69742063616e6469646163792e3052756e6e65725375626d6974048c2052756e6e65722063616e6e6f742072652d7375626d69742063616e6469646163792e68496e73756666696369656e7443616e64696461746546756e647304982043616e64696461746520646f6573206e6f74206861766520656e6f7567682066756e64732e34496e76616c69644f726967696e04c8204f726967696e206973206e6f7420612063616e6469646174652c206d656d626572206f7220612072756e6e65722075702e244e6f744d656d6265720438204e6f742061206d656d6265722e4c546563686e6963616c4d656d62657273686970014c496e7374616e6365314d656d62657273686970081c4d656d626572730100445665633c543a3a4163636f756e7449643e040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000030543a3a4163636f756e744964040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e011c286164645f6d656d626572040c77686f30543a3a4163636f756e7449640c7c204164642061206d656d626572206077686f6020746f20746865207365742e00b4204d6179206f6e6c792062652063616c6c65642066726f6d20604164644f726967696e60206f7220726f6f742e3472656d6f76655f6d656d626572040c77686f30543a3a4163636f756e7449640c902052656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00c0204d6179206f6e6c792062652063616c6c65642066726f6d206052656d6f76654f726967696e60206f7220726f6f742e2c737761705f6d656d626572081872656d6f766530543a3a4163636f756e7449640c61646430543a3a4163636f756e74496414c02053776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00b8204d6179206f6e6c792062652063616c6c65642066726f6d2060537761704f726967696e60206f7220726f6f742e001101205072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d62657273041c6d656d62657273445665633c543a3a4163636f756e7449643e105901204368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e646c207061737320606d656d6265727360207072652d736f727465642e00bc204d6179206f6e6c792062652063616c6c65642066726f6d206052657365744f726967696e60206f7220726f6f742e286368616e67655f6b6579040c6e657730543a3a4163636f756e74496414d82053776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f4204d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e002101205072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d65040c77686f30543a3a4163636f756e74496404c02053657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e2c636c6561725f7072696d650004982052656d6f766520746865207072696d65206d656d626572206966206974206578697374732e01182c4d656d62657241646465640004e42054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f7665640004ec2054686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d62657273537761707065640004dc2054776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740004190120546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000488204f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d7904bc73705f7374643a3a6d61726b65723a3a5068616e746f6d446174613c284163636f756e7449642c204576656e74293e0470205068616e746f6d206d656d6265722c206e6576657220757365642e00003c46696e616c697479547261636b65720001042866696e616c5f68696e74041068696e745c436f6d706163743c543a3a426c6f636b4e756d6265723e08f42048696e7420746861742074686520617574686f72206f66207468697320626c6f636b207468696e6b732074686520626573742066696e616c697a65646c20626c6f636b2069732074686520676976656e206e756d6265722e00082857696e646f7753697a6538543a3a426c6f636b4e756d626572106500000004190120546865206e756d626572206f6620726563656e742073616d706c657320746f206b6565702066726f6d207468697320636861696e2e2044656661756c74206973203130312e345265706f72744c6174656e637938543a3a426c6f636b4e756d62657210e8030000041d01205468652064656c617920616674657220776869636820706f696e74207468696e6773206265636f6d6520737573706963696f75732e2044656661756c7420697320313030302e0838416c72656164795570646174656404c82046696e616c2068696e74206d7573742062652075706461746564206f6e6c79206f6e636520696e2074686520626c6f636b1c42616448696e7404902046696e616c697a6564206865696768742061626f766520626c6f636b206e756d6265721c4772616e647061013c4772616e64706146696e616c6974791814537461746501006c53746f72656453746174653c543a3a426c6f636b4e756d6265723e04000490205374617465206f66207468652063757272656e7420617574686f72697479207365742e3450656e64696e674368616e676500008c53746f72656450656e64696e674368616e67653c543a3a426c6f636b4e756d6265723e040004c42050656e64696e67206368616e67653a20287369676e616c65642061742c207363686564756c6564206368616e6765292e284e657874466f72636564000038543a3a426c6f636b4e756d626572040004bc206e65787420626c6f636b206e756d6265722077686572652077652063616e20666f7263652061206368616e67652e1c5374616c6c656400008028543a3a426c6f636b4e756d6265722c20543a3a426c6f636b4e756d626572290400049020607472756560206966207765206172652063757272656e746c79207374616c6c65642e3043757272656e7453657449640100145365744964200000000000000000085d0120546865206e756d626572206f66206368616e6765732028626f746820696e207465726d73206f66206b65797320616e6420756e6465726c79696e672065636f6e6f6d696320726573706f6e736962696c697469657329c420696e20746865202273657422206f66204772616e6470612076616c696461746f72732066726f6d2067656e657369732e30536574496453657373696f6e0001051453657449643053657373696f6e496e6465780004000859012041206d617070696e672066726f6d206772616e6470612073657420494420746f2074686520696e646578206f6620746865202a6d6f737420726563656e742a2073657373696f6e20666f722077686963682069747368206d656d62657273207765726520726573706f6e7369626c652e0104487265706f72745f6d69736265686176696f72041c5f7265706f72741c5665633c75383e0464205265706f727420736f6d65206d69736265686176696f722e010c384e6577417574686f7269746965730434417574686f726974794c6973740490204e657720617574686f726974792073657420686173206265656e206170706c6965642e1850617573656400049c2043757272656e7420617574686f726974792073657420686173206265656e207061757365642e1c526573756d65640004a02043757272656e7420617574686f726974792073657420686173206265656e20726573756d65642e00102c50617573654661696c656408090120417474656d707420746f207369676e616c204752414e445041207061757365207768656e2074686520617574686f72697479207365742069736e2774206c697665a8202865697468657220706175736564206f7220616c72656164792070656e64696e67207061757365292e30526573756d654661696c656408150120417474656d707420746f207369676e616c204752414e44504120726573756d65207768656e2074686520617574686f72697479207365742069736e277420706175736564a42028656974686572206c697665206f7220616c72656164792070656e64696e6720726573756d65292e344368616e676550656e64696e6704ec20417474656d707420746f207369676e616c204752414e445041206368616e67652077697468206f6e6520616c72656164792070656e64696e672e1c546f6f536f6f6e04c02043616e6e6f74207369676e616c20666f72636564206368616e676520736f20736f6f6e206166746572206c6173742e20547265617375727901205472656173757279143450726f706f73616c436f756e7401003450726f706f73616c496e646578100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c730001053450726f706f73616c496e6465789050726f706f73616c3c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e24417070726f76616c730100485665633c50726f706f73616c496e6465783e040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e10546970730001051c543a3a48617368f04f70656e5469703c543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265722c20543a3a486173683e0004000c59012054697073207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e730001061c543a3a486173681c5665633c75383e0004000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e01203470726f706f73655f7370656e64081476616c756554436f6d706163743c42616c616e63654f663c543e3e2c62656e65666963696172798c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365242d012050757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c7565350120697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e636520746865542070726f706f73616c20697320617761726465642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e94202d204f6e65204442206368616e67652c206f6e6520657874726120444220656e7472792e302023203c2f7765696768743e3c72656a6563745f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e1cfc2052656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e40202d204f6e6520444220636c6561722e302023203c2f7765696768743e40617070726f76655f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e205d0120417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279ac20616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e387265706f72745f617765736f6d650818726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e7449644c5d01205265706f727420736f6d657468696e672060726561736f6e60207468617420646573657276657320612074697020616e6420636c61696d20616e79206576656e7475616c207468652066696e6465722773206665652e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005501205061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173d420605469705265706f72744465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743e9c202d20604f2852296020776865726520605260206c656e677468206f662060726561736f6e602e64202d204f6e652062616c616e6365206f7065726174696f6e2e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e2c726574726163745f7469700410686173681c543a3a486173684c550120526574726163742061207072696f72207469702d7265706f72742066726f6d20607265706f72745f617765736f6d65602c20616e642063616e63656c207468652070726f63657373206f662074697070696e672e00e0204966207375636365737366756c2c20746865206f726967696e616c206465706f7369742077696c6c20626520756e72657365727665642e00510120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642074686520746970206964656e746966696564206279206068617368604501206d7573742068617665206265656e207265706f7274656420627920746865207369676e696e67206163636f756e74207468726f75676820607265706f72745f617765736f6d65602028616e64206e6f7450207468726f75676820607469705f6e657760292e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e009020456d697473206054697052657472616374656460206966207375636365737366756c2e002c2023203c7765696768743e24202d20604f2854296064202d204f6e652062616c616e6365206f7065726174696f6e2ec4202d2054776f2073746f726167652072656d6f76616c7320286f6e6520726561642c20636f64656320604f28542960292e34202d204f6e65206576656e742e302023203c2f7765696768743e1c7469705f6e65770c18726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e744964247469705f76616c75653042616c616e63654f663c543e4cf4204769766520612074697020666f7220736f6d657468696e67206e65773b206e6f2066696e6465722773206665652077696c6c2062652074616b656e2e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743e4101202d20604f2852202b2054296020776865726520605260206c656e677468206f662060726561736f6e602c2060546020697320746865206e756d626572206f6620746970706572732e2060546020697345012020206e61747572616c6c79206361707065642061732061206d656d62657273686970207365742c20605260206973206c696d69746564207468726f756768207472616e73616374696f6e2d73697a652e0d01202d2054776f2073746f7261676520696e73657274696f6e732028636f6465637320604f285229602c20604f28542960292c206f6e65207265616420604f283129602e34202d204f6e65206576656e742e302023203c2f7765696768743e0c7469700810686173681c543a3a48617368247469705f76616c75653042616c616e63654f663c543e4cb4204465636c6172652061207469702076616c756520666f7220616e20616c72656164792d6f70656e207469702e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f66207468652068617368206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279382020206163636f756e742049442e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e00650120456d6974732060546970436c6f73696e676020696620746865207468726573686f6c64206f66207469707065727320686173206265656e207265616368656420616e642074686520636f756e74646f776e20706572696f64342068617320737461727465642e002c2023203c7765696768743e24202d20604f285429600101202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28542960292c206f6e652073746f72616765207265616420604f283129602e4c202d20557020746f206f6e65206576656e742e302023203c2f7765696768743e24636c6f73655f7469700410686173681c543a3a48617368386020436c6f736520616e64207061796f75742061207469702e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0019012054686520746970206964656e74696669656420627920606861736860206d75737420686176652066696e69736865642069747320636f756e74646f776e20706572696f642e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e002c2023203c7765696768743e24202d20604f28542960e4202d204f6e652073746f726167652072657472696576616c2028636f64656320604f285429602920616e642074776f2072656d6f76616c732e88202d20557020746f2074687265652062616c616e6365206f7065726174696f6e732e302023203c2f7765696768743e012c2050726f706f736564043450726f706f73616c496e6465780438204e65772070726f706f73616c2e205370656e64696e67041c42616c616e636504e8205765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c3450726f706f73616c496e6465781c42616c616e6365244163636f756e744964048020536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a6563746564083450726f706f73616c496e6465781c42616c616e636504b420412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e74041c42616c616e6365048c20536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572041c42616c616e6365043101205370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f736974041c42616c616e6365048020536f6d652066756e64732068617665206265656e206465706f73697465642e184e657754697004104861736804982041206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e28546970436c6f73696e6704104861736804dc2041207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e24546970436c6f7365640c1048617368244163636f756e7449641c42616c616e636504882041207469702073756767657374696f6e20686173206265656e20636c6f7365642e3054697052657472616374656404104861736804942041207469702073756767657374696f6e20686173206265656e207265747261637465642e203050726f706f73616c426f6e641c5065726d696c6c1050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d3042616c616e63654f663c543e4000407a10f35a00000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f6438543a3a426c6f636b4e756d6265721080430000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e1c5065726d696c6c1020a107000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e30546970436f756e74646f776e38543a3a426c6f636b4e756d62657210804300000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e646572734665651c50657263656e7404140431012054686520616d6f756e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f736974426173653042616c616e63654f663c543e4000407a10f35a0000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e5c5469705265706f72744465706f736974506572427974653042616c616e63654f663c543e400010a5d4e800000000000000000000000409012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e2e2070496e73756666696369656e7450726f706f7365727342616c616e6365047c2050726f706f73657227732062616c616e636520697320746f6f206c6f772e50496e76616c696450726f706f73616c496e646578046c204e6f2070726f706f73616c206174207468617420696e6465782e30526561736f6e546f6f42696704882054686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e048c20546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e54697004642054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e64657204210120546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e042d0120546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d617475726504350120546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e24436f6e7472616374730124436f6e7472616374731c204761735370656e7401000c476173200000000000000000048020476173207370656e7420736f2066617220696e207468697320626c6f636b2e3c43757272656e745363686564756c650100205363686564756c65e5010000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000008700000000000000af0000000000000001000000000000000100000000000000640000000000000004000000000001001000000000400000002000000004942043757272656e7420636f7374207363686564756c6520666f7220636f6e7472616374732e305072697374696e65436f64650001062c436f6465486173683c543e1c5665633c75383e0004000465012041206d617070696e672066726f6d20616e206f726967696e616c20636f6465206861736820746f20746865206f726967696e616c20636f64652c20756e746f756368656420627920696e737472756d656e746174696f6e2e2c436f646553746f726167650001062c436f6465486173683c543e587761736d3a3a5072656661625761736d4d6f64756c650004000465012041206d617070696e67206265747765656e20616e206f726967696e616c20636f6465206861736820616e6420696e737472756d656e746564207761736d20636f64652c20726561647920666f7220657865637574696f6e2e384163636f756e74436f756e74657201000c753634200000000000000000045420546865207375627472696520636f756e7465722e38436f6e7472616374496e666f4f6600010530543a3a4163636f756e7449643c436f6e7472616374496e666f3c543e00040004a82054686520636f6465206173736f6369617465642077697468206120676976656e206163636f756e742e20476173507269636501003042616c616e63654f663c543e4001000000000000000000000000000000047820546865207072696365206f66206f6e6520756e6974206f66206761732e01143c7570646174655f7363686564756c6504207363686564756c65205363686564756c650cb4205570646174657320746865207363686564756c6520666f72206d65746572696e6720636f6e7472616374732e000d0120546865207363686564756c65206d7573742068617665206120677265617465722076657273696f6e207468616e207468652073746f726564207363686564756c652e207075745f636f646508246761735f6c696d697430436f6d706163743c4761733e10636f64651c5665633c75383e085d012053746f7265732074686520676976656e2062696e617279205761736d20636f646520696e746f2074686520636861696e27732073746f7261676520616e642072657475726e73206974732060636f646568617368602ed420596f752063616e20696e7374616e746961746520636f6e747261637473206f6e6c7920776974682073746f72656420636f64652e1063616c6c1010646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c756554436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d697430436f6d706163743c4761733e10646174611c5665633c75383e1c0901204d616b657320612063616c6c20746f20616e206163636f756e742c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e002901202a20496620746865206163636f756e74206973206120736d6172742d636f6e7472616374206163636f756e742c20746865206173736f63696174656420636f64652077696c6c206265b020657865637574656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e1901202a20496620746865206163636f756e74206973206120726567756c6172206163636f756e742c20616e792076616c75652077696c6c206265207472616e736665727265642e4901202a204966206e6f206163636f756e742065786973747320616e64207468652063616c6c2076616c7565206973206e6f74206c657373207468616e20606578697374656e7469616c5f6465706f736974602c1501206120726567756c6172206163636f756e742077696c6c206265206372656174656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e2c696e7374616e74696174651024656e646f776d656e7454436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d697430436f6d706163743c4761733e24636f64655f686173682c436f6465486173683c543e10646174611c5665633c75383e28bd0120496e7374616e7469617465732061206e657720636f6e74726163742066726f6d207468652060636f646568617368602067656e65726174656420627920607075745f636f6465602c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e009820496e7374616e74696174696f6e20697320657865637574656420617320666f6c6c6f77733a004101202d205468652064657374696e6174696f6e206164647265737320697320636f6d7075746564206261736564206f6e207468652073656e64657220616e642068617368206f662074686520636f64652e0501202d2054686520736d6172742d636f6e7472616374206163636f756e7420697320637265617465642061742074686520636f6d707574656420616464726573732e6d01202d20546865206063746f725f636f64656020697320657865637574656420696e2074686520636f6e74657874206f6620746865206e65776c792d63726561746564206163636f756e742e204275666665722072657475726e65645d0120202061667465722074686520657865637574696f6e206973207361766564206173207468652060636f646560206f6620746865206163636f756e742e205468617420636f64652077696c6c20626520696e766f6b6564a820202075706f6e20616e792063616c6c2072656365697665642062792074686973206163636f756e742e7c202d2054686520636f6e747261637420697320696e697469616c697a65642e3c636c61696d5f73757263686172676508106465737430543a3a4163636f756e744964286175785f73656e646572504f7074696f6e3c543a3a4163636f756e7449643e14710120416c6c6f777320626c6f636b2070726f64756365727320746f20636c61696d206120736d616c6c2072657761726420666f72206576696374696e67206120636f6e74726163742e204966206120626c6f636b2070726f64756365721501206661696c7320746f20646f20736f2c206120726567756c61722075736572732077696c6c20626520616c6c6f77656420746f20636c61696d20746865207265776172642e00390120496620636f6e7472616374206973206e6f742065766963746564206173206120726573756c74206f6620746869732063616c6c2c206e6f20616374696f6e73206172652074616b656e20616e64ac207468652073656e646572206973206e6f7420656c696769626c6520666f7220746865207265776172642e0124205472616e736665720c244163636f756e744964244163636f756e7449641c42616c616e6365046901205472616e736665722068617070656e6564206066726f6d6020746f2060746f60207769746820676976656e206076616c7565602061732070617274206f662061206063616c6c60206f722060696e7374616e7469617465602e30496e7374616e74696174656408244163636f756e744964244163636f756e74496404dc20436f6e7472616374206465706c6f7965642062792061646472657373206174207468652073706563696669656420616464726573732e1c4576696374656408244163636f756e74496410626f6f6c18e420436f6e747261637420686173206265656e206576696374656420616e64206973206e6f7720696e20746f6d6273746f6e652073746174652e0024202320506172616d73000d01202d2060636f6e7472616374603a20604163636f756e744964603a20546865206163636f756e74204944206f6620746865206576696374656420636f6e74726163742e3501202d2060746f6d6273746f6e65603a2060626f6f6c603a205472756520696620746865206576696374656420636f6e7472616374206c65667420626568696e64206120746f6d6273746f6e652e20526573746f72656414244163636f756e744964244163636f756e74496410486173681c42616c616e636510626f6f6c24bc20526573746f726174696f6e20666f72206120636f6e747261637420686173206265656e20696e697469617465642e0024202320506172616d7300f4202d2060646f6e6f72603a20604163636f756e744964603a204163636f756e74204944206f662074686520726573746f72696e6720636f6e7472616374ec202d206064657374603a20604163636f756e744964603a204163636f756e74204944206f662074686520726573746f72656420636f6e7472616374e8202d2060636f64655f68617368603a206048617368603a20436f64652068617368206f662074686520726573746f72656420636f6e74726163741901202d206072656e745f616c6c6f77616e63653a206042616c616e6365603a2052656e7420616c6c6f77616e6365206f662074686520726573746f72656420636f6e7472616374f0202d206073756363657373603a2060626f6f6c603a20547275652069662074686520726573746f726174696f6e20776173207375636365737366756c28436f646553746f72656404104861736804b820436f646520776974682074686520737065636966696564206861736820686173206265656e2073746f7265642e3c5363686564756c6555706461746564040c75333204c020547269676765726564207768656e207468652063757272656e74207363686564756c6520697320757064617465642e4c44656c656761746564446973706174636865640c244163636f756e74496420446f7567686e757410626f6f6c08790120412063616c6c2077617320646973706174636865642066726f6d2074686520676976656e206163636f756e742077697468206120646f7567686e75742e2054686520626f6f6c207369676e616c7320776865746865722069742077617374207375636365737366756c20657865637574696f6e206f72206e6f742e284469737061746368656408244163636f756e74496410626f6f6c08390120412063616c6c2077617320646973706174636865642066726f6d2074686520676976656e206163636f756e742e2054686520626f6f6c207369676e616c7320776865746865722069742077617374207375636365737366756c20657865637574696f6e206f72206e6f742e44436f6e7472616374457865637574696f6e08244163636f756e7449641c5665633c75383e04090120416e206576656e74206465706f73697465642075706f6e20657865637574696f6e206f66206120636f6e74726163742066726f6d20746865206163636f756e742e3c4c5369676e6564436c61696d48616e646963617038543a3a426c6f636b4e756d626572100200000010e0204e756d626572206f6620626c6f636b2064656c617920616e2065787472696e73696320636c61696d20737572636861726765206861732e000d01205768656e20636c61696d207375726368617267652069732063616c6c656420627920616e2065787472696e736963207468652072656e7420697320636865636b65646820666f722063757272656e745f626c6f636b202d2064656c617940546f6d6273746f6e654465706f7369743042616c616e63654f663c543e4000407a10f35a0000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f2067656e6572617465206120746f6d6273746f6e652e4453746f7261676553697a654f66667365740c75333210080000000855012053697a65206f66206120636f6e7472616374206174207468652074696d65206f6620696e7374616e74696174696f6e2e205468697320697320612073696d706c652077617920746f20656e737572652074686174a420656d70747920636f6e747261637473206576656e7475616c6c7920676574732064656c657465642e2c52656e74427974654665653042616c616e63654f663c543e4000407a10f35a00000000000000000000043501205072696365206f6620612062797465206f662073746f7261676520706572206f6e6520626c6f636b20696e74657276616c2e2053686f756c642062652067726561746572207468616e20302e4452656e744465706f7369744f66667365743042616c616e63654f663c543e4000008a5d7845630100000000000000001c05012054686520616d6f756e74206f662066756e6473206120636f6e74726163742073686f756c64206465706f73697420696e206f7264657220746f206f6666736574582074686520636f7374206f66206f6e6520627974652e006901204c6574277320737570706f736520746865206465706f73697420697320312c303030204255202862616c616e636520756e697473292f6279746520616e64207468652072656e7420697320312042552f627974652f6461792c5901207468656e206120636f6e7472616374207769746820312c3030302c3030302042552074686174207573657320312c303030206279746573206f662073746f7261676520776f756c6420706179206e6f2072656e742e4d0120427574206966207468652062616c616e6365207265647563656420746f203530302c30303020425520616e64207468652073746f7261676520737461796564207468652073616d6520617420312c3030302c78207468656e20697420776f756c6420706179203530302042552f6461792e3c5375726368617267655265776172643042616c616e63654f663c543e400080a1a76b4a3500000000000000000008e4205265776172642074686174206973207265636569766564206279207468652070617274792077686f736520746f75636820686173206c65646820746f2072656d6f76616c206f66206120636f6e74726163742e2c4372656174696f6e4665653042616c616e63654f663c543e4040420f00000000000000000000000000049c205468652066656520726571756972656420746f2063726561746520616e206163636f756e742e485472616e73616374696f6e426173654665653042616c616e63654f663c543e40e803000000000000000000000000000004dc205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b2074686520626173652e485472616e73616374696f6e427974654665653042616c616e63654f663c543e4080969800000000000000000000000000040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e2c436f6e74726163744665653042616c616e63654f663c543e400010a5d4e80000000000000000000000084101205468652066656520726571756972656420746f20696e7374616e7469617465206120636f6e747261637420696e7374616e63652e204120726561736f6e61626c652064656661756c742076616c75651c2069732032312e2c43616c6c426173654665650c47617320e803000000000000081d0120546865206261736520666565206368617267656420666f722063616c6c696e6720696e746f206120636f6e74726163742e204120726561736f6e61626c652064656661756c74382076616c7565206973203133352e48496e7374616e7469617465426173654665650c47617320e80300000000000008390120546865206261736520666565206368617267656420666f7220696e7374616e74696174696e67206120636f6e74726163742e204120726561736f6e61626c652064656661756c742076616c756520206973203137352e204d617844657074680c753332102000000008310120546865206d6178696d756d206e657374696e67206c6576656c206f6620612063616c6c2f696e7374616e746961746520737461636b2e204120726561736f6e61626c652064656661756c74382076616c7565206973203130302e304d617856616c756553697a650c753332100040000004390120546865206d6178696d756d2073697a65206f6620612073746f726167652076616c756520696e2062797465732e204120726561736f6e61626c652064656661756c74206973203136204b69422e34426c6f636b4761734c696d69740c476173200000c16ff286230008250120546865206d6178696d756d20616d6f756e74206f6620676173207468617420636f756c6420626520657870656e6465642070657220626c6f636b2e204120726561736f6e61626c65742064656661756c742076616c75652069732031305f3030305f3030302e1858496e76616c69645363686564756c6556657273696f6e0405012041206e6577207363686564756c65206d7573742068617665206120677265617465722076657273696f6e207468616e207468652063757272656e74206f6e652e54496e76616c6964537572636861726765436c61696d04550120416e206f726967696e206d757374206265207369676e6564206f7220696e686572656e7420616e6420617578696c696172792073656e646572206f6e6c792070726f7669646564206f6e20696e686572656e742e54496e76616c6964536f75726365436f6e747261637404dc2043616e6e6f7420726573746f72652066726f6d206e6f6e6578697374696e67206f7220746f6d6273746f6e6520636f6e74726163742e68496e76616c696444657374696e6174696f6e436f6e747261637404c42043616e6e6f7420726573746f726520746f206e6f6e6578697374696e67206f7220616c69766520636f6e74726163742e40496e76616c6964546f6d6273746f6e65046020546f6d6273746f6e657320646f6e2774206d617463682e54496e76616c6964436f6e74726163744f726967696e04bc20416e206f726967696e20547269654964207772697474656e20696e207468652063757272656e7420626c6f636b2e105375646f01105375646f040c4b6579010030543a3a4163636f756e74496480000000000000000000000000000000000000000000000000000000000000000004842054686520604163636f756e74496460206f6620746865207375646f206b65792e010c107375646f041063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e2839012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ec8202d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b2031302c3030302e302023203c2f7765696768743e1c7365745f6b6579040c6e65778c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652475012041757468656e74696361746573207468652063757272656e74207375646f206b657920616e6420736574732074686520676976656e204163636f756e7449642028606e6577602920617320746865206e6577207375646f206b65792e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e1c7375646f5f6173080c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e2c51012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c207769746820605369676e656460206f726967696e2066726f6d44206120676976656e206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ec8202d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b2031302c3030302e302023203c2f7765696768743e010c1453756469640410626f6f6c04602041207375646f206a75737420746f6f6b20706c6163652e284b65794368616e67656404244163636f756e74496404f020546865207375646f6572206a757374207377697463686564206964656e746974793b20746865206f6c64206b657920697320737570706c6965642e285375646f4173446f6e650410626f6f6c04602041207375646f206a75737420746f6f6b20706c6163652e00042c526571756972655375646f04802053656e646572206d75737420626520746865205375646f206163636f756e7420496d4f6e6c696e650120496d4f6e6c696e6510384865617274626561744166746572010038543a3a426c6f636b4e756d62657210000000001831012054686520626c6f636b206e756d6265722061667465722077686963682069742773206f6b20746f2073656e64206865617274626561747320696e2063757272656e742073657373696f6e2e0011012041742074686520626567696e6e696e67206f6620656163682073657373696f6e20776520736574207468697320746f20612076616c756520746861742073686f756c64d02066616c6c20726f7567686c7920696e20746865206d6964646c65206f66207468652073657373696f6e206475726174696f6e2e010120546865206964656120697320746f206669727374207761697420666f72207468652076616c696461746f727320746f2070726f64756365206120626c6f636b390120696e207468652063757272656e742073657373696f6e2c20736f20746861742074686520686561727462656174206c61746572206f6e2077696c6c206e6f74206265206e65636573736172792e104b65797301004c5665633c543a3a417574686f7269747949643e040004d0205468652063757272656e7420736574206f66206b6579732074686174206d61792069737375652061206865617274626561742e485265636569766564486561727462656174730002053053657373696f6e496e6465782441757468496e6465781c5665633c75383e05040008f020466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206041757468496e6465786020746f8020606f6666636861696e3a3a4f70617175654e6574776f726b5374617465602e38417574686f726564426c6f636b730102053053657373696f6e496e64657838543a3a56616c696461746f7249640c75333205100000000008150120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f662060543a3a56616c696461746f7249646020746f20746865c8206e756d626572206f6620626c6f636b7320617574686f7265642062792074686520676976656e20617574686f726974792e0104246865617274626561740824686561727462656174644865617274626561743c543a3a426c6f636b4e756d6265723e285f7369676e6174757265bc3c543a3a417574686f7269747949642061732052756e74696d654170705075626c69633e3a3a5369676e617475726500010c444865617274626561745265636569766564042c417574686f72697479496404c02041206e657720686561727462656174207761732072656365697665642066726f6d2060417574686f726974794964601c416c6c476f6f640004d42041742074686520656e64206f66207468652073657373696f6e2c206e6f206f6666656e63652077617320636f6d6d69747465642e2c536f6d654f66666c696e6504605665633c4964656e74696669636174696f6e5475706c653e0431012041742074686520656e64206f66207468652073657373696f6e2c206174206c65617374206f6e63652076616c696461746f722077617320666f756e6420746f206265206f66666c696e652e000828496e76616c69644b65790464204e6f6e206578697374656e74207075626c6963206b65792e4c4475706c6963617465644865617274626561740458204475706c696361746564206865617274626561742e48417574686f72697479446973636f76657279000100000000204f6666656e63657301204f6666656e6365730c1c5265706f727473000105345265706f727449644f663c543ed04f6666656e636544657461696c733c543a3a4163636f756e7449642c20543a3a4964656e74696669636174696f6e5475706c653e00040004490120546865207072696d61727920737472756374757265207468617420686f6c647320616c6c206f6666656e6365207265636f726473206b65796564206279207265706f7274206964656e746966696572732e58436f6e63757272656e745265706f727473496e646578010205104b696e64384f706171756554696d65536c6f74485665633c5265706f727449644f663c543e3e050400042901204120766563746f72206f66207265706f727473206f66207468652073616d65206b696e6420746861742068617070656e6564206174207468652073616d652074696d6520736c6f742e485265706f72747342794b696e64496e646578010105104b696e641c5665633c75383e00040018110120456e756d65726174657320616c6c207265706f727473206f662061206b696e6420616c6f6e672077697468207468652074696d6520746865792068617070656e65642e00bc20416c6c207265706f7274732061726520736f72746564206279207468652074696d65206f66206f6666656e63652e004901204e6f74652074686174207468652061637475616c2074797065206f662074686973206d617070696e6720697320605665633c75383e602c207468697320697320626563617573652076616c756573206f66690120646966666572656e7420747970657320617265206e6f7420737570706f7274656420617420746865206d6f6d656e7420736f2077652061726520646f696e6720746865206d616e75616c2073657269616c697a6174696f6e2e010001041c4f6666656e636508104b696e64384f706171756554696d65536c6f7408550120546865726520697320616e206f6666656e6365207265706f72746564206f662074686520676976656e20606b696e64602068617070656e656420617420746865206073657373696f6e5f696e6465786020616e64390120286b696e642d7370656369666963292074696d6520736c6f742e2054686973206576656e74206973206e6f74206465706f736974656420666f72206475706c696361746520736c61736865732e00006052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100305665633c543a3a486173683e04000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e01000000002853796c6f47726f757073012853796c6f47726f7570730c1847726f7570730101021c543a3a486173687047726f75703c543a3a4163636f756e7449642c20543a3a486173683e008c0000000000000000000000000000000000000000000000000000000000000000000000002c4d656d626572736869707301010230543a3a4163636f756e744964305665633c543a3a486173683e00040004c02053746f726573207468652067726f7570206964732074686174206120757365722069732061206d656d626572206f66344d656d626572446576696365730101021c543a3a48617368745665633c28543a3a4163636f756e7449642c204465766963654964293e00040004fc2053746f72657320746865206b6e6f776e206d656d6265722f6465766963654964207475706c657320666f72206120706172746963756c61722067726f7570011c306372656174655f67726f7570102067726f75705f69641c543a3a48617368106d657461104d6574611c696e7669746573645665633c496e766974653c543a3a4163636f756e7449643e3e2867726f75705f6461746158285661756c744b65792c205661756c7456616c75652914ec204372656174657320612067726f7570207769746820616c6c20696e7669746565732c20736574207468652063616c6c65722061732061646d696e0020207765696768743a3501204f2831292e204e6f74653a206e756d626572206f66206d656d62657220696e7669746565206973206361707065642061742031352c20736f206571756976616c656e7420746f204f2831292e88204c696d69746564206e756d626572206f662073746f72616765207772697465732e2c6c656176655f67726f7570082067726f75705f69641c543a3a486173682467726f75705f6b6579404f7074696f6e3c5661756c744b65793e140501204c656176657320612067726f75702e204966206e6f206f6e65206973206c656674206174207468652067726f75702c2064656c657465207468652067726f75700020207765696768743ad0204f286d29207768657265206d20697320746865206e756d626572206f66206d656d6265727320696e20746861742067726f7570e0204c696d69746564206e756d626572206f66207265616420616e64206d6178696d756d206f6620322073746f72616765207772697465732e347570646174655f6d656d626572082067726f75705f69641c543a3a48617368106d657461104d65746114b82055706461746520746865206d6574616461746120666f72207468652063616c6c657220696e20612067726f75700020207765696768743ad0204f286d29207768657265206d20697320746865206e756d626572206f66206d656d6265727320696e20746861742067726f757090204c696d69746564206e756d626572206f66207265616420616e6420312077726974652e447570736572745f67726f75705f6d657461082067726f75705f69641c543a3a48617368106d657461104d65746114ac204d657267652f7570646174652f72656d6f7665206d6574616461746120666f72207468652067726f75700020207765696768743ae0204f286e29207768657265206e20697320746865206e756d626572206f66206d65746164617461206b657920696e2074686520696e707574c8204e756d626572206f66207265616420616e642077726974657320646570656e64696e67206f6e20696e7075742064617461386372656174655f696e7669746573082067726f75705f69641c543a3a486173681c696e7669746573645665633c496e766974653c543a3a4163636f756e7449643e3e14902053656e6420696e7669746573206f757420746f20616c6c2074686520696e76697465650020207765696768743a98204f286e29207768657265206e20697320746865206e756d626572206f6620696e766974656588204c696d69746564206e756d626572206f66207265616420616e6420777269746573346163636570745f696e76697465182067726f75705f69641c543a3a486173681c7061796c6f61646c4163636570745061796c6f61643c543a3a4163636f756e7449643e28696e766974655f6b6579104832353620696e626f785f69640c753332247369676e617475726548656432353531393a3a5369676e61747572652867726f75705f6461746158285661756c744b65792c205661756c7456616c75652914c8204163636570742074686520696e7669746174696f6e20616e64206164642061207573657220746f207468652067726f75700020207765696768743a5901204f286e202b206d29207768657265206e20697320746865206e756d626572206f662067726f7570732c20616e64206d20697320746865206e756d626572206f66206d656d6265727320696e207468652067726f7570d4204c696d69746564206e756d626572206f66207265616420616e642077726974657320746f206d756c7469706c65207461626c6573387265766f6b655f696e7669746573082067726f75705f69641c543a3a486173682c696e766974655f6b657973245665633c483235363e1454205265766f6b6520616e20696e7669746174696f6e0020207765696768743abc204f286e29207768657265206e20746865206e756d626572206f66206578697374696e6720696e7669746174696f6e88204c696d69746564206e756d626572206f66207265616420616e64207772697465730000002053796c6f45324545012053796c6f4532454504345072654b657942756e646c65730101026028543a3a4163636f756e7449642c20446576696365496429445665633c5072654b657942756e646c653e00040000010c3c72656769737465725f64657669636508246465766963655f696420446576696365496410706b6273445665633c5072654b657942756e646c653e14842052656769737465722061206e65772064657669636520666f72206120757365720020207765696768743ad0204f286729207768657265206720697320746865206e756d626572206f662067726f75707320746865207573657220697320696ee0204d756c7469706c6520726561647320616e642077726974657320646570656e64696e67206f6e207468652075736572207374617465732e387265706c656e6973685f706b627308246465766963655f696420446576696365496410706b6273445665633c5072654b657942756e646c653e14cc204164642061206e6577205072654b65792062756e646c6520666f72206120676976656e20757365722773206465766963652e0020207765696768743a14204f2831292420312077726974652e3477697468647261775f706b62730828726571756573745f69641c543a3a486173682c77616e7465645f706b6273745665633c28543a3a4163636f756e7449642c204465766963654964293e14510120526574726965766520616e642072656d6f766520746865205072656b65792062756e646c6573206f66206120676976656e206c697374206f662075736572206163636f756e747320616e6420646576696365730020207765696768743a9901204f286e202a206b29207768657265206e206973207468652073697a65206f6620696e707574206077616e7465645f706b6273602c20616e64206b20697320746865206e756d626572206578697374696e6720504b425320696e207468652073746f72616765c4204e756d626572206f66207265616420616e64207772697465207363616c65642062792073697a65206f6620696e7075740000002853796c6f446576696365012853796c6f446576696365041c4465766963657301010230543a3a4163636f756e744964345665633c44657669636549643e00040000010000000c4c5573657249644e6f745265676973746572656404190120546865726520617265206e6f2064657669636573207265676973746572656420666f72207573657220286d697373696e6720757365725f696420696e204465766963657329384465766963654964457869737473040d012044657669636520697320616c7265616479207265676973746572656420746f207573657220286465766963655f696420697320616c726561647920696e2075736529544d61784465766963654c696d69745265616368656404ec204120757365722063616e27742068617665206d6f7265207468616e204d41585f44455649434553207265676973746572656420646576696365732453796c6f496e626f78012453796c6f496e626f78082c4e657874496e646578657301010230543a3a4163636f756e744964244d6573736167654964001000000000001856616c75657301010230543a3a4163636f756e744964645665633c284d65737361676549642c204d657373616765293e000400000108246164645f76616c7565081c706565725f696430543a3a4163636f756e7449641476616c75651c4d6573736167651474204164642061206e65772076616c756520696e746f2073746f726167650020207765696768743a14204f2831292020312077726974653464656c6574655f76616c756573042476616c75655f696473385665633c4d65737361676549643e14702044656c65746520612076616c75652066726f6d2073746f726167650020207765696768743ac0204f286e29207768657265206e206973206e756d626572206f662076616c75657320696e207468652073746f7261676520203120777269746500000c404d61784d6573736167654c656e67746804d02041206d6573736167652063616e6e6f742062652067726561746572207468616e204d41585f4d4553534147455f4c454e475448404d617844656c6574654d65737361676504d82043616e6e6f742064656c657465206d6f7265207468616e204d41585f44454c4554455f4d4553534147455320617420612074696d65444d65737361676549644f766572666c6f7704d82043616e6e6f742061737369676e20616e79206d6f72652069647320746f206d6573736167652064756520746f206f766572666c6f773053796c6f526573706f6e7365013053796c6f526573706f6e73650424526573706f6e7365730101025c28543a3a4163636f756e7449642c20543a3a486173682958526573706f6e73653c543a3a4163636f756e7449643e0004020001043c72656d6f76655f726573706f6e73650428726571756573745f69641c543a3a48617368148c2052656d6f766573206120726573706f6e73652066726f6d206120726571756573742e0020207765696768743a14204f2831292020312077726974650000002453796c6f5661756c74012453796c6f5661756c7404145661756c7401010230543a3a4163636f756e7449646c5665633c285661756c744b65792c205661756c7456616c7565293e000400000108307570736572745f76616c7565080c6b6579205661756c744b65791476616c7565285661756c7456616c7565147420496e73657274206f72207570646174652061207661756c74204b65790020207765696768743a14204f2831292020312077726974653464656c6574655f76616c75657304106b657973345665633c5661756c744b65793e14502052656d6f7665732061207661756c74206b65790020207765696768743a14204f28312920203120777269746500000c1c4d61784b65797304802043616e6e6f742073746f7265206d6f7265207468616e204d41585f4b455953384d617856616c75654c656e67746804c02043616e6e6f742073746f72652076616c7565206c6172676572207468616e204d41585f56414c55455f4c454e475448344d617844656c6574654b65797304c82043616e6e6f742064656c657465206d6f7265207468616e204d41585f44454c4554455f4b45595320617420612074696d652843656e6e7a7853706f74012843656e6e7a7853706f74102c436f726541737365744964010028543a3a41737365744964100000000004582041737365744964206f6620436f72652041737365743844656661756c744665655261746501004c466565526174653c5065724d696c6c696f6e3e400000000000000000000000000000000004642044656661756c742054726164696e6720666565207261746538546f74616c4c69717569646974790101053845786368616e67654b65793c543e28543a3a42616c616e636500400000000000000000000000000000000008e820546f74616c206c697175696469747920686f6c64696e6773206f6620616c6c20696e7665737465727320696e20616e2065786368616e67652e55012069652f20746f74616c5f6c69717569646974792865786368616e676529203d3d2073756d286c69717569646974795f62616c616e63652865786368616e67652c2075736572292920617420616c6c2074696d6573404c697175696469747942616c616e63650102053845786368616e67654b65793c543e30543a3a4163636f756e74496428543a3a42616c616e636502400000000000000000000000000000000008c8204c697175696469747920686f6c64696e6773206f662061207573657220696e20616e2065786368616e676520706f6f6c2ecc204b65793a206028636f72655f61737365745f69642c2074726164655f61737365745f6964292c206163636f756e745f6964600114246275795f61737365741424726563697069656e74504f7074696f6e3c543a3a4163636f756e7449643e3461737365745f746f5f73656c6c4c436f6d706163743c543a3a417373657449643e3061737365745f746f5f6275794c436f6d706163743c543a3a417373657449643e286275795f616d6f756e744c436f6d706163743c543a3a42616c616e63653e306d6178696d756d5f73656c6c4c436f6d706163743c543a3a42616c616e63653e20a420427579206061737365745f746f5f627579602077697468206061737365745f746f5f73656c6c602e090120557365722073706563696669657320616e20657861637420606275795f616d6f756e746020616e64206120606d6178696d756d5f73656c6c6020616d6f756e742e0031012060726563697069656e7460202d204163636f756e7420746f207265636569766520606275795f616d6f756e74602c2064656661756c747320746f20606f726967696e60206966204e6f6e658c206061737365745f746f5f73656c6c60202d20617373657420494420746f2073656c6c84206061737365745f746f5f62757960202d20617373657420494420746f20627579d420606275795f616d6f756e7460202d2054686520616d6f756e74206061737365745f746f5f6275796020746f207075726368617365c020606d6178696d756d5f73656c6c60202d204d6178696d756d206061737365745f746f5f73656c6c6020746f207061792873656c6c5f61737365741424726563697069656e74504f7074696f6e3c543a3a4163636f756e7449643e3461737365745f746f5f73656c6c4c436f6d706163743c543a3a417373657449643e3061737365745f746f5f6275794c436f6d706163743c543a3a417373657449643e2c73656c6c5f616d6f756e744c436f6d706163743c543a3a42616c616e63653e2c6d696e696d756d5f6275794c436f6d706163743c543a3a42616c616e63653e20a42053656c6c206061737365745f746f5f73656c6c6020666f72206061737365745f746f5f627579602e090120557365722073706563696669657320616e206578616374206073656c6c5f616d6f756e746020616e64206120606d696e696d756d5f6275796020616d6f756e742e0031012060726563697069656e7460202d204163636f756e7420746f207265636569766520606275795f616d6f756e74602c2064656661756c747320746f20606f726967696e60206966204e6f6e658c206061737365745f746f5f73656c6c60202d20617373657420494420746f2073656c6c84206061737365745f746f5f62757960202d20617373657420494420746f20627579d8206073656c6c5f616d6f756e7460202d2054686520616d6f756e74206061737365745f746f5f6275796020746f207075726368617365bc20606d696e696d756d5f62757960202d204d6178696d756d206061737365745f746f5f73656c6c6020746f20706179346164645f6c6971756964697479102061737365745f69644c436f6d706163743c543a3a417373657449643e346d696e5f6c69717569646974794c436f6d706163743c543a3a42616c616e63653e406d61785f61737365745f616d6f756e744c436f6d706163743c543a3a42616c616e63653e2c636f72655f616d6f756e744c436f6d706163743c543a3a42616c616e63653e201901204465706f73697420636f726520617373657420616e642074726164652061737365742061742063757272656e7420726174696f20746f206d696e74206c6971756964697479902052657475726e7320616d6f756e74206f66206c6971756964697479206d696e7465642e002420606f726967696e6080206061737365745f696460202d20546865207472616465206173736574204944bc20606d696e5f6c697175696469747960202d20546865206d696e696d756d206c697175696469747920746f20616464b8206061737365745f616d6f756e7460202d20416d6f756e74206f6620747261646520617373657420746f20616464b02060636f72655f616d6f756e7460202d20416d6f756e74206f6620636f726520617373657420746f206164644072656d6f76655f6c6971756964697479102061737365745f69644c436f6d706163743c543a3a417373657449643e546c69717569646974795f746f5f77697468647261774c436f6d706163743c543a3a42616c616e63653e486d696e5f61737365745f77697468647261774c436f6d706163743c543a3a42616c616e63653e446d696e5f636f72655f77697468647261774c436f6d706163743c543a3a42616c616e63653e183501204275726e2065786368616e67652061737365747320746f20776974686472617720636f726520617373657420616e642074726164652061737365742061742063757272656e7420726174696f0080206061737365745f696460202d20546865207472616465206173736574204944050120606c69717569646974795f746f5f776974686472617760202d20416d6f756e74206f6620757365722773206c697175696469747920746f207769746864726177e420606d696e5f61737365745f776974686472617760202d20546865206d696e696d756d2074726164652061737365742077697468647261776ee020606d696e5f636f72655f776974686472617760202d2020546865206d696e696d756d20636f72652061737365742077697468647261776e307365745f6665655f7261746504306e65775f6665655f726174654c466565526174653c5065724d696c6c696f6e3e04c020536574207468652073706f742065786368616e676520776964652066656520726174652028726f6f74206f6e6c7929010c304164644c697175696469747910244163636f756e7449641c42616c616e63651c417373657449641c42616c616e63650401012050726f76696465722c20636f726520617373657420616d6f756e742c2074726164652061737365742069642c20747261646520617373657420616d6f756e743c52656d6f76654c697175696469747910244163636f756e7449641c42616c616e63651c417373657449641c42616c616e63650401012050726f76696465722c20636f726520617373657420616d6f756e742c2074726164652061737365742069642c20747261646520617373657420616d6f756e743441737365745075726368617365141c417373657449641c41737365744964244163636f756e7449641c42616c616e63651c42616c616e636504e0204173736574536f6c642c204173736574426f756768742c2042757965722c20536f6c64416d6f756e742c20426f75676874416d6f756e74004844456d70747945786368616e6765506f6f6c007c496e73756666696369656e7445786368616e6765506f6f6c52657365727665004c496e73756666696369656e7442616c616e63650054496e73756666696369656e744c69717569646974790074496e73756666696369656e745472616465417373657442616c616e63650070496e73756666696369656e74436f7265417373657442616c616e6365003c43616e6e6f7454726164655a65726f006843616e6e6f744164644c6971756964697479576974685a65726f006c4d696e696d756d427579526571756972656d656e744e6f744d657400704d6178696d756d53656c6c526571756972656d656e744e6f744d657400884d696e696d756d54726164654173736574526571756972656d656e744e6f744d657400844d696e696d756d436f72654173736574526571756972656d656e744e6f744d657400844d696e696d756d4c6971756964697479526571756972656d656e744e6f744d657400884d6178696d756d54726164654173736574526571756972656d656e744e6f744d65740060417373657443616e6e6f7453776170466f72497473656c660038496e76616c69644173736574496400204f766572666c6f77003044697669646542795a65726f000420544f7074696f6e5369676e6564457874656e73696f6e30436865636b56657273696f6e30436865636b47656e6573697320436865636b45726128436865636b4e6f6e63652c436865636b576569676874604368617267655472616e73616374696f6e5061796d656e7448436865636b426c6f636b4761734c696d6974', '0xfb759968d9010eaa930cfc5abccd34708beedc81bfdaeabb1dcd53e7233463f7-36': '0x6d6574610b7c1853797374656d011853797374656d3c304163636f756e744e6f6e636501010230543a3a4163636f756e74496420543a3a496e64657800200000000000000000047c2045787472696e73696373206e6f6e636520666f72206163636f756e74732e3845787472696e736963436f756e7400000c753332040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e4c416c6c45787472696e73696373576569676874000018576569676874040004150120546f74616c2077656967687420666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e40416c6c45787472696e736963734c656e00000c753332040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b4861736801010538543a3a426c6f636b4e756d6265721c543a3a48617368008000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101050c7533321c5665633c75383e000400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010038543a3a426c6f636b4e756d6265721000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801001c543a3a4861736880000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e3845787472696e73696373526f6f7401001c543a3a486173688000000000000000000000000000000000000000000000000000000000000000000415012045787472696e7369637320726f6f74206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e1844696765737401002c4469676573744f663c543e040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301008c5665633c4576656e745265636f72643c543a3a4576656e742c20543a3a486173683e3e040004a0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e284576656e74436f756e740100284576656e74496e646578100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f706963730101021c543a3a48617368845665633c28543a3a426c6f636b4e756d6265722c204576656e74496e646578293e000400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000584c61737452756e74696d6555706772616465496e666f04000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e38457865637574696f6e50686173650000145068617365040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e01242866696c6c5f626c6f636b04185f726174696f1c50657262696c6c040901204120646973706174636820746861742077696c6c2066696c6c2074686520626c6f636b2077656967687420757020746f2074686520676976656e20726174696f2e1872656d61726b041c5f72656d61726b1c5665633c75383e046c204d616b6520736f6d65206f6e2d636861696e2072656d61726b2e387365745f686561705f7061676573041470616765730c75363404fc2053657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e207365745f636f64650410636f64651c5665633c75383e04682053657420746865206e65772072756e74696d6520636f64652e5c7365745f636f64655f776974686f75745f636865636b730410636f64651c5665633c75383e041d012053657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e5c7365745f6368616e6765735f747269655f636f6e666967044c6368616e6765735f747269655f636f6e666967804f7074696f6e3c4368616e67657354726965436f6e66696775726174696f6e3e04a02053657420746865206e6577206368616e676573207472696520636f6e66696775726174696f6e2e2c7365745f73746f7261676504146974656d73345665633c4b657956616c75653e046c2053657420736f6d65206974656d73206f662073746f726167652e306b696c6c5f73746f7261676504106b657973205665633c4b65793e0478204b696c6c20736f6d65206974656d732066726f6d2073746f726167652e2c6b696c6c5f70726566697804187072656669780c4b6579041501204b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e010c4045787472696e7369635375636365737304304469737061746368496e666f049420416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c6564083444697370617463684572726f72304469737061746368496e666f045420416e2065787472696e736963206661696c65642e2c436f64655570646174656400045420603a636f6465602077617320757064617465642e000c3c496e76616c6964537065634e616d6508150120546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e637265617365084501205468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e0cf0204661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e000d01204569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e1c5574696c697479011c5574696c69747904244d756c74697369677300020530543a3a4163636f756e744964205b75383b2033325dd04d756c74697369673c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e02040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e0114146261746368041463616c6c735c5665633c3c542061732054726169743e3a3a43616c6c3e48802053656e642061206261746368206f662064697370617463682063616c6c732e00ec20546869732077696c6c206578656375746520756e74696c20746865206669727374206f6e65206661696c7320616e64207468656e2073746f702e007c204d61792062652063616c6c65642066726f6d20616e79206f726967696e2e00f0202d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e002c2023203c7765696768743ea4202d205468652073756d206f66207468652077656967687473206f6620746865206063616c6c73602e34202d204f6e65206576656e742e302023203c2f7765696768743e00590120546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e3501206576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e20746865590120604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d616465510120616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c657465646050206576656e74206973206465706f73697465642e1861735f7375620814696e6465780c7531361063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e1ce02053656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e94202d2054686520776569676874206f6620746865206063616c6c60202b2031302c3030302e302023203c2f7765696768743e2061735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e1063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3ea4590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e00b42049662074686572652061726520656e6f7567682c207468656e206469737061746368207468652063616c6c2e005101205061796d656e743a20604d756c74697369674465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573610120607468726573686f6c64602074696d657320604d756c74697369674465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2e8c202d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e002101204e4f54453a20556e6c6573732074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2067656e6572616c6c792077616e7420746f207573651d012060617070726f76655f61735f6d756c74696020696e73746561642c2073696e6365206974206f6e6c7920726571756972657320612068617368206f66207468652063616c6c2e005d0120526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c7420696620607468726573686f6c64602069732065786163746c79206031602e204f74686572776973655901206f6e20737563636573732c20726573756c7420697320604f6b6020616e642074686520726573756c742066726f6d2074686520696e746572696f722063616c6c2c206966206974207761732065786563757465642ce0206d617920626520666f756e6420696e20746865206465706f736974656420604d756c7469736967457865637574656460206576656e742e002c2023203c7765696768743e54202d20604f2853202b205a202b2043616c6c29602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2e2501202d204f6e652063616c6c20656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285a296020776865726520605a602069732074782d6c656e2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e70202d2054686520776569676874206f6620746865206063616c6c602e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66f4202020604d756c74697369674465706f73697442617365202b207468726573686f6c64202a204d756c74697369674465706f736974466163746f72602e302023203c2f7765696768743e40617070726f76655f61735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e2463616c6c5f68617368205b75383b2033325d80590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e005101205061796d656e743a20604d756c74697369674465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573610120607468726573686f6c64602074696d657320604d756c74697369674465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e003901204e4f54453a2049662074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2077616e7420746f20757365206061735f6d756c74696020696e73746561642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66f4202020604d756c74697369674465706f73697442617365202b207468726573686f6c64202a204d756c74697369674465706f736974466163746f72602e302023203c2f7765696768743e3c63616e63656c5f61735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e2474696d65706f696e746454696d65706f696e743c543a3a426c6f636b4e756d6265723e2463616c6c5f68617368205b75383b2033325d5859012043616e63656c2061207072652d6578697374696e672c206f6e2d676f696e67206d756c7469736967207472616e73616374696f6e2e20416e79206465706f7369742072657365727665642070726576696f75736c79c820666f722074686973206f7065726174696f6e2077696c6c20626520756e7265736572766564206f6e20737563636573732e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e6101202d206074696d65706f696e74603a205468652074696d65706f696e742028626c6f636b206e756d62657220616e64207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c7c207472616e73616374696f6e20666f7220746869732064697370617463682ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602e34202d204f6e65206576656e742e88202d20492f4f3a2031207265616420604f285329602c206f6e652072656d6f76652e74202d2053746f726167653a2072656d6f766573206f6e65206974656d2e302023203c2f7765696768743e0118404261746368496e746572727570746564080c7533323444697370617463684572726f72085901204261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734c2077656c6c20617320746865206572726f722e384261746368436f6d706c657465640004cc204261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e2c4e65774d756c746973696708244163636f756e744964244163636f756e7449640849012041206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e20466972737420706172616d20697320746865206163636f756e74207468617420697320617070726f76696e672c80207365636f6e6420697320746865206d756c7469736967206163636f756e742e404d756c7469736967417070726f76616c0c244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449640859012041206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652e20466972737420706172616d20697320746865206163636f756e742074686174206973a820617070726f76696e672c20746869726420697320746865206d756c7469736967206163636f756e742e404d756c7469736967457865637574656410244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e744964384469737061746368526573756c74082d012041206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e20466972737420706172616d20697320746865206163636f756e742074686174206973a820617070726f76696e672c20746869726420697320746865206d756c7469736967206163636f756e742e444d756c746973696743616e63656c6c65640c244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449640831012041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e20466972737420706172616d20697320746865206163636f756e742074686174206973ac2063616e63656c6c696e672c20746869726420697320746865206d756c7469736967206163636f756e742e0030345a65726f5468726573686f6c640474205468726573686f6c6420697320746f6f206c6f7720287a65726f292e3c416c7265616479417070726f76656404b02043616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e656564656404a02043616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f7269657304ac2054686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f7269657304b02054686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f7264657204110120546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f72696573041101205468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e6404e0204d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e6572043101204f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e74042101204e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74043101204120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e7404f820412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e1042616265011042616265242845706f6368496e64657801000c75363420000000000000000004542043757272656e742065706f636820696e6465782e2c417574686f72697469657301009c5665633c28417574686f7269747949642c2042616265417574686f72697479576569676874293e0400046c2043757272656e742065706f636820617574686f7269746965732e2c47656e65736973536c6f7401000c75363420000000000000000008f82054686520736c6f74206174207768696368207468652066697273742065706f63682061637475616c6c7920737461727465642e205468697320697320309020756e74696c2074686520666972737420626c6f636b206f662074686520636861696e2e2c43757272656e74536c6f7401000c75363420000000000000000004542043757272656e7420736c6f74206e756d6265722e2852616e646f6d6e6573730100587363686e6f72726b656c3a3a52616e646f6d6e65737380000000000000000000000000000000000000000000000000000000000000000028b8205468652065706f63682072616e646f6d6e65737320666f7220746865202a63757272656e742a2065706f63682e002c20232053656375726974790005012054686973204d555354204e4f54206265207573656420666f722067616d626c696e672c2061732069742063616e20626520696e666c75656e6365642062792061f8206d616c6963696f75732076616c696461746f7220696e207468652073686f7274207465726d2e204974204d4159206265207573656420696e206d616e7915012063727970746f677261706869632070726f746f636f6c732c20686f77657665722c20736f206c6f6e67206173206f6e652072656d656d6265727320746861742074686973150120286c696b652065766572797468696e6720656c7365206f6e2d636861696e29206974206973207075626c69632e20466f72206578616d706c652c2069742063616e206265050120757365642077686572652061206e756d626572206973206e656564656420746861742063616e6e6f742068617665206265656e2063686f73656e20627920616e0d01206164766572736172792c20666f7220707572706f7365732073756368206173207075626c69632d636f696e207a65726f2d6b6e6f776c656467652070726f6f66732e384e65787452616e646f6d6e6573730100587363686e6f72726b656c3a3a52616e646f6d6e657373800000000000000000000000000000000000000000000000000000000000000000045c204e6578742065706f63682072616e646f6d6e6573732e305365676d656e74496e64657801000c7533321000000000247c2052616e646f6d6e65737320756e64657220636f6e737472756374696f6e2e00f4205765206d616b6520612074726164656f6666206265747765656e2073746f7261676520616363657373657320616e64206c697374206c656e6774682e01012057652073746f72652074686520756e6465722d636f6e737472756374696f6e2072616e646f6d6e65737320696e207365676d656e7473206f6620757020746f942060554e4445525f434f4e535452554354494f4e5f5345474d454e545f4c454e475448602e00ec204f6e63652061207365676d656e7420726561636865732074686973206c656e6774682c20776520626567696e20746865206e657874206f6e652e090120576520726573657420616c6c207365676d656e747320616e642072657475726e20746f206030602061742074686520626567696e6e696e67206f662065766572791c2065706f63682e44556e646572436f6e737472756374696f6e0101050c753332745665633c7363686e6f72726b656c3a3a5261775652464f75747075743e000400002c496e697469616c697a65640000204d6179626556726604000801012054656d706f726172792076616c75652028636c656172656420617420626c6f636b2066696e616c697a6174696f6e292077686963682069732060536f6d65601d01206966207065722d626c6f636b20696e697469616c697a6174696f6e2068617320616c7265616479206265656e2063616c6c656420666f722063757272656e7420626c6f636b2e010000083445706f63684475726174696f6e0c753634207800000000000000080d0120546865206e756d626572206f66202a2a736c6f74732a2a207468617420616e2065706f63682074616b65732e20576520636f75706c652073657373696f6e7320746ffc2065706f6368732c20692e652e2077652073746172742061206e65772073657373696f6e206f6e636520746865206e65772065706f636820626567696e732e444578706563746564426c6f636b54696d6524543a3a4d6f6d656e7420881300000000000014050120546865206578706563746564206176657261676520626c6f636b2074696d6520617420776869636820424142452073686f756c64206265206372656174696e67110120626c6f636b732e2053696e636520424142452069732070726f626162696c6973746963206974206973206e6f74207472697669616c20746f20666967757265206f75740501207768617420746865206578706563746564206176657261676520626c6f636b2074696d652073686f756c64206265206261736564206f6e2074686520736c6f740901206475726174696f6e20616e642074686520736563757269747920706172616d657465722060636020287768657265206031202d20636020726570726573656e7473a0207468652070726f626162696c697479206f66206120736c6f74206265696e6720656d707479292e002454696d657374616d70012454696d657374616d70080c4e6f77010024543a3a4d6f6d656e7420000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e24446964557064617465010010626f6f6c040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f01040c736574040c6e6f7748436f6d706163743c543a3a4d6f6d656e743e245820536574207468652063757272656e742074696d652e00590120546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed82070686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e004501205468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e74207370656369666965642062794420604d696e696d756d506572696f64602e00d820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e0004344d696e696d756d506572696f6424543a3a4d6f6d656e7420c40900000000000010690120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f64690120746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c79650120776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c20626520646f75626c6520746869737020706572696f64206f6e2064656661756c742073657474696e67732e002c4174746573746174696f6e012c4174746573746174696f6e0c1c4973737565727301010230543a3a4163636f756e744964445665633c543a3a4163636f756e7449643e0004002ca50120546865206d61707320617265206c61796564206f757420746f20737570706f727420746865206e6573746564207374727563747572652073686f776e2062656c6f7720696e204a534f4e2c2077696c6c206c6f6f6b20746f206f7074696d697365206c617465722e0008207b2c2020686f6c6465723a207b34202020206973737565723a207b50202020202020746f7069633a203c76616c75653e14202020207d0c20207d08207d008c2041206d6170206f6620486f6c6465724964203d3e205665633c49737375657249643e18546f706963730101027028543a3a4163636f756e7449642c20543a3a4163636f756e74496429545665633c4174746573746174696f6e546f7069633e00040004dc2041206d6170206f662028486f6c64657249642c20497373756572496429203d3e205665633c4174746573746174696f6e546f7069633e1856616c756573010102b828543a3a4163636f756e7449642c20543a3a4163636f756e7449642c204174746573746174696f6e546f70696329404174746573746174696f6e56616c7565008000000000000000000000000000000000000000000000000000000000000000000411012041206d6170206f662028486f6c64657249642c2049737375657249642c204174746573746174696f6e546f70696329203d3e204174746573746174696f6e56616c75650108247365745f636c61696d0c18686f6c64657230543a3a4163636f756e74496414746f706963404174746573746174696f6e546f7069631476616c7565404174746573746174696f6e56616c75650c8c20437265617465206f722075706461746520616e206578697374696e6720636c61696df020546865206069737375657260206f662074686520636c61696d20636f6d65732066726f6d207468652065787472696e73696320606f726967696e603d01205468652060746f7069636020616e64206076616c7565602061726520626f746820553235362077686963682063616e20686f6c6420616e792033322d6279746520656e636f64656420646174612e3072656d6f76655f636c61696d0818686f6c64657230543a3a4163636f756e74496414746f706963404174746573746174696f6e546f70696308f02052656d6f7665206120636c61696d2c206f6e6c7920746865206f726967696e616c206973737565722063616e2072656d6f7665206120636c61696d61012049662074686520606973737565726020686173206e6f742079657420697373756564206120636c61696d206f662060746f706963602c20746869732066756e6374696f6e2077696c6c2072657475726e206572726f722e010c30436c61696d4372656174656410244163636f756e744964244163636f756e744964404174746573746174696f6e546f706963404174746573746174696f6e56616c75650030436c61696d52656d6f7665640c244163636f756e744964244163636f756e744964404174746573746174696f6e546f7069630030436c61696d5570646174656410244163636f756e744964244163636f756e744964404174746573746174696f6e546f706963404174746573746174696f6e56616c7565000000485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7404444e6578744665654d756c7469706c6965720100284d756c7469706c69657220000000000000000000000008485472616e73616374696f6e426173654665653042616c616e63654f663c543e400100000000000000000000000000000004dc205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b2074686520626173652e485472616e73616374696f6e427974654665653042616c616e63654f663c543e400a000000000000000000000000000000040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e003047656e657269634173736574013047656e6572696341737365742434546f74616c49737375616e636501010528543a3a4173736574496428543a3a42616c616e6365004000000000000000000000000000000000048420546f74616c2069737375616e6365206f66206120676976656e2061737365742e2c4672656542616c616e636501020528543a3a4173736574496430543a3a4163636f756e74496428543a3a42616c616e636502400000000000000000000000000000000004d02054686520667265652062616c616e6365206f66206120676976656e20617373657420756e64657220616e206163636f756e742e3c526573657276656442616c616e636501020528543a3a4173736574496430543a3a4163636f756e74496428543a3a42616c616e636502400000000000000000000000000000000004e0205468652072657365727665642062616c616e6365206f66206120676976656e20617373657420756e64657220616e206163636f756e742e2c4e65787441737365744964010028543a3a41737365744964100000000004a8204e65787420617661696c61626c6520494420666f7220757365722d637265617465642061737365742e2c5065726d697373696f6e7301010528543a3a41737365744964805065726d697373696f6e56657273696f6e733c543a3a4163636f756e7449643e0010000000000498205065726d697373696f6e206f7074696f6e7320666f72206120676976656e2061737365742e144c6f636b7301010230543a3a4163636f756e744964705665633c42616c616e63654c6f636b3c543a3a42616c616e63653e3e00040004b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e385374616b696e6741737365744964010028543a3a41737365744964100000000004790120546865206964656e74697479206f662074686520617373657420776869636820697320746865206f6e6520746861742069732064657369676e6174656420666f722074686520636861696e2773207374616b696e672073797374656d2e3c5370656e64696e6741737365744964010028543a3a41737365744964100000000004990120546865206964656e74697479206f662074686520617373657420776869636820697320746865206f6e6520746861742069732064657369676e6174656420666f7220706179696e672074686520636861696e2773207472616e73616374696f6e206665652e2441737365744d65746101010528543a3a41737365744964244173736574496e666f0008000404502054686520696e666f20666f7220617373657473011c186372656174650c146f776e657230543a3a4163636f756e7449641c6f7074696f6e739841737365744f7074696f6e733c543a3a42616c616e63652c20543a3a4163636f756e7449643e10696e666f244173736574496e666f200901204372656174652061206e6577206b696e64206f6620617373657420616e64206e6f6d696e6174657320746865206f776e6572206f6620746869732061737365742ec8205468652061737365745f69642077696c6c20626520746865206e65787420756e6f636375706965642061737365745f69648901204163636f756e74732077686f2077696c6c206861766520746865207065726d697373696f6e7320746f206d696e742f6275726e2f6368616e6765207065726d697373696f6e206172652070617373656420696e2076696120276f7074696f6e732788206f726967696e206f6620746869732063616c6c206d75737420626520726f6f742e002420576569676874733aa0204f283129204c696d69746564206e756d626572206f66207265616420616e64207772697465732e702053686f756c64206e6f742062652063616c6c6564206f6674656e2e207472616e736665720c2061737365745f69644c436f6d706163743c543a3a417373657449643e08746f30543a3a4163636f756e74496418616d6f756e744c436f6d706163743c543a3a42616c616e63653e3cd8205472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e00090120607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e21012049742077696c6c2064656372656173652074686520746f74616c2069737375616e6365206f66207468652073797374656d2062792074686520605472616e73666572466565602e1501204966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b4206f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e00190120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e002c2023203c7765696768743e3101202d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f72cc202020696e70757420636f6e6669672074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e6901202d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c657820636f6d7075746174696f6e2e00302023203c2f7765696768743e447570646174655f7065726d697373696f6e082061737365745f69644c436f6d706163743c543a3a417373657449643e386e65775f7065726d697373696f6e785065726d697373696f6e4c61746573743c543a3a4163636f756e7449643e1c61012055706461746573207065726d697373696f6e73286d696e742f6275726e2f6368616e6765207065726d697373696f6e2920666f72206120676976656e206061737365745f69646020616e6420616e206163636f756e742e00b02054686520606f726967696e60206d7573742068617665206075706461746560207065726d697373696f6e2e002420776569676874733a9c204f283129206c696d69746564206e756d626572206f66207265616420616e64207772697465739420457870656374656420746f206e6f742062652063616c6c6564206672657175656e746c79447570646174655f61737365745f696e666f082061737365745f69644c436f6d706163743c543a3a417373657449643e10696e666f244173736574496e666f1cac205570646174657320617373657420696e666f20666f72206120676976656e206061737365745f6964602e00b02054686520606f726967696e60206d7573742068617665206075706461746560207065726d697373696f6e2e002420776569676874733a9c204f283129206c696d69746564206e756d626572206f66207265616420616e64207772697465739420457870656374656420746f206e6f742062652063616c6c6564206672657175656e746c79106d696e740c2061737365745f69644c436f6d706163743c543a3a417373657449643e08746f30543a3a4163636f756e74496418616d6f756e7428543a3a42616c616e6365149501204d696e747320616e2061737365742c20696e637265617365732069747320746f74616c2069737375616e63652e204465706f7369747320746865206e65776c79206d696e7465642063757272656e637920696e746f20746172676574206163636f756e74a420546865206f726967696e206d757374206861766520606d696e7460207065726d697373696f6e732e002420576569676874733a8c204f283129206c696d69746564206e756d626572206f6620726561642f777269746573106275726e0c2061737365745f69644c436f6d706163743c543a3a417373657449643e1874617267657430543a3a4163636f756e74496418616d6f756e7428543a3a42616c616e6365144d01204275726e7320616e2061737365742c206465637265617365732069747320746f74616c2069737375616e63652e2044656475637420746865206d6f6e65792066726f6d20746172676574206163636f756e74ac2054686520606f726967696e60206d757374206861766520606275726e60207065726d697373696f6e732e002420576569676874733a94204f283129204c696d69746564206e756d626572206f662072656164732f7772697465732e3c6372656174655f72657365727665640c2061737365745f696428543a3a417373657449641c6f7074696f6e739841737365744f7074696f6e733c543a3a42616c616e63652c20543a3a4163636f756e7449643e10696e666f244173736574496e666f18ac204372656174652061206e657720617373657420776974682072657365727665642061737365745f69642ebc20496e7465726e616c6c792063616c6c73206372656174655f6173736574207769746820616e2061737365745f69645020526571756972657320526f6f742063616c6c2e002420576569676874733a64204f283129204c696d6974656420726561642f77726974657301181c437265617465640c1c41737365744964244163636f756e7449643041737365744f7074696f6e7304c82041737365742063726561746564202861737365745f69642c2063726561746f722c2061737365745f6f7074696f6e73292e2c5472616e73666572726564101c41737365744964244163636f756e744964244163636f756e7449641c42616c616e636504dc204173736574207472616e7366657220737563636565646564202861737365745f69642c2066726f6d2c20746f2c20616d6f756e74292e445065726d697373696f6e55706461746564081c417373657449646c5065726d697373696f6e4c61746573743c4163636f756e7449643e04d8204173736574207065726d697373696f6e2075706461746564202861737365745f69642c206e65775f7065726d697373696f6e73292e404173736574496e666f55706461746564081c41737365744964244173736574496e666f04ac20417373657420696e666f2075706461746564202861737365745f69642c2061737365745f696e666f292e184d696e7465640c1c41737365744964244163636f756e7449641c42616c616e636504b8204e6577206173736574206d696e746564202861737365745f69642c206163636f756e742c20616d6f756e74292e184275726e65640c1c41737365744964244163636f756e7449641c42616c616e636504a8204173736574206275726e6564202861737365745f69642c206163636f756e742c20616d6f756e74292e003840417373657449644578686175737465640470204e6f206e65772061737365747320696420617661696c61626c652e285a65726f416d6f756e7404742043616e6e6f74207472616e73666572207a65726f20616d6f756e742e484e6f5570646174655065726d697373696f6e04090120546865206f726967696e20646f6573206e6f74206861766520656e6f756768207065726d697373696f6e20746f20757064617465207065726d697373696f6e732e404e6f4d696e745065726d697373696f6e04d820546865206f726967696e20646f6573206e6f742068617665207065726d697373696f6e20746f206d696e7420616e2061737365742e404e6f4275726e5065726d697373696f6e04d820546865206f726967696e20646f6573206e6f742068617665207065726d697373696f6e20746f206275726e20616e2061737365742e50546f74616c4d696e74696e674f766572666c6f7704b420546f74616c2069737375616e636520676f74206f766572666c6f776564206166746572206d696e74696e672e4c467265654d696e74696e674f766572666c6f7704ac20467265652062616c616e636520676f74206f766572666c6f776564206166746572206d696e74696e672e54546f74616c4275726e696e67556e646572666c6f7704b820546f74616c2069737375616e636520676f7420756e646572666c6f776564206166746572206275726e696e672e50467265654275726e696e67556e646572666c6f7704b020467265652062616c616e636520676f7420756e646572666c6f776564206166746572206275726e696e672e3441737365744964457869737473046c20417373657420696420697320616c72656164792074616b656e2e3c417373657449644e6f74457869737404b8204661696c7572652064756520746f206173736574206964206e6f74206578697374696e67206f6e20636861696e4c496e73756666696369656e7442616c616e6365049c205468652062616c616e636520697320746f6f206c6f7720746f2073656e6420616d6f756e742e405472616e736665724f766572666c6f7704c020546865207472616e736665722077696c6c20636175736520746865206163636f756e7420746f206f766572666c6f77544c69717569646974795265737472696374696f6e7304dc20546865206163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c2e1c5374616b696e67011c5374616b696e67742c4d696e696d756d426f6e6401003042616c616e63654f663c543e40000000000000000000000000000000000460204d696e696d756d20616d6f756e7420746f20626f6e642e3856616c696461746f72436f756e7401000c753332100000000004a82054686520696465616c206e756d626572206f66207374616b696e67207061727469636970616e74732e544d696e696d756d56616c696461746f72436f756e7401000c7533321004000000044101204d696e696d756d206e756d626572206f66207374616b696e67207061727469636970616e7473206265666f726520656d657267656e637920636f6e646974696f6e732061726520696d706f7365642e34496e76756c6e657261626c65730100445665633c543a3a4163636f756e7449643e04000c590120416e792076616c696461746f72732074686174206d6179206e6576657220626520736c6173686564206f7220666f726369626c79206b69636b65642e20497427732061205665632073696e636520746865792772654d01206561737920746f20696e697469616c697a6520616e642074686520706572666f726d616e636520686974206973206d696e696d616c2028776520657870656374206e6f206d6f7265207468616e20666f7572ac20696e76756c6e657261626c65732920616e64207265737472696374656420746f20746573746e6574732e18426f6e64656400010530543a3a4163636f756e74496430543a3a4163636f756e744964000400040101204d61702066726f6d20616c6c206c6f636b65642022737461736822206163636f756e747320746f2074686520636f6e74726f6c6c6572206163636f756e742e184c656467657200010530543a3a4163636f756e744964a45374616b696e674c65646765723c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000400044501204d61702066726f6d20616c6c2028756e6c6f636b6564292022636f6e74726f6c6c657222206163636f756e747320746f2074686520696e666f20726567617264696e6720746865207374616b696e672e14506179656501010530543a3a4163636f756e7449647c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e00040004e42057686572652074686520726577617264207061796d656e742073686f756c64206265206d6164652e204b657965642062792073746173682e2856616c696461746f727301010530543a3a4163636f756e7449643856616c696461746f72507265667300040004450120546865206d61702066726f6d202877616e6e616265292076616c696461746f72207374617368206b657920746f2074686520707265666572656e636573206f6620746861742076616c696461746f722e284e6f6d696e61746f727300010530543a3a4163636f756e744964644e6f6d696e6174696f6e733c543a3a4163636f756e7449643e00040010650120546865206d61702066726f6d206e6f6d696e61746f72207374617368206b657920746f2074686520736574206f66207374617368206b657973206f6620616c6c2076616c696461746f727320746f206e6f6d696e6174652e003501204e4f54453a206973207072697661746520736f20746861742077652063616e20656e73757265207570677261646564206265666f726520616c6c207479706963616c2061636365737365732ed8204469726563742073746f7261676520415049732063616e207374696c6c2062797061737320746869732070726f74656374696f6e2e1c5374616b65727301010530543a3a4163636f756e744964904578706f737572653c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000c000000104d01204e6f6d696e61746f727320666f72206120706172746963756c6172206163636f756e74207468617420697320696e20616374696f6e207269676874206e6f772e20596f752063616e277420697465726174651901207468726f7567682076616c696461746f727320686572652c2062757420796f752063616e2066696e64207468656d20696e207468652053657373696f6e206d6f64756c652e00902054686973206973206b6579656420627920746865207374617368206163636f756e742e3843757272656e74456c65637465640100445665633c543a3a4163636f756e7449643e040004fc205468652063757272656e746c7920656c65637465642076616c696461746f7220736574206b65796564206279207374617368206163636f756e742049442e2843757272656e74457261010020457261496e6465781000000000045c205468652063757272656e742065726120696e6465782e3c43757272656e74457261537461727401002c4d6f6d656e744f663c543e200000000000000000047820546865207374617274206f66207468652063757272656e74206572612e4843757272656e744572614475726174696f6e01002c4d6f6d656e744f663c543e200000000000000000006c43757272656e74457261537461727453657373696f6e496e64657801003053657373696f6e496e646578100000000004d0205468652073657373696f6e20696e646578206174207768696368207468652063757272656e742065726120737461727465642e5843757272656e74457261506f696e74734561726e6564010024457261506f696e7473140000000000040d01205265776172647320666f72207468652063757272656e74206572612e205573696e6720696e6469636573206f662063757272656e7420656c6563746564207365742e5043757272656e744572614665655265776172647301004852657761726442616c616e63654f663c543e400000000000000000000000000000000004e420546f74616c207472616e73616374696f6e207061796d656e74207265776172647320666f7220656c65637465642076616c696461746f727324536c6f745374616b6501003042616c616e63654f663c543e40000000000000000000000000000000000c31012054686520616d6f756e74206f662062616c616e6365206163746976656c79206174207374616b6520666f7220656163682076616c696461746f7220736c6f742c2063757272656e746c792e00c02054686973206973207573656420746f20646572697665207265776172647320616e642070756e6973686d656e74732e20466f72636545726101001c466f7263696e670400041d01205472756520696620746865206e6578742073657373696f6e206368616e67652077696c6c2062652061206e657720657261207265676172646c657373206f6620696e6465782e4c536c6173685265776172644672616374696f6e01001c50657262696c6c10000000000cf8205468652070657263656e74616765206f662074686520736c617368207468617420697320646973747269627574656420746f207265706f72746572732e00e4205468652072657374206f662074686520736c61736865642076616c75652069732068616e646c6564206279207468652060536c617368602e4c43616e63656c6564536c6173685061796f757401003042616c616e63654f663c543e40000000000000000000000000000000000815012054686520616d6f756e74206f662063757272656e637920676976656e20746f207265706f7274657273206f66206120736c617368206576656e7420776869636820776173ec2063616e63656c65642062792065787472616f7264696e6172792063697263756d7374616e6365732028652e672e20676f7665726e616e6365292e40556e6170706c696564536c617368657301010520457261496e646578bc5665633c556e6170706c696564536c6173683c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e3e00040004c420416c6c20756e6170706c69656420736c61736865732074686174206172652071756575656420666f72206c617465722e28426f6e646564457261730100745665633c28457261496e6465782c2053657373696f6e496e646578293e04000425012041206d617070696e672066726f6d207374696c6c2d626f6e646564206572617320746f207468652066697273742073657373696f6e20696e646578206f662074686174206572612e4c56616c696461746f72536c617368496e45726100020520457261496e64657830543a3a4163636f756e7449645c2850657262696c6c2c2042616c616e63654f663c543e2905040008450120416c6c20736c617368696e67206576656e7473206f6e2076616c696461746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682070726f706f7274696f6e7020616e6420736c6173682076616c7565206f6620746865206572612e4c4e6f6d696e61746f72536c617368496e45726100020520457261496e64657830543a3a4163636f756e7449643042616c616e63654f663c543e05040004610120416c6c20736c617368696e67206576656e7473206f6e206e6f6d696e61746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682076616c7565206f6620746865206572612e34536c617368696e675370616e7300010530543a3a4163636f756e7449645c736c617368696e673a3a536c617368696e675370616e73000400048c20536c617368696e67207370616e7320666f72207374617368206163636f756e74732e245370616e536c6173680101058c28543a3a4163636f756e7449642c20736c617368696e673a3a5370616e496e6465782988736c617368696e673a3a5370616e5265636f72643c42616c616e63654f663c543e3e00800000000000000000000000000000000000000000000000000000000000000000083d01205265636f72647320696e666f726d6174696f6e2061626f757420746865206d6178696d756d20736c617368206f6620612073746173682077697468696e206120736c617368696e67207370616e2cb82061732077656c6c20617320686f77206d7563682072657761726420686173206265656e2070616964206f75742e584561726c69657374556e6170706c696564536c617368000020457261496e646578040004fc20546865206561726c696573742065726120666f72207768696368207765206861766520612070656e64696e672c20756e6170706c69656420736c6173682e3853746f7261676556657273696f6e01000c75333210000000000490205468652076657273696f6e206f662073746f7261676520666f7220757067726164652e014810626f6e640c28636f6e74726f6c6c657230543a3a4163636f756e7449641476616c756554436f6d706163743c42616c616e63654f663c543e3e1470617965657c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e3c65012054616b6520746865206f726967696e206163636f756e74206173206120737461736820616e64206c6f636b207570206076616c756560206f66206974732062616c616e63652e2060636f6e74726f6c6c6572602077696c6c8420626520746865206163636f756e74207468617420636f6e74726f6c732069742e002901206076616c756560206d757374206265206d6f7265207468616e2074686520606d696e696d756d5f626f6e64602073706563696669656420696e2067656e6573697320636f6e6669672e00250120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20627920746865207374617368206163636f756e742e002c2023203c7765696768743ed4202d20496e646570656e64656e74206f662074686520617267756d656e74732e204d6f64657261746520636f6d706c65786974792e20202d204f2831292e68202d20546872656520657874726120444220656e74726965732e006d01204e4f54453a2054776f206f66207468652073746f726167652077726974657320286053656c663a3a626f6e646564602c206053656c663a3a7061796565602920617265205f6e657665725f20636c65616e656420756e6c65737351012074686520606f726967696e602066616c6c732062656c6f77206d696e696d756d20626f6e6420616e642069732072656d6f766564206c617a6c697920696e206077697468647261775f756e626f6e646564602e302023203c2f7765696768743e28626f6e645f657874726104386d61785f6164646974696f6e616c54436f6d706163743c42616c616e63654f663c543e3e3865012041646420736f6d6520657874726120616d6f756e742074686174206861766520617070656172656420696e207468652073746173682060667265655f62616c616e63656020696e746f207468652062616c616e63652075703420666f72207374616b696e672e00510120557365207468697320696620746865726520617265206164646974696f6e616c2066756e647320696e20796f7572207374617368206163636f756e74207468617420796f75207769736820746f20626f6e642e650120556e6c696b65205b60626f6e64605d206f72205b60756e626f6e64605d20746869732066756e6374696f6e20646f6573206e6f7420696d706f736520616e79206c696d69746174696f6e206f6e2074686520616d6f756e744c20746861742063616e2062652061646465642e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e20202d204f2831292e40202d204f6e6520444220656e7472792e302023203c2f7765696768743e18756e626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e5c5501205363686564756c65206120706f7274696f6e206f662074686520737461736820746f20626520756e6c6f636b656420726561647920666f72207472616e73666572206f75742061667465722074686520626f6e64010120706572696f6420656e64732e2049662074686973206c656176657320616e20616d6f756e74206163746976656c7920626f6e646564206c657373207468616e250120543a3a43757272656e63793a3a6d696e696d756d5f62616c616e636528292c207468656e20697420697320696e6372656173656420746f207468652066756c6c20616d6f756e742e004901204f6e63652074686520756e6c6f636b20706572696f6420697320646f6e652c20796f752063616e2063616c6c206077697468647261775f756e626f6e6465646020746f2061637475616c6c79206d6f7665c0207468652066756e6473206f7574206f66206d616e6167656d656e7420726561647920666f72207472616e736665722e003d01204e6f206d6f7265207468616e2061206c696d69746564206e756d626572206f6620756e6c6f636b696e67206368756e6b73202873656520604d41585f554e4c4f434b494e475f4348554e4b5360293d012063616e20636f2d657869737473206174207468652073616d652074696d652e20496e207468617420636173652c205b6043616c6c3a3a77697468647261775f756e626f6e646564605d206e656564fc20746f2062652063616c6c656420666972737420746f2072656d6f766520736f6d65206f6620746865206368756e6b732028696620706f737369626c65292e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e00982053656520616c736f205b6043616c6c3a3a77697468647261775f756e626f6e646564605d2e002c2023203c7765696768743e4101202d20496e646570656e64656e74206f662074686520617267756d656e74732e204c696d697465642062757420706f74656e7469616c6c79206578706c6f697461626c6520636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732e6501202d20456163682063616c6c20287265717569726573207468652072656d61696e646572206f662074686520626f6e6465642062616c616e636520746f2062652061626f766520606d696e696d756d5f62616c616e63656029710120202077696c6c2063617573652061206e657720656e74727920746f20626520696e73657274656420696e746f206120766563746f722028604c65646765722e756e6c6f636b696e676029206b65707420696e2073746f726167652ea501202020546865206f6e6c792077617920746f20636c65616e207468652061666f72656d656e74696f6e65642073746f72616765206974656d20697320616c736f20757365722d636f6e74726f6c6c656420766961206077697468647261775f756e626f6e646564602e40202d204f6e6520444220656e7472792e28203c2f7765696768743e187265626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e18e0205265626f6e64206120706f7274696f6e206f6620746865207374617368207363686564756c656420746f20626520756e6c6f636b65642e002c2023203c7765696768743ef0202d2054696d6520636f6d706c65786974793a204f2831292e20426f756e64656420627920604d41585f554e4c4f434b494e475f4348554e4b53602ef4202d2053746f72616765206368616e6765733a2043616e277420696e6372656173652073746f726167652c206f6e6c792064656372656173652069742e302023203c2f7765696768743e4477697468647261775f756e626f6e64656400402d012052656d6f766520616e7920756e6c6f636b6564206368756e6b732066726f6d207468652060756e6c6f636b696e67602071756575652066726f6d206f7572206d616e6167656d656e742e003501205468697320657373656e7469616c6c7920667265657320757020746861742062616c616e636520746f206265207573656420627920746865207374617368206163636f756e7420746f20646f4c2077686174657665722069742077616e74732e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e006c2053656520616c736f205b6043616c6c3a3a756e626f6e64605d2e002c2023203c7765696768743e5501202d20436f756c6420626520646570656e64656e74206f6e2074686520606f726967696e6020617267756d656e7420616e6420686f77206d7563682060756e6c6f636b696e6760206368756e6b732065786973742e45012020497420696d706c6965732060636f6e736f6c69646174655f756e6c6f636b656460207768696368206c6f6f7073206f76657220604c65646765722e756e6c6f636b696e67602c207768696368206973f42020696e6469726563746c7920757365722d636f6e74726f6c6c65642e20536565205b60756e626f6e64605d20666f72206d6f72652064657461696c2e7901202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732c20796574207468652073697a65206f6620776869636820636f756c64206265206c61726765206261736564206f6e20606c6564676572602ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e2076616c6964617465041470726566733856616c696461746f7250726566732ce8204465636c617265207468652064657369726520746f2076616c696461746520666f7220746865206f726967696e20636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e206e6f6d696e617465041c74617267657473445665633c543a3a4163636f756e7449643e2c1101204465636c617265207468652064657369726520746f206e6f6d696e6174652060746172676574736020666f7220746865206f726967696e20636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743e2501202d20546865207472616e73616374696f6e277320636f6d706c65786974792069732070726f706f7274696f6e616c20746f207468652073697a65206f66206074617267657473602c982077686963682069732063617070656420617420604d41585f4e4f4d494e4154494f4e53602ed8202d20426f74682074686520726561647320616e642077726974657320666f6c6c6f7720612073696d696c6172207061747465726e2e302023203c2f7765696768743e146368696c6c002cc8204465636c617265206e6f2064657369726520746f206569746865722076616c6964617465206f72206e6f6d696e6174652e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e54202d20436f6e7461696e73206f6e6520726561642ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e247365745f7061796565041470617965657c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e2cb8202852652d2973657420746865207061796d656e742074617267657420666f72206120636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e387365745f636f6e74726f6c6c65720428636f6e74726f6c6c657230543a3a4163636f756e7449642c90202852652d297365742074686520636f6e74726f6c6c6572206f6620612073746173682e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e4c7365745f76616c696461746f725f636f756e74040c6e657730436f6d706163743c7533323e04802054686520696465616c206e756d626572206f662076616c696461746f72732e34666f7263655f6e6f5f657261730014b020466f72636520746865726520746f206265206e6f206e6577206572617320696e646566696e6974656c792e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e302023203c2f7765696768743e34666f7263655f6e65775f65726100184d0120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f6620746865206e6578742073657373696f6e2e20416674657220746869732c2069742077696c6c206265a020726573657420746f206e6f726d616c20286e6f6e2d666f7263656429206265686176696f75722e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e302023203c2f7765696768743e407365745f6d696e696d756d5f626f6e64041476616c75653042616c616e63654f663c543e04742053657420746865206d696e696d756d20626f6e6420616d6f756e742e447365745f696e76756c6e657261626c6573042876616c696461746f7273445665633c543a3a4163636f756e7449643e04cc20536574207468652076616c696461746f72732077686f2063616e6e6f7420626520736c61736865642028696620616e79292e34666f7263655f756e7374616b650414737461736830543a3a4163636f756e744964040d0120466f72636520612063757272656e74207374616b657220746f206265636f6d6520636f6d706c6574656c7920756e7374616b65642c20696d6d6564696174656c792e50666f7263655f6e65775f6572615f616c776179730014050120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f662073657373696f6e7320696e646566696e6974656c792e002c2023203c7765696768743e50202d204f6e652073746f72616765207772697465302023203c2f7765696768743e5463616e63656c5f64656665727265645f736c617368080c65726120457261496e64657834736c6173685f696e6469636573205665633c7533323e180d012043616e63656c20656e6163746d656e74206f66206120646566657272656420736c6173682e2043616e2062652063616c6c656420627920726f6f74206f726967696e05012070617373696e67207468652065726120616e6420696e6469636573206f662074686520736c617368657320666f7220746861742065726120746f206b696c6c2e002c2023203c7765696768743e54202d204f6e652073746f726167652077726974652e302023203c2f7765696768743e011c18526577617264083452657761726442616c616e63653452657761726442616c616e636508510120416c6c2076616c696461746f72732068617665206265656e207265776172646564206279207468652066697273742062616c616e63653b20746865207365636f6e64206973207468652072656d61696e6465728c2066726f6d20746865206d6178696d756d20616d6f756e74206f66207265776172642e2852657761726446656573083452657761726442616c616e63650c753332040101205472616e73616374696f6e206665652072657761726473206172652073706c6974206576656e6c79206163726f737320616c6c2076616c696461746f72732e14536c61736808244163636f756e7449641c42616c616e6365042501204f6e652076616c696461746f722028616e6420697473206e6f6d696e61746f72732920686173206265656e20736c61736865642062792074686520676976656e20616d6f756e742e58496e76756c6e657261626c654e6f74536c617368656408244163636f756e7449641c50657262696c6c04ec205468652076616c696461746f7220697320696e76756c6e657261626c652c20736f20697420686173204e4f54206265656e20736c61736865642e684f6c64536c617368696e675265706f7274446973636172646564043053657373696f6e496e646578081d0120416e206f6c6420736c617368696e67207265706f72742066726f6d2061207072696f72206572612077617320646973636172646564206265636175736520697420636f756c6448206e6f742062652070726f6365737365642e40536574496e76756c6e657261626c657304385665633c4163636f756e7449643e04d82041206e657720736574206f662076616c696461746f727320617265206d61726b656420746f20626520696e76756c6e657261626c65385365744d696e696d756d426f6e64041c42616c616e63650480204d696e696d756d20626f6e6420616d6f756e74206973206368616e6765642e083853657373696f6e735065724572613053657373696f6e496e64657810060000000470204e756d626572206f662073657373696f6e7320706572206572612e3c426f6e64696e674475726174696f6e20457261496e64657810a002000004e4204e756d626572206f6620657261732074686174207374616b65642066756e6473206d7573742072656d61696e20626f6e64656420666f722e2c344e6f74436f6e74726f6c6c65720468204e6f74206120636f6e74726f6c6c6572206163636f756e742e204e6f7453746173680454204e6f742061207374617368206163636f756e742e34416c7265616479426f6e646564046420537461736820697320616c726561647920626f6e6465642e34416c7265616479506169726564047820436f6e74726f6c6c657220697320616c7265616479207061697265642e30456d70747954617267657473046420546172676574732063616e6e6f7420626520656d7074792e44496e76616c6964536c617368496e646578048820536c617368207265636f726420696e646578206f7574206f6620626f756e64732e40496e73756666696369656e74426f6e6404cc2043616e206e6f7420626f6e6420776974682076616c7565206c657373207468616e206d696e696d756d2062616c616e63652e304e6f4d6f72654368756e6b7304942043616e206e6f74207363686564756c65206d6f726520756e6c6f636b206368756e6b732e344e6f556e6c6f636b4368756e6b04a42043616e206e6f74207265626f6e6420776974686f757420756e6c6f636b696e67206368756e6b732e484e6f74536f72746564416e64556e697175650484204974656d7320617265206e6f7420736f7274656420616e6420756e697175652e404475706c69636174654e6f6d696e656504c02043616e6e6f74206e6f6d696e617465207468652073616d65206163636f756e74206d756c7469706c652074696d65731c53657373696f6e011c53657373696f6e1c2856616c696461746f727301004c5665633c543a3a56616c696461746f7249643e0400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801003053657373696f6e496e646578100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e676564010010626f6f6c040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100785665633c28543a3a56616c696461746f7249642c20543a3a4b657973293e0400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f72730100205665633c7533323e04000c8020496e6469636573206f662064697361626c65642076616c696461746f72732e003501205468652073657420697320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e732061206e657720736574206f66206964656e7469746965732e204e6578744b65797300010538543a3a56616c696461746f7249641c543a3a4b657973000400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010550284b65795479706549642c205665633c75383e2938543a3a56616c696461746f72496400040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e0108207365745f6b65797308106b6579731c543a3a4b6579731470726f6f661c5665633c75383e30e82053657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e210120416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec4205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d420546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002c2023203c7765696768743e88202d204f286c6f67206e2920696e206e756d626572206f66206163636f756e74732e58202d204f6e6520657874726120444220656e7472792e6501202d20496e637265617365732073797374656d206163636f756e742072656673206279206f6e65206f6e20737563636573732069666620746865726520776572652070726576696f75736c79206e6f206b657973207365742e5501202020496e207468697320636173652c2070757267655f6b6579732077696c6c206e65656420746f2062652063616c6c6564206265666f726520746865206163636f756e742063616e2062652072656d6f7665642e302023203c2f7765696768743e2870757267655f6b6579730028cc2052656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722ec4205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d420546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002c2023203c7765696768743e7c202d204f284e2920696e206e756d626572206f66206b65792074797065732e70202d2052656d6f766573204e202b203120444220656e74726965732ec4202d20526564756365732073797374656d206163636f756e742072656673206279206f6e65206f6e20737563636573732e302023203c2f7765696768743e0104284e657753657373696f6e043053657373696f6e496e646578085501204e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f742074686520626c6f636b88206e756d626572206173207468652074797065206d6967687420737567676573742e001030496e76616c696450726f6f66046420496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f72496404a0204e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b657904682052656769737465726564206475706c6963617465206b65792e184e6f4b65797304a8204e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e28417574686f72736869700128417574686f72736869700c18556e636c65730100e85665633c556e636c65456e7472794974656d3c543a3a426c6f636b4e756d6265722c20543a3a486173682c20543a3a4163636f756e7449643e3e0400041c20556e636c657318417574686f72000030543a3a4163636f756e7449640400046420417574686f72206f662063757272656e7420626c6f636b2e30446964536574556e636c6573010010626f6f6c040004bc205768657468657220756e636c6573207765726520616c72656164792073657420696e207468697320626c6f636b2e0104287365745f756e636c657304286e65775f756e636c6573385665633c543a3a4865616465723e04642050726f76696465206120736574206f6620756e636c65732e00001c48496e76616c6964556e636c65506172656e74048c2054686520756e636c6520706172656e74206e6f7420696e2074686520636861696e2e40556e636c6573416c7265616479536574048420556e636c657320616c72656164792073657420696e2074686520626c6f636b2e34546f6f4d616e79556e636c6573044420546f6f206d616e7920756e636c65732e3047656e65736973556e636c6504582054686520756e636c652069732067656e657369732e30546f6f48696768556e636c6504802054686520756e636c6520697320746f6f206869676820696e20636861696e2e50556e636c65416c7265616479496e636c75646564047c2054686520756e636c6520697320616c726561647920696e636c756465642e204f6c64556e636c6504b82054686520756e636c652069736e277420726563656e7420656e6f75676820746f20626520696e636c756465642e1c436f756e63696c014c496e7374616e636531436f6c6c656374697665182450726f706f73616c730100305665633c543a3a486173683e040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001061c543a3a48617368643c542061732054726169743c493e3e3a3a50726f706f73616c00040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001061c543a3a486173688c566f7465733c543a3a4163636f756e7449642c20543a3a426c6f636b4e756d6265723e00040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401000c753332100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100445665633c543a3a4163636f756e7449643e0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000030543a3a4163636f756e7449640400085d0120546865206d656d6265722077686f2070726f7669646573207468652064656661756c7420766f746520666f7220616e79206f74686572206d656d62657273207468617420646f206e6f7420766f7465206265666f7265e4207468652074696d656f75742e204966204e6f6e652c207468656e206e6f206d656d6265722068617320746861742070726976696c6567652e01142c7365745f6d656d62657273082c6e65775f6d656d62657273445665633c543a3a4163636f756e7449643e147072696d65504f7074696f6e3c543a3a4163636f756e7449643e1884205365742074686520636f6c6c6563746976652773206d656d626572736869702e00fc202d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e64e4202d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e005820526571756972657320726f6f74206f726967696e2e1c65786563757465042070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e0cf420446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00ac204f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e1c70726f706f736508247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e102c2023203c7765696768743e90202d20426f756e6465642073746f7261676520726561647320616e64207772697465732eb8202d20417267756d656e7420607468726573686f6c6460206861732062656172696e67206f6e207765696768742e302023203c2f7765696768743e10766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c102c2023203c7765696768743e8c202d20426f756e6465642073746f72616765207265616420616e64207772697465732e5501202d2057696c6c20626520736c696768746c792068656176696572206966207468652070726f706f73616c20697320617070726f766564202f20646973617070726f7665642061667465722074686520766f74652e302023203c2f7765696768743e14636c6f7365082070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e345101204d61792062652063616c6c656420627920616e79207369676e6564206163636f756e742061667465722074686520766f74696e67206475726174696f6e2068617320656e64656420696e206f7264657220746f982066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e005d012041627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e7320756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d6564206d656d626572206361737420616e20617070726f76616c2e0094202d2074686520776569676874206f66206070726f706f73616c6020707265696d6167652e80202d20757020746f207468726565206576656e7473206465706f73697465642e0d01202d206f6e6520726561642c2074776f2072656d6f76616c732c206f6e65206d75746174696f6e2e2028706c7573207468726565207374617469632072656164732e29b0202d20636f6d7075746174696f6e20616e6420692f6f20604f2850202b204c202b204d29602077686572653a782020202d20604d60206973206e756d626572206f66206d656d626572732c9c2020202d20605060206973206e756d626572206f66206163746976652070726f706f73616c732cd82020202d20604c602069732074686520656e636f646564206c656e677468206f66206070726f706f73616c6020707265696d6167652e011c2050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e74084d012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e4020604d656d626572436f756e7460292e14566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740809012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67190120612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404104861736804c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404104861736804d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408104861736810626f6f6c0405012041206d6f74696f6e207761732065786563757465643b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408104861736810626f6f6c042d0120412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e18436c6f7365640c10486173682c4d656d626572436f756e742c4d656d626572436f756e7404c420412070726f706f73616c2077617320636c6f73656420616674657220697473206475726174696f6e207761732075702e001c244e6f744d656d6265720460204163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0480204475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e6704502050726f706f73616c206d7573742065786973742857726f6e67496e6465780444204d69736d61746368656420696e646578344475706c6963617465566f7465045c204475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a65640484204d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c790401012054686520636c6f73652063616c6c206973206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e48546563686e6963616c436f6d6d6974746565014c496e7374616e636532436f6c6c656374697665182450726f706f73616c730100305665633c543a3a486173683e040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001061c543a3a48617368643c542061732054726169743c493e3e3a3a50726f706f73616c00040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001061c543a3a486173688c566f7465733c543a3a4163636f756e7449642c20543a3a426c6f636b4e756d6265723e00040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401000c753332100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100445665633c543a3a4163636f756e7449643e0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000030543a3a4163636f756e7449640400085d0120546865206d656d6265722077686f2070726f7669646573207468652064656661756c7420766f746520666f7220616e79206f74686572206d656d62657273207468617420646f206e6f7420766f7465206265666f7265e4207468652074696d656f75742e204966204e6f6e652c207468656e206e6f206d656d6265722068617320746861742070726976696c6567652e01142c7365745f6d656d62657273082c6e65775f6d656d62657273445665633c543a3a4163636f756e7449643e147072696d65504f7074696f6e3c543a3a4163636f756e7449643e1884205365742074686520636f6c6c6563746976652773206d656d626572736869702e00fc202d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e64e4202d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e005820526571756972657320726f6f74206f726967696e2e1c65786563757465042070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e0cf420446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00ac204f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e1c70726f706f736508247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c78426f783c3c542061732054726169743c493e3e3a3a50726f706f73616c3e102c2023203c7765696768743e90202d20426f756e6465642073746f7261676520726561647320616e64207772697465732eb8202d20417267756d656e7420607468726573686f6c6460206861732062656172696e67206f6e207765696768742e302023203c2f7765696768743e10766f74650c2070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c102c2023203c7765696768743e8c202d20426f756e6465642073746f72616765207265616420616e64207772697465732e5501202d2057696c6c20626520736c696768746c792068656176696572206966207468652070726f706f73616c20697320617070726f766564202f20646973617070726f7665642061667465722074686520766f74652e302023203c2f7765696768743e14636c6f7365082070726f706f73616c1c543a3a4861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e345101204d61792062652063616c6c656420627920616e79207369676e6564206163636f756e742061667465722074686520766f74696e67206475726174696f6e2068617320656e64656420696e206f7264657220746f982066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e005d012041627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e7320756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d6564206d656d626572206361737420616e20617070726f76616c2e0094202d2074686520776569676874206f66206070726f706f73616c6020707265696d6167652e80202d20757020746f207468726565206576656e7473206465706f73697465642e0d01202d206f6e6520726561642c2074776f2072656d6f76616c732c206f6e65206d75746174696f6e2e2028706c7573207468726565207374617469632072656164732e29b0202d20636f6d7075746174696f6e20616e6420692f6f20604f2850202b204c202b204d29602077686572653a782020202d20604d60206973206e756d626572206f66206d656d626572732c9c2020202d20605060206973206e756d626572206f66206163746976652070726f706f73616c732cd82020202d20604c602069732074686520656e636f646564206c656e677468206f66206070726f706f73616c6020707265696d6167652e011c2050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e74084d012041206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e4020604d656d626572436f756e7460292e14566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740809012041206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e67190120612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404104861736804c42041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404104861736804d42041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408104861736810626f6f6c0405012041206d6f74696f6e207761732065786563757465643b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408104861736810626f6f6c042d0120412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b2060626f6f6c6020697320747275652069662072657475726e656420776974686f7574206572726f722e18436c6f7365640c10486173682c4d656d626572436f756e742c4d656d626572436f756e7404c420412070726f706f73616c2077617320636c6f73656420616674657220697473206475726174696f6e207761732075702e001c244e6f744d656d6265720460204163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0480204475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e6704502050726f706f73616c206d7573742065786973742857726f6e67496e6465780444204d69736d61746368656420696e646578344475706c6963617465566f7465045c204475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a65640484204d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c790401012054686520636c6f73652063616c6c206973206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e24456c656374696f6e73014050687261676d656e456c656374696f6e141c4d656d626572730100845665633c28543a3a4163636f756e7449642c2042616c616e63654f663c543e293e040004f0205468652063757272656e7420656c6563746564206d656d626572736869702e20536f72746564206261736564206f6e206163636f756e742069642e2452756e6e65727355700100845665633c28543a3a4163636f756e7449642c2042616c616e63654f663c543e293e0400044901205468652063757272656e742072756e6e6572735f75702e20536f72746564206261736564206f6e206c6f7720746f2068696768206d657269742028776f72736520746f20626573742072756e6e6572292e38456c656374696f6e526f756e647301000c75333210000000000441012054686520746f74616c206e756d626572206f6620766f746520726f756e6473207468617420686176652068617070656e65642c206578636c7564696e6720746865207570636f6d696e67206f6e652e18566f74696e6701010530543a3a4163636f756e744964842842616c616e63654f663c543e2c205665633c543a3a4163636f756e7449643e290044000000000000000000000000000000000004b820566f74657320616e64206c6f636b6564207374616b65206f66206120706172746963756c617220766f7465722e2843616e646964617465730100445665633c543a3a4163636f756e7449643e0400085901205468652070726573656e742063616e646964617465206c6973742e20536f72746564206261736564206f6e206163636f756e742d69642e20412063757272656e74206d656d626572206f722072756e6e65722d757041012063616e206e6576657220656e746572207468697320766563746f7220616e6420697320616c7761797320696d706c696369746c7920617373756d656420746f20626520612063616e6469646174652e011810766f74650814766f746573445665633c543a3a4163636f756e7449643e1476616c756554436f6d706163743c42616c616e63654f663c543e3e3c050120566f746520666f72206120736574206f662063616e6469646174657320666f7220746865207570636f6d696e6720726f756e64206f6620656c656374696f6e2e0050205468652060766f746573602073686f756c643a482020202d206e6f7420626520656d7074792eac2020202d206265206c657373207468616e20746865206e756d626572206f662063616e646964617465732e005d012055706f6e20766f74696e672c206076616c75656020756e697473206f66206077686f6027732062616c616e6365206973206c6f636b656420616e64206120626f6e6420616d6f756e742069732072657365727665642e5d012049742069732074686520726573706f6e736962696c697479206f66207468652063616c6c657220746f206e6f7420706c61636520616c6c206f662074686569722062616c616e636520696e746f20746865206c6f636ba020616e64206b65657020736f6d6520666f722066757274686572207472616e73616374696f6e732e002c2023203c7765696768743e2c2023232323205374617465302052656164733a204f283129c8205772697465733a204f28562920676976656e2060566020766f7465732e205620697320626f756e6465642062792031362e302023203c2f7765696768743e3072656d6f76655f766f746572001c21012052656d6f766520606f726967696e60206173206120766f7465722e20546869732072656d6f76657320746865206c6f636b20616e642072657475726e732074686520626f6e642e002c2023203c7765696768743e2c2023232323205374617465302052656164733a204f28312934205772697465733a204f283129302023203c2f7765696768743e507265706f72745f646566756e63745f766f74657204187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365345d01205265706f727420607461726765746020666f72206265696e6720616e20646566756e637420766f7465722e20496e2063617365206f6620612076616c6964207265706f72742c20746865207265706f727465722069735d012072657761726465642062792074686520626f6e6420616d6f756e74206f662060746172676574602e204f74686572776973652c20746865207265706f7274657220697473656c662069732072656d6f76656420616e645c20746865697220626f6e6420697320736c61736865642e0088204120646566756e637420766f74657220697320646566696e656420746f2062653a4d012020202d206120766f7465722077686f73652063757272656e74207375626d697474656420766f7465732061726520616c6c20696e76616c69642e20692e652e20616c6c206f66207468656d20617265206e6fb420202020206c6f6e67657220612063616e646964617465206e6f7220616e20616374697665206d656d6265722e002c2023203c7765696768743e2c202323232320537461746515012052656164733a204f284e4c6f674d2920676976656e204d2063757272656e742063616e6469646174657320616e64204e20766f74657320666f722060746172676574602e34205772697465733a204f283129302023203c2f7765696768743e407375626d69745f63616e646964616379003478205375626d6974206f6e6573656c6620666f722063616e6469646163792e006420412063616e6469646174652077696c6c206569746865723aec2020202d204c6f73652061742074686520656e64206f6620746865207465726d20616e6420666f7266656974207468656972206465706f7369742e2d012020202d2057696e20616e64206265636f6d652061206d656d6265722e204d656d626572732077696c6c206576656e7475616c6c7920676574207468656972207374617368206261636b2e55012020202d204265636f6d6520612072756e6e65722d75702e2052756e6e6572732d75707320617265207265736572766564206d656d6265727320696e2063617365206f6e65206765747320666f72636566756c6c7934202020202072656d6f7665642e002c2023203c7765696768743e2c20232323232053746174658c2052656164733a204f284c6f674e2920476976656e204e2063616e646964617465732e34205772697465733a204f283129302023203c2f7765696768743e4872656e6f756e63655f63616e646964616379002451012052656e6f756e6365206f6e65277320696e74656e74696f6e20746f20626520612063616e64696461746520666f7220746865206e65787420656c656374696f6e20726f756e642e203320706f74656e7469616c40206f7574636f6d65732065786973743a4101202d20606f726967696e6020697320612063616e64696461746520616e64206e6f7420656c656374656420696e20616e79207365742e20496e207468697320636173652c2074686520626f6e64206973f4202020756e72657365727665642c2072657475726e656420616e64206f726967696e2069732072656d6f76656420617320612063616e6469646174652e5901202d20606f726967696e6020697320612063757272656e742072756e6e65722075702e20496e207468697320636173652c2074686520626f6e6420697320756e72657365727665642c2072657475726e656420616e64842020206f726967696e2069732072656d6f76656420617320612072756e6e65722e4d01202d20606f726967696e6020697320612063757272656e74206d656d6265722e20496e207468697320636173652c2074686520626f6e6420697320756e726573657276656420616e64206f726967696e206973590120202072656d6f7665642061732061206d656d6265722c20636f6e73657175656e746c79206e6f74206265696e6720612063616e64696461746520666f7220746865206e65787420726f756e6420616e796d6f72652e650120202053696d696c617220746f205b6072656d6f76655f766f746572605d2c206966207265706c6163656d656e742072756e6e657273206578697374732c20746865792061726520696d6d6564696174656c7920757365642e3472656d6f76655f6d656d626572040c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365345d012052656d6f7665206120706172746963756c6172206d656d6265722066726f6d20746865207365742e20546869732069732065666665637469766520696d6d6564696174656c7920616e642074686520626f6e64206f668020746865206f7574676f696e67206d656d62657220697320736c61736865642e00590120496620612072756e6e65722d757020697320617661696c61626c652c207468656e2074686520626573742072756e6e65722d75702077696c6c2062652072656d6f76656420616e64207265706c6163657320746865f4206f7574676f696e67206d656d6265722e204f74686572776973652c2061206e65772070687261676d656e20726f756e6420697320737461727465642e004501204e6f74652074686174207468697320646f6573206e6f7420616666656374207468652064657369676e6174656420626c6f636b206e756d626572206f6620746865206e65787420656c656374696f6e2e002c2023203c7765696768743e2c2023232323205374617465582052656164733a204f28646f5f70687261676d656e295c205772697465733a204f28646f5f70687261676d656e29302023203c2f7765696768743e01141c4e65775465726d04645665633c284163636f756e7449642c2042616c616e6365293e0855012041206e6577207465726d2077697468206e6577206d656d626572732e205468697320696e64696361746573207468617420656e6f7567682063616e6469646174657320657869737465642c206e6f742074686174450120656e6f756768206861766520686173206265656e20656c65637465642e2054686520696e6e65722076616c7565206d757374206265206578616d696e656420666f72207468697320707572706f73652e24456d7074795465726d0004d8204e6f20286f72206e6f7420656e6f756768292063616e64696461746573206578697374656420666f72207468697320726f756e642e304d656d6265724b69636b656404244163636f756e7449640845012041206d656d62657220686173206265656e2072656d6f7665642e20546869732073686f756c6420616c7761797320626520666f6c6c6f7765642062792065697468657220604e65775465726d60206f74342060456d7074795465726d602e3c4d656d62657252656e6f756e63656404244163636f756e74496404a02041206d656d626572206861732072656e6f756e6365642074686569722063616e6469646163792e34566f7465725265706f727465640c244163636f756e744964244163636f756e74496410626f6f6c086101204120766f7465722028666972737420656c656d656e742920776173207265706f72746564202862797420746865207365636f6e6420656c656d656e742920776974682074686520746865207265706f7274206265696e678c207375636365737366756c206f72206e6f742028746869726420656c656d656e74292e143443616e646964616379426f6e643042616c616e63654f663c543e40a08601000000000000000000000000000028566f74696e67426f6e643042616c616e63654f663c543e40102700000000000000000000000000000038446573697265644d656d626572730c753332100d00000000404465736972656452756e6e65727355700c753332100700000000305465726d4475726174696f6e38543a3a426c6f636b4e756d6265721080d80100003830556e61626c65546f566f746504c42043616e6e6f7420766f7465207768656e206e6f2063616e64696461746573206f72206d656d626572732065786973742e1c4e6f566f7465730498204d75737420766f746520666f72206174206c65617374206f6e652063616e6469646174652e30546f6f4d616e79566f74657304882043616e6e6f7420766f7465206d6f7265207468616e2063616e646964617465732e504d6178696d756d566f7465734578636565646564049c2043616e6e6f7420766f7465206d6f7265207468616e206d6178696d756d20616c6c6f7765642e284c6f7742616c616e636504c82043616e6e6f7420766f74652077697468207374616b65206c657373207468616e206d696e696d756d2062616c616e63652e3c556e61626c65546f506179426f6e64047c20566f7465722063616e206e6f742070617920766f74696e6720626f6e642e2c4d7573744265566f7465720444204d757374206265206120766f7465722e285265706f727453656c6604502043616e6e6f74207265706f72742073656c662e4c4475706c69636174656443616e6469646174650484204475706c6963617465642063616e646964617465207375626d697373696f6e2e304d656d6265725375626d6974048c204d656d6265722063616e6e6f742072652d7375626d69742063616e6469646163792e3052756e6e65725375626d6974048c2052756e6e65722063616e6e6f742072652d7375626d69742063616e6469646163792e68496e73756666696369656e7443616e64696461746546756e647304982043616e64696461746520646f6573206e6f74206861766520656e6f7567682066756e64732e34496e76616c69644f726967696e04c8204f726967696e206973206e6f7420612063616e6469646174652c206d656d626572206f7220612072756e6e65722075702e244e6f744d656d6265720438204e6f742061206d656d6265722e4c546563686e6963616c4d656d62657273686970014c496e7374616e6365314d656d62657273686970081c4d656d626572730100445665633c543a3a4163636f756e7449643e040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000030543a3a4163636f756e744964040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e011c286164645f6d656d626572040c77686f30543a3a4163636f756e7449640c7c204164642061206d656d626572206077686f6020746f20746865207365742e00b4204d6179206f6e6c792062652063616c6c65642066726f6d20604164644f726967696e60206f7220726f6f742e3472656d6f76655f6d656d626572040c77686f30543a3a4163636f756e7449640c902052656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00c0204d6179206f6e6c792062652063616c6c65642066726f6d206052656d6f76654f726967696e60206f7220726f6f742e2c737761705f6d656d626572081872656d6f766530543a3a4163636f756e7449640c61646430543a3a4163636f756e74496414c02053776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00b8204d6179206f6e6c792062652063616c6c65642066726f6d2060537761704f726967696e60206f7220726f6f742e001101205072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d62657273041c6d656d62657273445665633c543a3a4163636f756e7449643e105901204368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e646c207061737320606d656d6265727360207072652d736f727465642e00bc204d6179206f6e6c792062652063616c6c65642066726f6d206052657365744f726967696e60206f7220726f6f742e286368616e67655f6b6579040c6e657730543a3a4163636f756e74496414d82053776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f4204d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e002101205072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d65040c77686f30543a3a4163636f756e74496404c02053657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e2c636c6561725f7072696d650004982052656d6f766520746865207072696d65206d656d626572206966206974206578697374732e01182c4d656d62657241646465640004e42054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f7665640004ec2054686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d62657273537761707065640004dc2054776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740004190120546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000488204f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d7904bc73705f7374643a3a6d61726b65723a3a5068616e746f6d446174613c284163636f756e7449642c204576656e74293e0470205068616e746f6d206d656d6265722c206e6576657220757365642e00003c46696e616c697479547261636b65720001042866696e616c5f68696e74041068696e745c436f6d706163743c543a3a426c6f636b4e756d6265723e08f42048696e7420746861742074686520617574686f72206f66207468697320626c6f636b207468696e6b732074686520626573742066696e616c697a65646c20626c6f636b2069732074686520676976656e206e756d6265722e00082857696e646f7753697a6538543a3a426c6f636b4e756d626572106500000004190120546865206e756d626572206f6620726563656e742073616d706c657320746f206b6565702066726f6d207468697320636861696e2e2044656661756c74206973203130312e345265706f72744c6174656e637938543a3a426c6f636b4e756d62657210e8030000041d01205468652064656c617920616674657220776869636820706f696e74207468696e6773206265636f6d6520737573706963696f75732e2044656661756c7420697320313030302e0838416c72656164795570646174656404c82046696e616c2068696e74206d7573742062652075706461746564206f6e6c79206f6e636520696e2074686520626c6f636b1c42616448696e7404902046696e616c697a6564206865696768742061626f766520626c6f636b206e756d6265721c4772616e647061013c4772616e64706146696e616c6974791814537461746501006c53746f72656453746174653c543a3a426c6f636b4e756d6265723e04000490205374617465206f66207468652063757272656e7420617574686f72697479207365742e3450656e64696e674368616e676500008c53746f72656450656e64696e674368616e67653c543a3a426c6f636b4e756d6265723e040004c42050656e64696e67206368616e67653a20287369676e616c65642061742c207363686564756c6564206368616e6765292e284e657874466f72636564000038543a3a426c6f636b4e756d626572040004bc206e65787420626c6f636b206e756d6265722077686572652077652063616e20666f7263652061206368616e67652e1c5374616c6c656400008028543a3a426c6f636b4e756d6265722c20543a3a426c6f636b4e756d626572290400049020607472756560206966207765206172652063757272656e746c79207374616c6c65642e3043757272656e7453657449640100145365744964200000000000000000085d0120546865206e756d626572206f66206368616e6765732028626f746820696e207465726d73206f66206b65797320616e6420756e6465726c79696e672065636f6e6f6d696320726573706f6e736962696c697469657329c420696e20746865202273657422206f66204772616e6470612076616c696461746f72732066726f6d2067656e657369732e30536574496453657373696f6e0001051453657449643053657373696f6e496e6465780004000859012041206d617070696e672066726f6d206772616e6470612073657420494420746f2074686520696e646578206f6620746865202a6d6f737420726563656e742a2073657373696f6e20666f722077686963682069747368206d656d62657273207765726520726573706f6e7369626c652e0104487265706f72745f6d69736265686176696f72041c5f7265706f72741c5665633c75383e0464205265706f727420736f6d65206d69736265686176696f722e010c384e6577417574686f7269746965730434417574686f726974794c6973740490204e657720617574686f726974792073657420686173206265656e206170706c6965642e1850617573656400049c2043757272656e7420617574686f726974792073657420686173206265656e207061757365642e1c526573756d65640004a02043757272656e7420617574686f726974792073657420686173206265656e20726573756d65642e00102c50617573654661696c656408090120417474656d707420746f207369676e616c204752414e445041207061757365207768656e2074686520617574686f72697479207365742069736e2774206c697665a8202865697468657220706175736564206f7220616c72656164792070656e64696e67207061757365292e30526573756d654661696c656408150120417474656d707420746f207369676e616c204752414e44504120726573756d65207768656e2074686520617574686f72697479207365742069736e277420706175736564a42028656974686572206c697665206f7220616c72656164792070656e64696e6720726573756d65292e344368616e676550656e64696e6704ec20417474656d707420746f207369676e616c204752414e445041206368616e67652077697468206f6e6520616c72656164792070656e64696e672e1c546f6f536f6f6e04c02043616e6e6f74207369676e616c20666f72636564206368616e676520736f20736f6f6e206166746572206c6173742e20547265617375727901205472656173757279143450726f706f73616c436f756e7401003450726f706f73616c496e646578100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c730001053450726f706f73616c496e6465789050726f706f73616c3c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e24417070726f76616c730100485665633c50726f706f73616c496e6465783e040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e10546970730001051c543a3a48617368f04f70656e5469703c543a3a4163636f756e7449642c2042616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265722c20543a3a486173683e0004000c59012054697073207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e730001061c543a3a486173681c5665633c75383e0004000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e01203470726f706f73655f7370656e64081476616c756554436f6d706163743c42616c616e63654f663c543e3e2c62656e65666963696172798c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365242d012050757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c7565350120697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e636520746865542070726f706f73616c20697320617761726465642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e94202d204f6e65204442206368616e67652c206f6e6520657874726120444220656e7472792e302023203c2f7765696768743e3c72656a6563745f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e1cfc2052656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e40202d204f6e6520444220636c6561722e302023203c2f7765696768743e40617070726f76655f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e205d0120417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279ac20616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e387265706f72745f617765736f6d650818726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e7449644c5d01205265706f727420736f6d657468696e672060726561736f6e60207468617420646573657276657320612074697020616e6420636c61696d20616e79206576656e7475616c207468652066696e6465722773206665652e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005501205061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173d420605469705265706f72744465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743e9c202d20604f2852296020776865726520605260206c656e677468206f662060726561736f6e602e64202d204f6e652062616c616e6365206f7065726174696f6e2e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e2c726574726163745f7469700410686173681c543a3a486173684c550120526574726163742061207072696f72207469702d7265706f72742066726f6d20607265706f72745f617765736f6d65602c20616e642063616e63656c207468652070726f63657373206f662074697070696e672e00e0204966207375636365737366756c2c20746865206f726967696e616c206465706f7369742077696c6c20626520756e72657365727665642e00510120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642074686520746970206964656e746966696564206279206068617368604501206d7573742068617665206265656e207265706f7274656420627920746865207369676e696e67206163636f756e74207468726f75676820607265706f72745f617765736f6d65602028616e64206e6f7450207468726f75676820607469705f6e657760292e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e009020456d697473206054697052657472616374656460206966207375636365737366756c2e002c2023203c7765696768743e24202d20604f2854296064202d204f6e652062616c616e6365206f7065726174696f6e2ec4202d2054776f2073746f726167652072656d6f76616c7320286f6e6520726561642c20636f64656320604f28542960292e34202d204f6e65206576656e742e302023203c2f7765696768743e1c7469705f6e65770c18726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e744964247469705f76616c75653042616c616e63654f663c543e4cf4204769766520612074697020666f7220736f6d657468696e67206e65773b206e6f2066696e6465722773206665652077696c6c2062652074616b656e2e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743e4101202d20604f2852202b2054296020776865726520605260206c656e677468206f662060726561736f6e602c2060546020697320746865206e756d626572206f6620746970706572732e2060546020697345012020206e61747572616c6c79206361707065642061732061206d656d62657273686970207365742c20605260206973206c696d69746564207468726f756768207472616e73616374696f6e2d73697a652e0d01202d2054776f2073746f7261676520696e73657274696f6e732028636f6465637320604f285229602c20604f28542960292c206f6e65207265616420604f283129602e34202d204f6e65206576656e742e302023203c2f7765696768743e0c7469700810686173681c543a3a48617368247469705f76616c75653042616c616e63654f663c543e4cb4204465636c6172652061207469702076616c756520666f7220616e20616c72656164792d6f70656e207469702e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f66207468652068617368206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279382020206163636f756e742049442e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e00650120456d6974732060546970436c6f73696e676020696620746865207468726573686f6c64206f66207469707065727320686173206265656e207265616368656420616e642074686520636f756e74646f776e20706572696f64342068617320737461727465642e002c2023203c7765696768743e24202d20604f285429600101202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28542960292c206f6e652073746f72616765207265616420604f283129602e4c202d20557020746f206f6e65206576656e742e302023203c2f7765696768743e24636c6f73655f7469700410686173681c543a3a48617368386020436c6f736520616e64207061796f75742061207469702e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0019012054686520746970206964656e74696669656420627920606861736860206d75737420686176652066696e69736865642069747320636f756e74646f776e20706572696f642e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e002c2023203c7765696768743e24202d20604f28542960e4202d204f6e652073746f726167652072657472696576616c2028636f64656320604f285429602920616e642074776f2072656d6f76616c732e88202d20557020746f2074687265652062616c616e6365206f7065726174696f6e732e302023203c2f7765696768743e012c2050726f706f736564043450726f706f73616c496e6465780438204e65772070726f706f73616c2e205370656e64696e67041c42616c616e636504e8205765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c3450726f706f73616c496e6465781c42616c616e6365244163636f756e744964048020536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a6563746564083450726f706f73616c496e6465781c42616c616e636504b420412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e74041c42616c616e6365048c20536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572041c42616c616e6365043101205370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f736974041c42616c616e6365048020536f6d652066756e64732068617665206265656e206465706f73697465642e184e657754697004104861736804982041206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e28546970436c6f73696e6704104861736804dc2041207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e24546970436c6f7365640c1048617368244163636f756e7449641c42616c616e636504882041207469702073756767657374696f6e20686173206265656e20636c6f7365642e3054697052657472616374656404104861736804942041207469702073756767657374696f6e20686173206265656e207265747261637465642e203050726f706f73616c426f6e641c5065726d696c6c1050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d3042616c616e63654f663c543e4010270000000000000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f6438543a3a426c6f636b4e756d6265721080430000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e1c5065726d696c6c1020a107000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e30546970436f756e74646f776e38543a3a426c6f636b4e756d62657210804300000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e646572734665651c50657263656e7404140431012054686520616d6f756e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f736974426173653042616c616e63654f663c543e401027000000000000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e5c5469705265706f72744465706f736974506572427974653042616c616e63654f663c543e400a0000000000000000000000000000000409012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e2e2070496e73756666696369656e7450726f706f7365727342616c616e6365047c2050726f706f73657227732062616c616e636520697320746f6f206c6f772e50496e76616c696450726f706f73616c496e646578046c204e6f2070726f706f73616c206174207468617420696e6465782e30526561736f6e546f6f42696704882054686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e048c20546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e54697004642054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e64657204210120546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e042d0120546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d617475726504350120546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e24436f6e7472616374730124436f6e7472616374731c204761735370656e7401000c476173200000000000000000048020476173207370656e7420736f2066617220696e207468697320626c6f636b2e3c43757272656e745363686564756c650100205363686564756c65e5010000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000008700000000000000af0000000000000001000000000000000100000000000000640000000000000004000000000001001000000000400000002000000004942043757272656e7420636f7374207363686564756c6520666f7220636f6e7472616374732e305072697374696e65436f64650001062c436f6465486173683c543e1c5665633c75383e0004000465012041206d617070696e672066726f6d20616e206f726967696e616c20636f6465206861736820746f20746865206f726967696e616c20636f64652c20756e746f756368656420627920696e737472756d656e746174696f6e2e2c436f646553746f726167650001062c436f6465486173683c543e587761736d3a3a5072656661625761736d4d6f64756c650004000465012041206d617070696e67206265747765656e20616e206f726967696e616c20636f6465206861736820616e6420696e737472756d656e746564207761736d20636f64652c20726561647920666f7220657865637574696f6e2e384163636f756e74436f756e74657201000c753634200000000000000000045420546865207375627472696520636f756e7465722e38436f6e7472616374496e666f4f6600010530543a3a4163636f756e7449643c436f6e7472616374496e666f3c543e00040004a82054686520636f6465206173736f6369617465642077697468206120676976656e206163636f756e742e20476173507269636501003042616c616e63654f663c543e4001000000000000000000000000000000047820546865207072696365206f66206f6e6520756e6974206f66206761732e01143c7570646174655f7363686564756c6504207363686564756c65205363686564756c650cb4205570646174657320746865207363686564756c6520666f72206d65746572696e6720636f6e7472616374732e000d0120546865207363686564756c65206d7573742068617665206120677265617465722076657273696f6e207468616e207468652073746f726564207363686564756c652e207075745f636f646508246761735f6c696d697430436f6d706163743c4761733e10636f64651c5665633c75383e085d012053746f7265732074686520676976656e2062696e617279205761736d20636f646520696e746f2074686520636861696e27732073746f7261676520616e642072657475726e73206974732060636f646568617368602ed420596f752063616e20696e7374616e746961746520636f6e747261637473206f6e6c7920776974682073746f72656420636f64652e1063616c6c1010646573748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651476616c756554436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d697430436f6d706163743c4761733e10646174611c5665633c75383e1c0901204d616b657320612063616c6c20746f20616e206163636f756e742c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e002901202a20496620746865206163636f756e74206973206120736d6172742d636f6e7472616374206163636f756e742c20746865206173736f63696174656420636f64652077696c6c206265b020657865637574656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e1901202a20496620746865206163636f756e74206973206120726567756c6172206163636f756e742c20616e792076616c75652077696c6c206265207472616e736665727265642e4901202a204966206e6f206163636f756e742065786973747320616e64207468652063616c6c2076616c7565206973206e6f74206c657373207468616e20606578697374656e7469616c5f6465706f736974602c1501206120726567756c6172206163636f756e742077696c6c206265206372656174656420616e6420616e792076616c75652077696c6c206265207472616e736665727265642e2c696e7374616e74696174651024656e646f776d656e7454436f6d706163743c42616c616e63654f663c543e3e246761735f6c696d697430436f6d706163743c4761733e24636f64655f686173682c436f6465486173683c543e10646174611c5665633c75383e28bd0120496e7374616e7469617465732061206e657720636f6e74726163742066726f6d207468652060636f646568617368602067656e65726174656420627920607075745f636f6465602c206f7074696f6e616c6c79207472616e7366657272696e6720736f6d652062616c616e63652e009820496e7374616e74696174696f6e20697320657865637574656420617320666f6c6c6f77733a004101202d205468652064657374696e6174696f6e206164647265737320697320636f6d7075746564206261736564206f6e207468652073656e64657220616e642068617368206f662074686520636f64652e0501202d2054686520736d6172742d636f6e7472616374206163636f756e7420697320637265617465642061742074686520636f6d707574656420616464726573732e6d01202d20546865206063746f725f636f64656020697320657865637574656420696e2074686520636f6e74657874206f6620746865206e65776c792d63726561746564206163636f756e742e204275666665722072657475726e65645d0120202061667465722074686520657865637574696f6e206973207361766564206173207468652060636f646560206f6620746865206163636f756e742e205468617420636f64652077696c6c20626520696e766f6b6564a820202075706f6e20616e792063616c6c2072656365697665642062792074686973206163636f756e742e7c202d2054686520636f6e747261637420697320696e697469616c697a65642e3c636c61696d5f73757263686172676508106465737430543a3a4163636f756e744964286175785f73656e646572504f7074696f6e3c543a3a4163636f756e7449643e14710120416c6c6f777320626c6f636b2070726f64756365727320746f20636c61696d206120736d616c6c2072657761726420666f72206576696374696e67206120636f6e74726163742e204966206120626c6f636b2070726f64756365721501206661696c7320746f20646f20736f2c206120726567756c61722075736572732077696c6c20626520616c6c6f77656420746f20636c61696d20746865207265776172642e00390120496620636f6e7472616374206973206e6f742065766963746564206173206120726573756c74206f6620746869732063616c6c2c206e6f20616374696f6e73206172652074616b656e20616e64ac207468652073656e646572206973206e6f7420656c696769626c6520666f7220746865207265776172642e0124205472616e736665720c244163636f756e744964244163636f756e7449641c42616c616e6365046901205472616e736665722068617070656e6564206066726f6d6020746f2060746f60207769746820676976656e206076616c7565602061732070617274206f662061206063616c6c60206f722060696e7374616e7469617465602e30496e7374616e74696174656408244163636f756e744964244163636f756e74496404dc20436f6e7472616374206465706c6f7965642062792061646472657373206174207468652073706563696669656420616464726573732e1c4576696374656408244163636f756e74496410626f6f6c18e420436f6e747261637420686173206265656e206576696374656420616e64206973206e6f7720696e20746f6d6273746f6e652073746174652e0024202320506172616d73000d01202d2060636f6e7472616374603a20604163636f756e744964603a20546865206163636f756e74204944206f6620746865206576696374656420636f6e74726163742e3501202d2060746f6d6273746f6e65603a2060626f6f6c603a205472756520696620746865206576696374656420636f6e7472616374206c65667420626568696e64206120746f6d6273746f6e652e20526573746f72656414244163636f756e744964244163636f756e74496410486173681c42616c616e636510626f6f6c24bc20526573746f726174696f6e20666f72206120636f6e747261637420686173206265656e20696e697469617465642e0024202320506172616d7300f4202d2060646f6e6f72603a20604163636f756e744964603a204163636f756e74204944206f662074686520726573746f72696e6720636f6e7472616374ec202d206064657374603a20604163636f756e744964603a204163636f756e74204944206f662074686520726573746f72656420636f6e7472616374e8202d2060636f64655f68617368603a206048617368603a20436f64652068617368206f662074686520726573746f72656420636f6e74726163741901202d206072656e745f616c6c6f77616e63653a206042616c616e6365603a2052656e7420616c6c6f77616e6365206f662074686520726573746f72656420636f6e7472616374f0202d206073756363657373603a2060626f6f6c603a20547275652069662074686520726573746f726174696f6e20776173207375636365737366756c28436f646553746f72656404104861736804b820436f646520776974682074686520737065636966696564206861736820686173206265656e2073746f7265642e3c5363686564756c6555706461746564040c75333204c020547269676765726564207768656e207468652063757272656e74207363686564756c6520697320757064617465642e4c44656c656761746564446973706174636865640c244163636f756e74496420446f7567686e757410626f6f6c08790120412063616c6c2077617320646973706174636865642066726f6d2074686520676976656e206163636f756e742077697468206120646f7567686e75742e2054686520626f6f6c207369676e616c7320776865746865722069742077617374207375636365737366756c20657865637574696f6e206f72206e6f742e284469737061746368656408244163636f756e74496410626f6f6c08390120412063616c6c2077617320646973706174636865642066726f6d2074686520676976656e206163636f756e742e2054686520626f6f6c207369676e616c7320776865746865722069742077617374207375636365737366756c20657865637574696f6e206f72206e6f742e44436f6e7472616374457865637574696f6e08244163636f756e7449641c5665633c75383e04090120416e206576656e74206465706f73697465642075706f6e20657865637574696f6e206f66206120636f6e74726163742066726f6d20746865206163636f756e742e3c4c5369676e6564436c61696d48616e646963617038543a3a426c6f636b4e756d626572100200000010e0204e756d626572206f6620626c6f636b2064656c617920616e2065787472696e73696320636c61696d20737572636861726765206861732e000d01205768656e20636c61696d207375726368617267652069732063616c6c656420627920616e2065787472696e736963207468652072656e7420697320636865636b65646820666f722063757272656e745f626c6f636b202d2064656c617940546f6d6273746f6e654465706f7369743042616c616e63654f663c543e404006000000000000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f2067656e6572617465206120746f6d6273746f6e652e4453746f7261676553697a654f66667365740c75333210080000000855012053697a65206f66206120636f6e7472616374206174207468652074696d65206f6620696e7374616e74696174696f6e2e205468697320697320612073696d706c652077617920746f20656e737572652074686174a420656d70747920636f6e747261637473206576656e7475616c6c7920676574732064656c657465642e2c52656e74427974654665653042616c616e63654f663c543e4090010000000000000000000000000000043501205072696365206f6620612062797465206f662073746f7261676520706572206f6e6520626c6f636b20696e74657276616c2e2053686f756c642062652067726561746572207468616e20302e4452656e744465706f7369744f66667365743042616c616e63654f663c543e40102700000000000000000000000000001c05012054686520616d6f756e74206f662066756e6473206120636f6e74726163742073686f756c64206465706f73697420696e206f7264657220746f206f6666736574582074686520636f7374206f66206f6e6520627974652e006901204c6574277320737570706f736520746865206465706f73697420697320312c303030204255202862616c616e636520756e697473292f6279746520616e64207468652072656e7420697320312042552f627974652f6461792c5901207468656e206120636f6e7472616374207769746820312c3030302c3030302042552074686174207573657320312c303030206279746573206f662073746f7261676520776f756c6420706179206e6f2072656e742e4d0120427574206966207468652062616c616e6365207265647563656420746f203530302c30303020425520616e64207468652073746f7261676520737461796564207468652073616d6520617420312c3030302c78207468656e20697420776f756c6420706179203530302042552f6461792e3c5375726368617267655265776172643042616c616e63654f663c543e401027000000000000000000000000000008e4205265776172642074686174206973207265636569766564206279207468652070617274792077686f736520746f75636820686173206c65646820746f2072656d6f76616c206f66206120636f6e74726163742e2c4372656174696f6e4665653042616c616e63654f663c543e4010270000000000000000000000000000049c205468652066656520726571756972656420746f2063726561746520616e206163636f756e742e485472616e73616374696f6e426173654665653042616c616e63654f663c543e400100000000000000000000000000000004dc205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b2074686520626173652e485472616e73616374696f6e427974654665653042616c616e63654f663c543e400a000000000000000000000000000000040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e2c436f6e74726163744665653042616c616e63654f663c543e4064000000000000000000000000000000084101205468652066656520726571756972656420746f20696e7374616e7469617465206120636f6e747261637420696e7374616e63652e204120726561736f6e61626c652064656661756c742076616c75651c2069732032312e2c43616c6c426173654665650c47617320e803000000000000081d0120546865206261736520666565206368617267656420666f722063616c6c696e6720696e746f206120636f6e74726163742e204120726561736f6e61626c652064656661756c74382076616c7565206973203133352e48496e7374616e7469617465426173654665650c47617320e80300000000000008390120546865206261736520666565206368617267656420666f7220696e7374616e74696174696e67206120636f6e74726163742e204120726561736f6e61626c652064656661756c742076616c756520206973203137352e204d617844657074680c753332102000000008310120546865206d6178696d756d206e657374696e67206c6576656c206f6620612063616c6c2f696e7374616e746961746520737461636b2e204120726561736f6e61626c652064656661756c74382076616c7565206973203130302e304d617856616c756553697a650c753332100040000004390120546865206d6178696d756d2073697a65206f6620612073746f726167652076616c756520696e2062797465732e204120726561736f6e61626c652064656661756c74206973203136204b69422e34426c6f636b4761734c696d69740c4761732040420f000000000008250120546865206d6178696d756d20616d6f756e74206f6620676173207468617420636f756c6420626520657870656e6465642070657220626c6f636b2e204120726561736f6e61626c65742064656661756c742076616c75652069732031305f3030305f3030302e1858496e76616c69645363686564756c6556657273696f6e0405012041206e6577207363686564756c65206d7573742068617665206120677265617465722076657273696f6e207468616e207468652063757272656e74206f6e652e54496e76616c6964537572636861726765436c61696d04550120416e206f726967696e206d757374206265207369676e6564206f7220696e686572656e7420616e6420617578696c696172792073656e646572206f6e6c792070726f7669646564206f6e20696e686572656e742e54496e76616c6964536f75726365436f6e747261637404dc2043616e6e6f7420726573746f72652066726f6d206e6f6e6578697374696e67206f7220746f6d6273746f6e6520636f6e74726163742e68496e76616c696444657374696e6174696f6e436f6e747261637404c42043616e6e6f7420726573746f726520746f206e6f6e6578697374696e67206f7220616c69766520636f6e74726163742e40496e76616c6964546f6d6273746f6e65046020546f6d6273746f6e657320646f6e2774206d617463682e54496e76616c6964436f6e74726163744f726967696e04bc20416e206f726967696e20547269654964207772697474656e20696e207468652063757272656e7420626c6f636b2e105375646f01105375646f040c4b6579010030543a3a4163636f756e74496480000000000000000000000000000000000000000000000000000000000000000004842054686520604163636f756e74496460206f6620746865207375646f206b65792e010c107375646f041063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e2839012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ec8202d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b2031302c3030302e302023203c2f7765696768743e1c7365745f6b6579040c6e65778c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652475012041757468656e74696361746573207468652063757272656e74207375646f206b657920616e6420736574732074686520676976656e204163636f756e7449642028606e6577602920617320746865206e6577207375646f206b65792e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e1c7375646f5f6173080c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e2c51012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c207769746820605369676e656460206f726967696e2066726f6d44206120676976656e206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ec8202d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b2031302c3030302e302023203c2f7765696768743e010c1453756469640410626f6f6c04602041207375646f206a75737420746f6f6b20706c6163652e284b65794368616e67656404244163636f756e74496404f020546865207375646f6572206a757374207377697463686564206964656e746974793b20746865206f6c64206b657920697320737570706c6965642e285375646f4173446f6e650410626f6f6c04602041207375646f206a75737420746f6f6b20706c6163652e00042c526571756972655375646f04802053656e646572206d75737420626520746865205375646f206163636f756e7420496d4f6e6c696e650120496d4f6e6c696e6510384865617274626561744166746572010038543a3a426c6f636b4e756d62657210000000001831012054686520626c6f636b206e756d6265722061667465722077686963682069742773206f6b20746f2073656e64206865617274626561747320696e2063757272656e742073657373696f6e2e0011012041742074686520626567696e6e696e67206f6620656163682073657373696f6e20776520736574207468697320746f20612076616c756520746861742073686f756c64d02066616c6c20726f7567686c7920696e20746865206d6964646c65206f66207468652073657373696f6e206475726174696f6e2e010120546865206964656120697320746f206669727374207761697420666f72207468652076616c696461746f727320746f2070726f64756365206120626c6f636b390120696e207468652063757272656e742073657373696f6e2c20736f20746861742074686520686561727462656174206c61746572206f6e2077696c6c206e6f74206265206e65636573736172792e104b65797301004c5665633c543a3a417574686f7269747949643e040004d0205468652063757272656e7420736574206f66206b6579732074686174206d61792069737375652061206865617274626561742e485265636569766564486561727462656174730002053053657373696f6e496e6465782441757468496e6465781c5665633c75383e05040008f020466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206041757468496e6465786020746f8020606f6666636861696e3a3a4f70617175654e6574776f726b5374617465602e38417574686f726564426c6f636b730102053053657373696f6e496e64657838543a3a56616c696461746f7249640c75333205100000000008150120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f662060543a3a56616c696461746f7249646020746f20746865c8206e756d626572206f6620626c6f636b7320617574686f7265642062792074686520676976656e20617574686f726974792e0104246865617274626561740824686561727462656174644865617274626561743c543a3a426c6f636b4e756d6265723e285f7369676e6174757265bc3c543a3a417574686f7269747949642061732052756e74696d654170705075626c69633e3a3a5369676e617475726500010c444865617274626561745265636569766564042c417574686f72697479496404c02041206e657720686561727462656174207761732072656365697665642066726f6d2060417574686f726974794964601c416c6c476f6f640004d42041742074686520656e64206f66207468652073657373696f6e2c206e6f206f6666656e63652077617320636f6d6d69747465642e2c536f6d654f66666c696e6504605665633c4964656e74696669636174696f6e5475706c653e0431012041742074686520656e64206f66207468652073657373696f6e2c206174206c65617374206f6e63652076616c696461746f722077617320666f756e6420746f206265206f66666c696e652e000828496e76616c69644b65790464204e6f6e206578697374656e74207075626c6963206b65792e4c4475706c6963617465644865617274626561740458204475706c696361746564206865617274626561742e48417574686f72697479446973636f76657279000100000000204f6666656e63657301204f6666656e6365730c1c5265706f727473000105345265706f727449644f663c543ed04f6666656e636544657461696c733c543a3a4163636f756e7449642c20543a3a4964656e74696669636174696f6e5475706c653e00040004490120546865207072696d61727920737472756374757265207468617420686f6c647320616c6c206f6666656e6365207265636f726473206b65796564206279207265706f7274206964656e746966696572732e58436f6e63757272656e745265706f727473496e646578010205104b696e64384f706171756554696d65536c6f74485665633c5265706f727449644f663c543e3e050400042901204120766563746f72206f66207265706f727473206f66207468652073616d65206b696e6420746861742068617070656e6564206174207468652073616d652074696d6520736c6f742e485265706f72747342794b696e64496e646578010105104b696e641c5665633c75383e00040018110120456e756d65726174657320616c6c207265706f727473206f662061206b696e6420616c6f6e672077697468207468652074696d6520746865792068617070656e65642e00bc20416c6c207265706f7274732061726520736f72746564206279207468652074696d65206f66206f6666656e63652e004901204e6f74652074686174207468652061637475616c2074797065206f662074686973206d617070696e6720697320605665633c75383e602c207468697320697320626563617573652076616c756573206f66690120646966666572656e7420747970657320617265206e6f7420737570706f7274656420617420746865206d6f6d656e7420736f2077652061726520646f696e6720746865206d616e75616c2073657269616c697a6174696f6e2e010001041c4f6666656e636508104b696e64384f706171756554696d65536c6f7408550120546865726520697320616e206f6666656e6365207265706f72746564206f662074686520676976656e20606b696e64602068617070656e656420617420746865206073657373696f6e5f696e6465786020616e64390120286b696e642d7370656369666963292074696d6520736c6f742e2054686973206576656e74206973206e6f74206465706f736974656420666f72206475706c696361746520736c61736865732e00006052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100305665633c543a3a486173683e04000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e01000000002853796c6f47726f757073012853796c6f47726f7570730c1847726f7570730101021c543a3a486173687047726f75703c543a3a4163636f756e7449642c20543a3a486173683e008c0000000000000000000000000000000000000000000000000000000000000000000000002c4d656d626572736869707301010230543a3a4163636f756e744964305665633c543a3a486173683e00040004c02053746f726573207468652067726f7570206964732074686174206120757365722069732061206d656d626572206f66344d656d626572446576696365730101021c543a3a48617368745665633c28543a3a4163636f756e7449642c204465766963654964293e00040004fc2053746f72657320746865206b6e6f776e206d656d6265722f6465766963654964207475706c657320666f72206120706172746963756c61722067726f7570011c306372656174655f67726f7570102067726f75705f69641c543a3a48617368106d657461104d6574611c696e7669746573645665633c496e766974653c543a3a4163636f756e7449643e3e2867726f75705f6461746158285661756c744b65792c205661756c7456616c75652914ec204372656174657320612067726f7570207769746820616c6c20696e7669746565732c20736574207468652063616c6c65722061732061646d696e0020207765696768743a3501204f2831292e204e6f74653a206e756d626572206f66206d656d62657220696e7669746565206973206361707065642061742031352c20736f206571756976616c656e7420746f204f2831292e88204c696d69746564206e756d626572206f662073746f72616765207772697465732e2c6c656176655f67726f7570082067726f75705f69641c543a3a486173682467726f75705f6b6579404f7074696f6e3c5661756c744b65793e140501204c656176657320612067726f75702e204966206e6f206f6e65206973206c656674206174207468652067726f75702c2064656c657465207468652067726f75700020207765696768743ad0204f286d29207768657265206d20697320746865206e756d626572206f66206d656d6265727320696e20746861742067726f7570e0204c696d69746564206e756d626572206f66207265616420616e64206d6178696d756d206f6620322073746f72616765207772697465732e347570646174655f6d656d626572082067726f75705f69641c543a3a48617368106d657461104d65746114b82055706461746520746865206d6574616461746120666f72207468652063616c6c657220696e20612067726f75700020207765696768743ad0204f286d29207768657265206d20697320746865206e756d626572206f66206d656d6265727320696e20746861742067726f757090204c696d69746564206e756d626572206f66207265616420616e6420312077726974652e447570736572745f67726f75705f6d657461082067726f75705f69641c543a3a48617368106d657461104d65746114ac204d657267652f7570646174652f72656d6f7665206d6574616461746120666f72207468652067726f75700020207765696768743ae0204f286e29207768657265206e20697320746865206e756d626572206f66206d65746164617461206b657920696e2074686520696e707574c8204e756d626572206f66207265616420616e642077726974657320646570656e64696e67206f6e20696e7075742064617461386372656174655f696e7669746573082067726f75705f69641c543a3a486173681c696e7669746573645665633c496e766974653c543a3a4163636f756e7449643e3e14902053656e6420696e7669746573206f757420746f20616c6c2074686520696e76697465650020207765696768743a98204f286e29207768657265206e20697320746865206e756d626572206f6620696e766974656588204c696d69746564206e756d626572206f66207265616420616e6420777269746573346163636570745f696e76697465182067726f75705f69641c543a3a486173681c7061796c6f61646c4163636570745061796c6f61643c543a3a4163636f756e7449643e28696e766974655f6b6579104832353620696e626f785f69640c753332247369676e617475726548656432353531393a3a5369676e61747572652867726f75705f6461746158285661756c744b65792c205661756c7456616c75652914c8204163636570742074686520696e7669746174696f6e20616e64206164642061207573657220746f207468652067726f75700020207765696768743a5901204f286e202b206d29207768657265206e20697320746865206e756d626572206f662067726f7570732c20616e64206d20697320746865206e756d626572206f66206d656d6265727320696e207468652067726f7570d4204c696d69746564206e756d626572206f66207265616420616e642077726974657320746f206d756c7469706c65207461626c6573387265766f6b655f696e7669746573082067726f75705f69641c543a3a486173682c696e766974655f6b657973245665633c483235363e1454205265766f6b6520616e20696e7669746174696f6e0020207765696768743abc204f286e29207768657265206e20746865206e756d626572206f66206578697374696e6720696e7669746174696f6e88204c696d69746564206e756d626572206f66207265616420616e64207772697465730000002053796c6f45324545012053796c6f4532454504345072654b657942756e646c65730101026028543a3a4163636f756e7449642c20446576696365496429445665633c5072654b657942756e646c653e00040000010c3c72656769737465725f64657669636508246465766963655f696420446576696365496410706b6273445665633c5072654b657942756e646c653e14842052656769737465722061206e65772064657669636520666f72206120757365720020207765696768743ad0204f286729207768657265206720697320746865206e756d626572206f662067726f75707320746865207573657220697320696ee0204d756c7469706c6520726561647320616e642077726974657320646570656e64696e67206f6e207468652075736572207374617465732e387265706c656e6973685f706b627308246465766963655f696420446576696365496410706b6273445665633c5072654b657942756e646c653e14cc204164642061206e6577205072654b65792062756e646c6520666f72206120676976656e20757365722773206465766963652e0020207765696768743a14204f2831292420312077726974652e3477697468647261775f706b62730828726571756573745f69641c543a3a486173682c77616e7465645f706b6273745665633c28543a3a4163636f756e7449642c204465766963654964293e14510120526574726965766520616e642072656d6f766520746865205072656b65792062756e646c6573206f66206120676976656e206c697374206f662075736572206163636f756e747320616e6420646576696365730020207765696768743a9901204f286e202a206b29207768657265206e206973207468652073697a65206f6620696e707574206077616e7465645f706b6273602c20616e64206b20697320746865206e756d626572206578697374696e6720504b425320696e207468652073746f72616765c4204e756d626572206f66207265616420616e64207772697465207363616c65642062792073697a65206f6620696e7075740000002853796c6f446576696365012853796c6f446576696365041c4465766963657301010230543a3a4163636f756e744964345665633c44657669636549643e00040000010000000c4c5573657249644e6f745265676973746572656404190120546865726520617265206e6f2064657669636573207265676973746572656420666f72207573657220286d697373696e6720757365725f696420696e204465766963657329384465766963654964457869737473040d012044657669636520697320616c7265616479207265676973746572656420746f207573657220286465766963655f696420697320616c726561647920696e2075736529544d61784465766963654c696d69745265616368656404ec204120757365722063616e27742068617665206d6f7265207468616e204d41585f44455649434553207265676973746572656420646576696365732453796c6f496e626f78012453796c6f496e626f78082c4e657874496e646578657301010230543a3a4163636f756e744964244d6573736167654964001000000000001856616c75657301010230543a3a4163636f756e744964645665633c284d65737361676549642c204d657373616765293e000400000108246164645f76616c7565081c706565725f696430543a3a4163636f756e7449641476616c75651c4d6573736167651474204164642061206e65772076616c756520696e746f2073746f726167650020207765696768743a14204f2831292020312077726974653464656c6574655f76616c756573042476616c75655f696473385665633c4d65737361676549643e14702044656c65746520612076616c75652066726f6d2073746f726167650020207765696768743ac0204f286e29207768657265206e206973206e756d626572206f662076616c75657320696e207468652073746f7261676520203120777269746500000c404d61784d6573736167654c656e67746804d02041206d6573736167652063616e6e6f742062652067726561746572207468616e204d41585f4d4553534147455f4c454e475448404d617844656c6574654d65737361676504d82043616e6e6f742064656c657465206d6f7265207468616e204d41585f44454c4554455f4d4553534147455320617420612074696d65444d65737361676549644f766572666c6f7704d82043616e6e6f742061737369676e20616e79206d6f72652069647320746f206d6573736167652064756520746f206f766572666c6f773053796c6f526573706f6e7365013053796c6f526573706f6e73650424526573706f6e7365730101025c28543a3a4163636f756e7449642c20543a3a486173682958526573706f6e73653c543a3a4163636f756e7449643e0004020001043c72656d6f76655f726573706f6e73650428726571756573745f69641c543a3a48617368148c2052656d6f766573206120726573706f6e73652066726f6d206120726571756573742e0020207765696768743a14204f2831292020312077726974650000002453796c6f5661756c74012453796c6f5661756c7404145661756c7401010230543a3a4163636f756e7449646c5665633c285661756c744b65792c205661756c7456616c7565293e000400000108307570736572745f76616c7565080c6b6579205661756c744b65791476616c7565285661756c7456616c7565147420496e73657274206f72207570646174652061207661756c74204b65790020207765696768743a14204f2831292020312077726974653464656c6574655f76616c75657304106b657973345665633c5661756c744b65793e14502052656d6f7665732061207661756c74206b65790020207765696768743a14204f28312920203120777269746500000c1c4d61784b65797304802043616e6e6f742073746f7265206d6f7265207468616e204d41585f4b455953384d617856616c75654c656e67746804c02043616e6e6f742073746f72652076616c7565206c6172676572207468616e204d41585f56414c55455f4c454e475448344d617844656c6574654b65797304c82043616e6e6f742064656c657465206d6f7265207468616e204d41585f44454c4554455f4b45595320617420612074696d652c53796c6f5061796d656e74013853796c6f4665655061796d656e740440417574686f72697365645061796572730100445665633c543a3a4163636f756e7449643e0400042901204163636f756e7473207768696368206861766520617574686f7269747920746f2070617920666f722053796c6f2066656573206f6e20626568616c66206f662074686520757365727301084c7365745f7061796d656e745f6163636f756e7404286163636f756e745f696430543a3a4163636f756e744964045d012041646420606163636f756e745f69646020617320616e20617574686f72697a65642053796c6f206665652070617965722e204f6e6c79205375646f2063616e207365742061207061796d656e74206163636f756e742e6c7265766f6b655f7061796d656e745f6163636f756e745f73656c660008310120496620746865206f726967696e206f66207468652063616c6c20697320616e20617574686f72697365642070617965722c207265766f6b652069747320617574686f7269736174696f6e2e1901204e4f54453a2054686973206d61792068616c7420616c6c2053796c6f206f7065726174696f6e7320696620746865726520617265206e6f206f74686572207061796572732e0000002843656e6e7a7853706f74012843656e6e7a7853706f74102c436f726541737365744964010028543a3a41737365744964100000000004582041737365744964206f6620436f72652041737365743844656661756c744665655261746501004c466565526174653c5065724d696c6c696f6e3e400000000000000000000000000000000004642044656661756c742054726164696e6720666565207261746538546f74616c4c69717569646974790101053845786368616e67654b65793c543e28543a3a42616c616e636500400000000000000000000000000000000008e820546f74616c206c697175696469747920686f6c64696e6773206f6620616c6c20696e7665737465727320696e20616e2065786368616e67652e55012069652f20746f74616c5f6c69717569646974792865786368616e676529203d3d2073756d286c69717569646974795f62616c616e63652865786368616e67652c2075736572292920617420616c6c2074696d6573404c697175696469747942616c616e63650102053845786368616e67654b65793c543e30543a3a4163636f756e74496428543a3a42616c616e636502400000000000000000000000000000000008c8204c697175696469747920686f6c64696e6773206f662061207573657220696e20616e2065786368616e676520706f6f6c2ecc204b65793a206028636f72655f61737365745f69642c2074726164655f61737365745f6964292c206163636f756e745f6964600114246275795f61737365741424726563697069656e74504f7074696f6e3c543a3a4163636f756e7449643e3461737365745f746f5f73656c6c4c436f6d706163743c543a3a417373657449643e3061737365745f746f5f6275794c436f6d706163743c543a3a417373657449643e286275795f616d6f756e744c436f6d706163743c543a3a42616c616e63653e306d6178696d756d5f73656c6c4c436f6d706163743c543a3a42616c616e63653e20a420427579206061737365745f746f5f627579602077697468206061737365745f746f5f73656c6c602e090120557365722073706563696669657320616e20657861637420606275795f616d6f756e746020616e64206120606d6178696d756d5f73656c6c6020616d6f756e742e0031012060726563697069656e7460202d204163636f756e7420746f207265636569766520606275795f616d6f756e74602c2064656661756c747320746f20606f726967696e60206966204e6f6e658c206061737365745f746f5f73656c6c60202d20617373657420494420746f2073656c6c84206061737365745f746f5f62757960202d20617373657420494420746f20627579d420606275795f616d6f756e7460202d2054686520616d6f756e74206061737365745f746f5f6275796020746f207075726368617365c020606d6178696d756d5f73656c6c60202d204d6178696d756d206061737365745f746f5f73656c6c6020746f207061792873656c6c5f61737365741424726563697069656e74504f7074696f6e3c543a3a4163636f756e7449643e3461737365745f746f5f73656c6c4c436f6d706163743c543a3a417373657449643e3061737365745f746f5f6275794c436f6d706163743c543a3a417373657449643e2c73656c6c5f616d6f756e744c436f6d706163743c543a3a42616c616e63653e2c6d696e696d756d5f6275794c436f6d706163743c543a3a42616c616e63653e20a42053656c6c206061737365745f746f5f73656c6c6020666f72206061737365745f746f5f627579602e090120557365722073706563696669657320616e206578616374206073656c6c5f616d6f756e746020616e64206120606d696e696d756d5f6275796020616d6f756e742e0031012060726563697069656e7460202d204163636f756e7420746f207265636569766520606275795f616d6f756e74602c2064656661756c747320746f20606f726967696e60206966204e6f6e658c206061737365745f746f5f73656c6c60202d20617373657420494420746f2073656c6c84206061737365745f746f5f62757960202d20617373657420494420746f20627579d8206073656c6c5f616d6f756e7460202d2054686520616d6f756e74206061737365745f746f5f6275796020746f207075726368617365bc20606d696e696d756d5f62757960202d204d6178696d756d206061737365745f746f5f73656c6c6020746f20706179346164645f6c6971756964697479102061737365745f69644c436f6d706163743c543a3a417373657449643e346d696e5f6c69717569646974794c436f6d706163743c543a3a42616c616e63653e406d61785f61737365745f616d6f756e744c436f6d706163743c543a3a42616c616e63653e2c636f72655f616d6f756e744c436f6d706163743c543a3a42616c616e63653e201901204465706f73697420636f726520617373657420616e642074726164652061737365742061742063757272656e7420726174696f20746f206d696e74206c6971756964697479902052657475726e7320616d6f756e74206f66206c6971756964697479206d696e7465642e002420606f726967696e6080206061737365745f696460202d20546865207472616465206173736574204944bc20606d696e5f6c697175696469747960202d20546865206d696e696d756d206c697175696469747920746f20616464b8206061737365745f616d6f756e7460202d20416d6f756e74206f6620747261646520617373657420746f20616464b02060636f72655f616d6f756e7460202d20416d6f756e74206f6620636f726520617373657420746f206164644072656d6f76655f6c6971756964697479102061737365745f69644c436f6d706163743c543a3a417373657449643e546c69717569646974795f746f5f77697468647261774c436f6d706163743c543a3a42616c616e63653e486d696e5f61737365745f77697468647261774c436f6d706163743c543a3a42616c616e63653e446d696e5f636f72655f77697468647261774c436f6d706163743c543a3a42616c616e63653e183501204275726e2065786368616e67652061737365747320746f20776974686472617720636f726520617373657420616e642074726164652061737365742061742063757272656e7420726174696f0080206061737365745f696460202d20546865207472616465206173736574204944050120606c69717569646974795f746f5f776974686472617760202d20416d6f756e74206f6620757365722773206c697175696469747920746f207769746864726177e420606d696e5f61737365745f776974686472617760202d20546865206d696e696d756d2074726164652061737365742077697468647261776ee020606d696e5f636f72655f776974686472617760202d2020546865206d696e696d756d20636f72652061737365742077697468647261776e307365745f6665655f7261746504306e65775f6665655f726174654c466565526174653c5065724d696c6c696f6e3e04c020536574207468652073706f742065786368616e676520776964652066656520726174652028726f6f74206f6e6c7929010c304164644c697175696469747910244163636f756e7449641c42616c616e63651c417373657449641c42616c616e63650401012050726f76696465722c20636f726520617373657420616d6f756e742c2074726164652061737365742069642c20747261646520617373657420616d6f756e743c52656d6f76654c697175696469747910244163636f756e7449641c42616c616e63651c417373657449641c42616c616e63650401012050726f76696465722c20636f726520617373657420616d6f756e742c2074726164652061737365742069642c20747261646520617373657420616d6f756e743441737365745075726368617365141c417373657449641c41737365744964244163636f756e7449641c42616c616e63651c42616c616e636504e0204173736574536f6c642c204173736574426f756768742c2042757965722c20536f6c64416d6f756e742c20426f75676874416d6f756e74004844456d70747945786368616e6765506f6f6c007c496e73756666696369656e7445786368616e6765506f6f6c52657365727665004c496e73756666696369656e7442616c616e63650054496e73756666696369656e744c69717569646974790074496e73756666696369656e745472616465417373657442616c616e63650070496e73756666696369656e74436f7265417373657442616c616e6365003c43616e6e6f7454726164655a65726f006843616e6e6f744164644c6971756964697479576974685a65726f006c4d696e696d756d427579526571756972656d656e744e6f744d657400704d6178696d756d53656c6c526571756972656d656e744e6f744d657400884d696e696d756d54726164654173736574526571756972656d656e744e6f744d657400844d696e696d756d436f72654173736574526571756972656d656e744e6f744d657400844d696e696d756d4c6971756964697479526571756972656d656e744e6f744d657400884d6178696d756d54726164654173736574526571756972656d656e744e6f744d65740060417373657443616e6e6f7453776170466f72497473656c660038496e76616c69644173736574496400204f766572666c6f77003044697669646542795a65726f000420544f7074696f6e5369676e6564457874656e73696f6e30436865636b56657273696f6e30436865636b47656e6573697320436865636b45726128436865636b4e6f6e63652c436865636b576569676874604368617267655472616e73616374696f6e5061796d656e7448436865636b426c6f636b4761734c696d6974', + '0x5980f67fbc012eec84581f8f9a28cd5e1b0628e0b035466eef4309f1a2db335f-37': + '0x6d6574610c781853797374656d011853797374656d401c4163636f756e7401010230543a3a4163636f756e744964944163636f756e74496e666f3c543a3a496e6465782c20543a3a4163636f756e74446174613e003000000000000000000000000004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e7400000c753332040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010064776569676874733a3a45787472696e7369637357656967687440000000000000000000000000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e00000c753332040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b4861736801010538543a3a426c6f636b4e756d6265721c543a3a48617368008000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101050c7533321c5665633c75383e000400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010038543a3a426c6f636b4e756d6265721000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801001c543a3a4861736880000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e3845787472696e73696373526f6f7401001c543a3a486173688000000000000000000000000000000000000000000000000000000000000000000415012045787472696e7369637320726f6f74206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e1844696765737401002c4469676573744f663c543e040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301008c5665633c4576656e745265636f72643c543a3a4576656e742c20543a3a486173683e3e040004a0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e284576656e74436f756e740100284576656e74496e646578100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f706963730101021c543a3a48617368845665633c28543a3a426c6f636b4e756d6265722c204576656e74496e646578293e000400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000584c61737452756e74696d6555706772616465496e666f04000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e74010010626f6f6c0400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e38457865637574696f6e50686173650000145068617365040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e01282866696c6c5f626c6f636b04185f726174696f1c50657262696c6c040901204120646973706174636820746861742077696c6c2066696c6c2074686520626c6f636b2077656967687420757020746f2074686520676976656e20726174696f2e1872656d61726b041c5f72656d61726b1c5665633c75383e1c6c204d616b6520736f6d65206f6e2d636861696e2072656d61726b2e002c2023203c7765696768743e24202d20604f28312960e0202d2042617365205765696768743a20302e36363520c2b5732c20696e646570656e64656e74206f662072656d61726b206c656e6774682e50202d204e6f204442206f7065726174696f6e732e302023203c2f7765696768743e387365745f686561705f7061676573041470616765730c75363420fc2053657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e002c2023203c7765696768743e24202d20604f283129604c202d20312073746f726167652077726974652e64202d2042617365205765696768743a20312e34303520c2b57360202d203120777269746520746f20484541505f5041474553302023203c2f7765696768743e207365745f636f64650410636f64651c5665633c75383e28682053657420746865206e65772072756e74696d6520636f64652e002c2023203c7765696768743e3501202d20604f2843202b2053296020776865726520604360206c656e677468206f662060636f64656020616e642060536020636f6d706c6578697479206f66206063616e5f7365745f636f64656088202d20312073746f726167652077726974652028636f64656320604f28432960292e7901202d20312063616c6c20746f206063616e5f7365745f636f6465603a20604f28532960202863616c6c73206073705f696f3a3a6d6973633a3a72756e74696d655f76657273696f6e6020776869636820697320657870656e73697665292e2c202d2031206576656e742e7d012054686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652c206275742067656e6572616c6c792074686973206973207665727920657870656e736976652e902057652077696c6c207472656174207468697320617320612066756c6c20626c6f636b2e302023203c2f7765696768743e5c7365745f636f64655f776974686f75745f636865636b730410636f64651c5665633c75383e201d012053657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e002c2023203c7765696768743e90202d20604f2843296020776865726520604360206c656e677468206f662060636f64656088202d20312073746f726167652077726974652028636f64656320604f28432960292e2c202d2031206576656e742e75012054686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652e2057652077696c6c207472656174207468697320617320612066756c6c20626c6f636b2e302023203c2f7765696768743e5c7365745f6368616e6765735f747269655f636f6e666967044c6368616e6765735f747269655f636f6e666967804f7074696f6e3c4368616e67657354726965436f6e66696775726174696f6e3e28a02053657420746865206e6577206368616e676573207472696520636f6e66696775726174696f6e2e002c2023203c7765696768743e24202d20604f28312960b0202d20312073746f72616765207772697465206f722064656c6574652028636f64656320604f28312960292ed8202d20312063616c6c20746f20606465706f7369745f6c6f67603a20557365732060617070656e6460204150492c20736f204f28312964202d2042617365205765696768743a20372e32313820c2b57334202d204442205765696768743aa820202020202d205772697465733a204368616e67657320547269652c2053797374656d20446967657374302023203c2f7765696768743e2c7365745f73746f7261676504146974656d73345665633c4b657956616c75653e206c2053657420736f6d65206974656d73206f662073746f726167652e002c2023203c7765696768743e94202d20604f2849296020776865726520604960206c656e677468206f6620606974656d73607c202d206049602073746f72616765207772697465732028604f28312960292e74202d2042617365205765696768743a20302e353638202a206920c2b57368202d205772697465733a204e756d626572206f66206974656d73302023203c2f7765696768743e306b696c6c5f73746f7261676504106b657973205665633c4b65793e2078204b696c6c20736f6d65206974656d732066726f6d2073746f726167652e002c2023203c7765696768743efc202d20604f28494b296020776865726520604960206c656e677468206f6620606b6579736020616e6420604b60206c656e677468206f66206f6e65206b657964202d206049602073746f726167652064656c6574696f6e732e70202d2042617365205765696768743a202e333738202a206920c2b57368202d205772697465733a204e756d626572206f66206974656d73302023203c2f7765696768743e2c6b696c6c5f70726566697808187072656669780c4b6579205f7375626b6579730c7533322c1501204b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e003d01202a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e64657241012074686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e002c2023203c7765696768743edc202d20604f285029602077686572652060506020616d6f756e74206f66206b65797320776974682070726566697820607072656669786064202d206050602073746f726167652064656c6574696f6e732e74202d2042617365205765696768743a20302e383334202a205020c2b57380202d205772697465733a204e756d626572206f66207375626b657973202b2031302023203c2f7765696768743e1c7375696369646500286501204b696c6c207468652073656e64696e67206163636f756e742c20617373756d696e6720746865726520617265206e6f207265666572656e636573206f75747374616e64696e6720616e642074686520636f6d706f7369746590206461746120697320657175616c20746f206974732064656661756c742076616c75652e002c2023203c7765696768743e24202d20604f283129607c202d20312073746f72616765207265616420616e642064656c6574696f6e2e54202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d5c2042617365205765696768743a20382e36323620c2b5731101204e6f2044422052656164206f72205772697465206f7065726174696f6e7320626563617573652063616c6c657220697320616c726561647920696e206f7665726c6179302023203c2f7765696768743e01144045787472696e7369635375636365737304304469737061746368496e666f04b820416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e205c5b696e666f5c5d3c45787472696e7369634661696c6564083444697370617463684572726f72304469737061746368496e666f049420416e2065787472696e736963206661696c65642e205c5b6572726f722c20696e666f5c5d2c436f64655570646174656400045420603a636f6465602077617320757064617465642e284e65774163636f756e7404244163636f756e744964047c2041206e6577205c5b6163636f756e745c5d2077617320637265617465642e344b696c6c65644163636f756e7404244163636f756e744964046c20416e205c5b6163636f756e745c5d20776173207265617065642e1838426c6f636b48617368436f756e7438543a3a426c6f636b4e756d626572106009000004d820546865206d6178696d756d206e756d626572206f6620626c6f636b7320746f20616c6c6f7720696e206d6f7274616c20657261732e484d6178696d756d426c6f636b576569676874185765696768742000204aa9d1010000047c20546865206d6178696d756d20776569676874206f66206120626c6f636b2e2044625765696768743c52756e74696d6544625765696768744040787d010000000000e1f505000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e50426c6f636b457865637574696f6e576569676874185765696768742000f2052a0100000004510120546865206261736520776569676874206f6620657865637574696e67206120626c6f636b2c20696e646570656e64656e74206f6620746865207472616e73616374696f6e7320696e2074686520626c6f636b2e4c45787472696e736963426173655765696768741857656967687420405973070000000004790120546865206261736520776569676874206f6620616e2045787472696e73696320696e2074686520626c6f636b2c20696e646570656e64656e74206f6620746865206f662065787472696e736963206265696e672065786563757465642e484d6178696d756d426c6f636b4c656e6774680c753332100000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e143c496e76616c6964537065634e616d6508150120546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e637265617365084501205468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d655420616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e0cf0204661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e000d01204569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f7369746504010120537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e740439012054686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e00245363686564756c657201245363686564756c65720c184167656e646101010538543a3a426c6f636b4e756d6265726d015665633c4f7074696f6e3c5363686564756c65643c3c542061732054726169743e3a3a43616c6c2c20543a3a426c6f636b4e756d6265722c20543a3a0a50616c6c6574734f726967696e2c20543a3a4163636f756e7449643e3e3e000400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b75700001051c5665633c75383e6c5461736b416464726573733c543a3a426c6f636b4e756d6265723e000400040101204c6f6f6b75702066726f6d206964656e7469747920746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e3853746f7261676556657273696f6e01002052656c656173657304000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e0098204e6577206e6574776f726b732073746172742077697468206c6173742076657273696f6e2e0118207363686564756c6510107768656e38543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e287420416e6f6e796d6f75736c79207363686564756c652061207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c7390202d2042617365205765696768743a2032322e3239202b202e313236202a205320c2b57334202d204442205765696768743a4c20202020202d20526561643a204167656e64615020202020202d2057726974653a204167656e64613d01202d2057696c6c20757365206261736520776569676874206f662032352077686963682073686f756c6420626520676f6f6420666f7220757020746f203330207363686564756c65642063616c6c73302023203c2f7765696768743e1863616e63656c08107768656e38543a3a426c6f636b4e756d62657214696e6465780c75333228982043616e63656c20616e20616e6f6e796d6f75736c79207363686564756c6564207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c7394202d2042617365205765696768743a2032322e3135202b20322e383639202a205320c2b57334202d204442205765696768743a4c20202020202d20526561643a204167656e64617020202020202d2057726974653a204167656e64612c204c6f6f6b75704101202d2057696c6c20757365206261736520776569676874206f66203130302077686963682073686f756c6420626520676f6f6420666f7220757020746f203330207363686564756c65642063616c6c73302023203c2f7765696768743e387363686564756c655f6e616d6564140869641c5665633c75383e107768656e38543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e285c205363686564756c652061206e616d6564207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c738c202d2042617365205765696768743a2032392e36202b202e313539202a205320c2b57334202d204442205765696768743a6c20202020202d20526561643a204167656e64612c204c6f6f6b75707020202020202d2057726974653a204167656e64612c204c6f6f6b75704d01202d2057696c6c20757365206261736520776569676874206f662033352077686963682073686f756c6420626520676f6f6420666f72206d6f7265207468616e203330207363686564756c65642063616c6c73302023203c2f7765696768743e3063616e63656c5f6e616d6564040869641c5665633c75383e287c2043616e63656c2061206e616d6564207363686564756c6564207461736b2e002c2023203c7765696768743ea0202d2053203d204e756d626572206f6620616c7265616479207363686564756c65642063616c6c7394202d2042617365205765696768743a2032342e3931202b20322e393037202a205320c2b57334202d204442205765696768743a6c20202020202d20526561643a204167656e64612c204c6f6f6b75707020202020202d2057726974653a204167656e64612c204c6f6f6b75704101202d2057696c6c20757365206261736520776569676874206f66203130302077686963682073686f756c6420626520676f6f6420666f7220757020746f203330207363686564756c65642063616c6c73302023203c2f7765696768743e387363686564756c655f61667465721014616674657238543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e14ac20416e6f6e796d6f75736c79207363686564756c652061207461736b20616674657220612064656c61792e002c2023203c7765696768743e582053616d65206173205b607363686564756c65605d2e302023203c2f7765696768743e507363686564756c655f6e616d65645f6166746572140869641c5665633c75383e14616674657238543a3a426c6f636b4e756d626572386d617962655f706572696f646963a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e207072696f72697479487363686564756c653a3a5072696f726974791063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e1494205363686564756c652061206e616d6564207461736b20616674657220612064656c61792e002c2023203c7765696768743e702053616d65206173205b607363686564756c655f6e616d6564605d2e302023203c2f7765696768743e010c245363686564756c6564082c426c6f636b4e756d6265720c7533320494205363686564756c656420736f6d65207461736b2e205c5b7768656e2c20696e6465785c5d2043616e63656c6564082c426c6f636b4e756d6265720c75333204902043616e63656c656420736f6d65207461736b2e205c5b7768656e2c20696e6465785c5d28446973706174636865640c605461736b416464726573733c426c6f636b4e756d6265723e3c4f7074696f6e3c5665633c75383e3e384469737061746368526573756c7404ac204469737061746368656420736f6d65207461736b2e205c5b7461736b2c2069642c20726573756c745c5d000c404661696c6564546f5363686564756c650468204661696c656420746f207363686564756c6520612063616c6c384661696c6564546f43616e63656c0488204661696c656420746f2063616e63656c2061207363686564756c65642063616c6c5c546172676574426c6f636b4e756d626572496e5061737404a820476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e0110426162650110426162652c2845706f6368496e64657801000c75363420000000000000000004542043757272656e742065706f636820696e6465782e2c417574686f72697469657301009c5665633c28417574686f7269747949642c2042616265417574686f72697479576569676874293e0400046c2043757272656e742065706f636820617574686f7269746965732e2c47656e65736973536c6f7401000c75363420000000000000000008f82054686520736c6f74206174207768696368207468652066697273742065706f63682061637475616c6c7920737461727465642e205468697320697320309020756e74696c2074686520666972737420626c6f636b206f662074686520636861696e2e2c43757272656e74536c6f7401000c75363420000000000000000004542043757272656e7420736c6f74206e756d6265722e2852616e646f6d6e6573730100587363686e6f72726b656c3a3a52616e646f6d6e65737380000000000000000000000000000000000000000000000000000000000000000028b8205468652065706f63682072616e646f6d6e65737320666f7220746865202a63757272656e742a2065706f63682e002c20232053656375726974790005012054686973204d555354204e4f54206265207573656420666f722067616d626c696e672c2061732069742063616e20626520696e666c75656e6365642062792061f8206d616c6963696f75732076616c696461746f7220696e207468652073686f7274207465726d2e204974204d4159206265207573656420696e206d616e7915012063727970746f677261706869632070726f746f636f6c732c20686f77657665722c20736f206c6f6e67206173206f6e652072656d656d6265727320746861742074686973150120286c696b652065766572797468696e6720656c7365206f6e2d636861696e29206974206973207075626c69632e20466f72206578616d706c652c2069742063616e206265050120757365642077686572652061206e756d626572206973206e656564656420746861742063616e6e6f742068617665206265656e2063686f73656e20627920616e0d01206164766572736172792c20666f7220707572706f7365732073756368206173207075626c69632d636f696e207a65726f2d6b6e6f776c656467652070726f6f66732e3c4e65787445706f6368436f6e6669670000504e657874436f6e66696744657363726970746f7204000498204e6578742065706f636820636f6e66696775726174696f6e2c206966206368616e6765642e384e65787452616e646f6d6e6573730100587363686e6f72726b656c3a3a52616e646f6d6e657373800000000000000000000000000000000000000000000000000000000000000000045c204e6578742065706f63682072616e646f6d6e6573732e305365676d656e74496e64657801000c7533321000000000247c2052616e646f6d6e65737320756e64657220636f6e737472756374696f6e2e00f4205765206d616b6520612074726164656f6666206265747765656e2073746f7261676520616363657373657320616e64206c697374206c656e6774682e01012057652073746f72652074686520756e6465722d636f6e737472756374696f6e2072616e646f6d6e65737320696e207365676d656e7473206f6620757020746f942060554e4445525f434f4e535452554354494f4e5f5345474d454e545f4c454e475448602e00ec204f6e63652061207365676d656e7420726561636865732074686973206c656e6774682c20776520626567696e20746865206e657874206f6e652e090120576520726573657420616c6c207365676d656e747320616e642072657475726e20746f206030602061742074686520626567696e6e696e67206f662065766572791c2065706f63682e44556e646572436f6e737472756374696f6e0101050c7533326c5665633c7363686e6f72726b656c3a3a52616e646f6d6e6573733e0004000415012054574f582d4e4f54453a20605365676d656e74496e6465786020697320616e20696e6372656173696e6720696e74656765722c20736f2074686973206973206f6b61792e2c496e697469616c697a656400003c4d6179626552616e646f6d6e65737304000801012054656d706f726172792076616c75652028636c656172656420617420626c6f636b2066696e616c697a6174696f6e292077686963682069732060536f6d65601d01206966207065722d626c6f636b20696e697469616c697a6174696f6e2068617320616c7265616479206265656e2063616c6c656420666f722063757272656e7420626c6f636b2e204c6174656e657373010038543a3a426c6f636b4e756d626572100000000014d820486f77206c617465207468652063757272656e7420626c6f636b20697320636f6d706172656420746f2069747320706172656e742e001501205468697320656e74727920697320706f70756c617465642061732070617274206f6620626c6f636b20657865637574696f6e20616e6420697320636c65616e65642075701101206f6e20626c6f636b2066696e616c697a6174696f6e2e205175657279696e6720746869732073746f7261676520656e747279206f757473696465206f6620626c6f636bb020657865637574696f6e20636f6e746578742073686f756c6420616c77617973207969656c64207a65726f2e01084c7265706f72745f65717569766f636174696f6e084865717569766f636174696f6e5f70726f6f667045717569766f636174696f6e50726f6f663c543a3a4865616465723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66100d01205265706f727420617574686f726974792065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c207665726966790901207468652065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66110120616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63652077696c6c34206265207265706f727465642e707265706f72745f65717569766f636174696f6e5f756e7369676e6564084865717569766f636174696f6e5f70726f6f667045717569766f636174696f6e50726f6f663c543a3a4865616465723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66200d01205265706f727420617574686f726974792065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c207665726966790901207468652065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66110120616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63652077696c6c34206265207265706f727465642e110120546869732065787472696e736963206d7573742062652063616c6c656420756e7369676e656420616e642069742069732065787065637465642074686174206f6e6c79190120626c6f636b20617574686f72732077696c6c2063616c6c206974202876616c69646174656420696e206056616c6964617465556e7369676e656460292c206173207375636819012069662074686520626c6f636b20617574686f7220697320646566696e65642069742077696c6c20626520646566696e6564206173207468652065717569766f636174696f6e28207265706f727465722e00083445706f63684475726174696f6e0c753634207800000000000000080d0120546865206e756d626572206f66202a2a736c6f74732a2a207468617420616e2065706f63682074616b65732e20576520636f75706c652073657373696f6e7320746ffc2065706f6368732c20692e652e2077652073746172742061206e65772073657373696f6e206f6e636520746865206e65772065706f636820626567696e732e444578706563746564426c6f636b54696d6524543a3a4d6f6d656e7420881300000000000014050120546865206578706563746564206176657261676520626c6f636b2074696d6520617420776869636820424142452073686f756c64206265206372656174696e67110120626c6f636b732e2053696e636520424142452069732070726f626162696c6973746963206974206973206e6f74207472697669616c20746f20666967757265206f75740501207768617420746865206578706563746564206176657261676520626c6f636b2074696d652073686f756c64206265206261736564206f6e2074686520736c6f740901206475726174696f6e20616e642074686520736563757269747920706172616d657465722060636020287768657265206031202d20636020726570726573656e7473a0207468652070726f626162696c697479206f66206120736c6f74206265696e6720656d707479292e00022454696d657374616d70012454696d657374616d70080c4e6f77010024543a3a4d6f6d656e7420000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e24446964557064617465010010626f6f6c040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f01040c736574040c6e6f7748436f6d706163743c543a3a4d6f6d656e743e3c5820536574207468652063757272656e742074696d652e00590120546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed82070686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e004501205468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e74207370656369666965642062794420604d696e696d756d506572696f64602e00d820546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e002c2023203c7765696768743ed0202d20604f285429602077686572652060546020636f6d706c6578697479206f6620606f6e5f74696d657374616d705f73657460a101202d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f28312960292e202862656361757365206f6620604469645570646174653a3a74616b656020696e20606f6e5f66696e616c697a656029b4202d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f7365746020604f285429602e302023203c2f7765696768743e0004344d696e696d756d506572696f6424543a3a4d6f6d656e7420c40900000000000010690120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f64690120746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c79650120776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c20626520646f75626c6520746869737020706572696f64206f6e2064656661756c742073657474696e67732e00033047656e657269634173736574013047656e6572696341737365742434546f74616c49737375616e636501010528543a3a4173736574496428543a3a42616c616e63650040000000000000000000000000000000000c8420546f74616c2069737375616e6365206f66206120676976656e2061737365742e00842054574f582d4e4f54453a2060417373657449646020697320747275737465642e2c4672656542616c616e636501020528543a3a4173736574496430543a3a4163636f756e74496428543a3a42616c616e63650240000000000000000000000000000000000cd02054686520667265652062616c616e6365206f66206120676976656e20617373657420756e64657220616e206163636f756e742e00842054574f582d4e4f54453a2060417373657449646020697320747275737465642e3c526573657276656442616c616e636501020528543a3a4173736574496430543a3a4163636f756e74496428543a3a42616c616e63650240000000000000000000000000000000000ce0205468652072657365727665642062616c616e6365206f66206120676976656e20617373657420756e64657220616e206163636f756e742e00842054574f582d4e4f54453a2060417373657449646020697320747275737465642e2c4e65787441737365744964010028543a3a41737365744964100000000004a8204e65787420617661696c61626c6520494420666f7220757365722d637265617465642061737365742e2c5065726d697373696f6e7301010528543a3a41737365744964805065726d697373696f6e56657273696f6e733c543a3a4163636f756e7449643e0010000000000c98205065726d697373696f6e206f7074696f6e7320666f72206120676976656e2061737365742e00842054574f582d4e4f54453a2060417373657449646020697320747275737465642e144c6f636b7301010230543a3a4163636f756e744964705665633c42616c616e63654c6f636b3c543a3a42616c616e63653e3e00040004b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e385374616b696e6741737365744964010028543a3a41737365744964100000000004790120546865206964656e74697479206f662074686520617373657420776869636820697320746865206f6e6520746861742069732064657369676e6174656420666f722074686520636861696e2773207374616b696e672073797374656d2e3c5370656e64696e6741737365744964010028543a3a41737365744964100000000004990120546865206964656e74697479206f662074686520617373657420776869636820697320746865206f6e6520746861742069732064657369676e6174656420666f7220706179696e672074686520636861696e2773207472616e73616374696f6e206665652e2441737365744d65746101010528543a3a41737365744964244173736574496e666f0008000404502054686520696e666f20666f7220617373657473011c186372656174650c146f776e657230543a3a4163636f756e7449641c6f7074696f6e739841737365744f7074696f6e733c543a3a42616c616e63652c20543a3a4163636f756e7449643e10696e666f244173736574496e666f200901204372656174652061206e6577206b696e64206f6620617373657420616e64206e6f6d696e6174657320746865206f776e6572206f6620746869732061737365742ec8205468652061737365745f69642077696c6c20626520746865206e65787420756e6f636375706965642061737365745f69648901204163636f756e74732077686f2077696c6c206861766520746865207065726d697373696f6e7320746f206d696e742f6275726e2f6368616e6765207065726d697373696f6e206172652070617373656420696e2076696120276f7074696f6e732788206f726967696e206f6620746869732063616c6c206d75737420626520726f6f742e002420576569676874733aa0204f283129204c696d69746564206e756d626572206f66207265616420616e64207772697465732e702053686f756c64206e6f742062652063616c6c6564206f6674656e2e207472616e736665720c2061737365745f69644c436f6d706163743c543a3a417373657449643e08746f30543a3a4163636f756e74496418616d6f756e744c436f6d706163743c543a3a42616c616e63653e3cd8205472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e00090120607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e21012049742077696c6c2064656372656173652074686520746f74616c2069737375616e6365206f66207468652073797374656d2062792074686520605472616e73666572466565602e1501204966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b4206f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e00190120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e002c2023203c7765696768743e3101202d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f72cc202020696e70757420636f6e6669672074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e6901202d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c657820636f6d7075746174696f6e2e00302023203c2f7765696768743e447570646174655f7065726d697373696f6e082061737365745f69644c436f6d706163743c543a3a417373657449643e386e65775f7065726d697373696f6e785065726d697373696f6e4c61746573743c543a3a4163636f756e7449643e1c61012055706461746573207065726d697373696f6e73286d696e742f6275726e2f6368616e6765207065726d697373696f6e2920666f72206120676976656e206061737365745f69646020616e6420616e206163636f756e742e00b02054686520606f726967696e60206d7573742068617665206075706461746560207065726d697373696f6e2e002420776569676874733a9c204f283129206c696d69746564206e756d626572206f66207265616420616e64207772697465739420457870656374656420746f206e6f742062652063616c6c6564206672657175656e746c79447570646174655f61737365745f696e666f082061737365745f69644c436f6d706163743c543a3a417373657449643e10696e666f244173736574496e666f1cac205570646174657320617373657420696e666f20666f72206120676976656e206061737365745f6964602e00b02054686520606f726967696e60206d7573742068617665206075706461746560207065726d697373696f6e2e002420776569676874733a9c204f283129206c696d69746564206e756d626572206f66207265616420616e64207772697465739420457870656374656420746f206e6f742062652063616c6c6564206672657175656e746c79106d696e740c2061737365745f69644c436f6d706163743c543a3a417373657449643e08746f30543a3a4163636f756e74496418616d6f756e7428543a3a42616c616e6365149501204d696e747320616e2061737365742c20696e637265617365732069747320746f74616c2069737375616e63652e204465706f7369747320746865206e65776c79206d696e7465642063757272656e637920696e746f20746172676574206163636f756e74a420546865206f726967696e206d757374206861766520606d696e7460207065726d697373696f6e732e002420576569676874733a8c204f283129206c696d69746564206e756d626572206f6620726561642f777269746573106275726e0c2061737365745f69644c436f6d706163743c543a3a417373657449643e1874617267657430543a3a4163636f756e74496418616d6f756e7428543a3a42616c616e6365144d01204275726e7320616e2061737365742c206465637265617365732069747320746f74616c2069737375616e63652e2044656475637420746865206d6f6e65792066726f6d20746172676574206163636f756e74ac2054686520606f726967696e60206d757374206861766520606275726e60207065726d697373696f6e732e002420576569676874733a94204f283129204c696d69746564206e756d626572206f662072656164732f7772697465732e3c6372656174655f72657365727665640c2061737365745f696428543a3a417373657449641c6f7074696f6e739841737365744f7074696f6e733c543a3a42616c616e63652c20543a3a4163636f756e7449643e10696e666f244173736574496e666f18ac204372656174652061206e657720617373657420776974682072657365727665642061737365745f69642ebc20496e7465726e616c6c792063616c6c73206372656174655f6173736574207769746820616e2061737365745f69645020526571756972657320526f6f742063616c6c2e002420576569676874733a64204f283129204c696d6974656420726561642f77726974657301181c437265617465640c1c41737365744964244163636f756e7449643041737365744f7074696f6e7304c82041737365742063726561746564202861737365745f69642c2063726561746f722c2061737365745f6f7074696f6e73292e2c5472616e73666572726564101c41737365744964244163636f756e744964244163636f756e7449641c42616c616e636504dc204173736574207472616e7366657220737563636565646564202861737365745f69642c2066726f6d2c20746f2c20616d6f756e74292e445065726d697373696f6e55706461746564081c417373657449646c5065726d697373696f6e4c61746573743c4163636f756e7449643e04d8204173736574207065726d697373696f6e2075706461746564202861737365745f69642c206e65775f7065726d697373696f6e73292e404173736574496e666f55706461746564081c41737365744964244173736574496e666f04ac20417373657420696e666f2075706461746564202861737365745f69642c2061737365745f696e666f292e184d696e7465640c1c41737365744964244163636f756e7449641c42616c616e636504b8204e6577206173736574206d696e746564202861737365745f69642c206163636f756e742c20616d6f756e74292e184275726e65640c1c41737365744964244163636f756e7449641c42616c616e636504a8204173736574206275726e6564202861737365745f69642c206163636f756e742c20616d6f756e74292e003840417373657449644578686175737465640470204e6f206e65772061737365747320696420617661696c61626c652e285a65726f416d6f756e7404742043616e6e6f74207472616e73666572207a65726f20616d6f756e742e484e6f5570646174655065726d697373696f6e04090120546865206f726967696e20646f6573206e6f74206861766520656e6f756768207065726d697373696f6e20746f20757064617465207065726d697373696f6e732e404e6f4d696e745065726d697373696f6e04d820546865206f726967696e20646f6573206e6f742068617665207065726d697373696f6e20746f206d696e7420616e2061737365742e404e6f4275726e5065726d697373696f6e04d820546865206f726967696e20646f6573206e6f742068617665207065726d697373696f6e20746f206275726e20616e2061737365742e50546f74616c4d696e74696e674f766572666c6f7704b420546f74616c2069737375616e636520676f74206f766572666c6f776564206166746572206d696e74696e672e4c467265654d696e74696e674f766572666c6f7704ac20467265652062616c616e636520676f74206f766572666c6f776564206166746572206d696e74696e672e54546f74616c4275726e696e67556e646572666c6f7704b820546f74616c2069737375616e636520676f7420756e646572666c6f776564206166746572206275726e696e672e50467265654275726e696e67556e646572666c6f7704b020467265652062616c616e636520676f7420756e646572666c6f776564206166746572206275726e696e672e3441737365744964457869737473046c20417373657420696420697320616c72656164792074616b656e2e3c417373657449644e6f74457869737404b8204661696c7572652064756520746f206173736574206964206e6f74206578697374696e67206f6e20636861696e4c496e73756666696369656e7442616c616e6365049c205468652062616c616e636520697320746f6f206c6f7720746f2073656e6420616d6f756e742e405472616e736665724f766572666c6f7704c020546865207472616e736665722077696c6c20636175736520746865206163636f756e7420746f206f766572666c6f77544c69717569646974795265737472696374696f6e7304dc20546865206163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c2e0428417574686f72736869700128417574686f72736869700c18556e636c65730100e85665633c556e636c65456e7472794974656d3c543a3a426c6f636b4e756d6265722c20543a3a486173682c20543a3a4163636f756e7449643e3e0400041c20556e636c657318417574686f72000030543a3a4163636f756e7449640400046420417574686f72206f662063757272656e7420626c6f636b2e30446964536574556e636c6573010010626f6f6c040004bc205768657468657220756e636c6573207765726520616c72656164792073657420696e207468697320626c6f636b2e0104287365745f756e636c657304286e65775f756e636c6573385665633c543a3a4865616465723e04642050726f76696465206120736574206f6620756e636c65732e00001c48496e76616c6964556e636c65506172656e74048c2054686520756e636c6520706172656e74206e6f7420696e2074686520636861696e2e40556e636c6573416c7265616479536574048420556e636c657320616c72656164792073657420696e2074686520626c6f636b2e34546f6f4d616e79556e636c6573044420546f6f206d616e7920756e636c65732e3047656e65736973556e636c6504582054686520756e636c652069732067656e657369732e30546f6f48696768556e636c6504802054686520756e636c6520697320746f6f206869676820696e20636861696e2e50556e636c65416c7265616479496e636c75646564047c2054686520756e636c6520697320616c726561647920696e636c756465642e204f6c64556e636c6504b82054686520756e636c652069736e277420726563656e7420656e6f75676820746f20626520696e636c756465642e051c5374616b696e67011c5374616b696e67782c4d696e696d756d426f6e6401003042616c616e63654f663c543e40000000000000000000000000000000000460204d696e696d756d20616d6f756e7420746f20626f6e642e3856616c696461746f72436f756e7401000c753332100000000004a82054686520696465616c206e756d626572206f66207374616b696e67207061727469636970616e74732e544d696e696d756d56616c696461746f72436f756e7401000c7533321004000000044101204d696e696d756d206e756d626572206f66207374616b696e67207061727469636970616e7473206265666f726520656d657267656e637920636f6e646974696f6e732061726520696d706f7365642e34496e76756c6e657261626c65730100445665633c543a3a4163636f756e7449643e04000c590120416e792076616c696461746f72732074686174206d6179206e6576657220626520736c6173686564206f7220666f726369626c79206b69636b65642e20497427732061205665632073696e636520746865792772654d01206561737920746f20696e697469616c697a6520616e642074686520706572666f726d616e636520686974206973206d696e696d616c2028776520657870656374206e6f206d6f7265207468616e20666f7572ac20696e76756c6e657261626c65732920616e64207265737472696374656420746f20746573746e6574732e18426f6e64656400010530543a3a4163636f756e74496430543a3a4163636f756e744964000400040101204d61702066726f6d20616c6c206c6f636b65642022737461736822206163636f756e747320746f2074686520636f6e74726f6c6c6572206163636f756e742e184c656467657200010530543a3a4163636f756e744964a45374616b696e674c65646765723c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000400044501204d61702066726f6d20616c6c2028756e6c6f636b6564292022636f6e74726f6c6c657222206163636f756e747320746f2074686520696e666f20726567617264696e6720746865207374616b696e672e14506179656501010530543a3a4163636f756e7449647c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e00040004e42057686572652074686520726577617264207061796d656e742073686f756c64206265206d6164652e204b657965642062792073746173682e2856616c696461746f727301010530543a3a4163636f756e7449643856616c696461746f72507265667300040004450120546865206d61702066726f6d202877616e6e616265292076616c696461746f72207374617368206b657920746f2074686520707265666572656e636573206f6620746861742076616c696461746f722e284e6f6d696e61746f727300010530543a3a4163636f756e744964644e6f6d696e6174696f6e733c543a3a4163636f756e7449643e00040010650120546865206d61702066726f6d206e6f6d696e61746f72207374617368206b657920746f2074686520736574206f66207374617368206b657973206f6620616c6c2076616c696461746f727320746f206e6f6d696e6174652e003501204e4f54453a206973207072697661746520736f20746861742077652063616e20656e73757265207570677261646564206265666f726520616c6c207479706963616c2061636365737365732ed8204469726563742073746f7261676520415049732063616e207374696c6c2062797061737320746869732070726f74656374696f6e2e1c5374616b65727301010530543a3a4163636f756e744964904578706f737572653c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e000c000000104d01204e6f6d696e61746f727320666f72206120706172746963756c6172206163636f756e74207468617420697320696e20616374696f6e207269676874206e6f772e20596f752063616e277420697465726174651901207468726f7567682076616c696461746f727320686572652c2062757420796f752063616e2066696e64207468656d20696e207468652053657373696f6e206d6f64756c652e00902054686973206973206b6579656420627920746865207374617368206163636f756e742e3843757272656e74456c65637465640100445665633c543a3a4163636f756e7449643e040004fc205468652063757272656e746c7920656c65637465642076616c696461746f7220736574206b65796564206279207374617368206163636f756e742049442e2843757272656e74457261010020457261496e6465781000000000045c205468652063757272656e742065726120696e6465782e3c43757272656e74457261537461727401002c4d6f6d656e744f663c543e200000000000000000047820546865207374617274206f66207468652063757272656e74206572612e4843757272656e744572614475726174696f6e01002c4d6f6d656e744f663c543e200000000000000000006c43757272656e74457261537461727453657373696f6e496e64657801003053657373696f6e496e646578100000000004d0205468652073657373696f6e20696e646578206174207768696368207468652063757272656e742065726120737461727465642e5843757272656e74457261506f696e74734561726e6564010024457261506f696e7473140000000000040d01205265776172647320666f72207468652063757272656e74206572612e205573696e6720696e6469636573206f662063757272656e7420656c6563746564207365742e5043757272656e744572614665655265776172647301004852657761726442616c616e63654f663c543e400000000000000000000000000000000004e420546f74616c207472616e73616374696f6e207061796d656e74207265776172647320666f7220656c65637465642076616c696461746f727324536c6f745374616b6501003042616c616e63654f663c543e40000000000000000000000000000000000c31012054686520616d6f756e74206f662062616c616e6365206163746976656c79206174207374616b6520666f7220656163682076616c696461746f7220736c6f742c2063757272656e746c792e00c02054686973206973207573656420746f20646572697665207265776172647320616e642070756e6973686d656e74732e20466f72636545726101001c466f7263696e670400041d01205472756520696620746865206e6578742073657373696f6e206368616e67652077696c6c2062652061206e657720657261207265676172646c657373206f6620696e6465782e4c536c6173685265776172644672616374696f6e01001c50657262696c6c10000000000cf8205468652070657263656e74616765206f662074686520736c617368207468617420697320646973747269627574656420746f207265706f72746572732e00e4205468652072657374206f662074686520736c61736865642076616c75652069732068616e646c6564206279207468652060536c617368602e4c43616e63656c6564536c6173685061796f757401003042616c616e63654f663c543e40000000000000000000000000000000000815012054686520616d6f756e74206f662063757272656e637920676976656e20746f207265706f7274657273206f66206120736c617368206576656e7420776869636820776173ec2063616e63656c65642062792065787472616f7264696e6172792063697263756d7374616e6365732028652e672e20676f7665726e616e6365292e40556e6170706c696564536c617368657301010520457261496e646578bc5665633c556e6170706c696564536c6173683c543a3a4163636f756e7449642c2042616c616e63654f663c543e3e3e00040004c420416c6c20756e6170706c69656420736c61736865732074686174206172652071756575656420666f72206c617465722e28426f6e646564457261730100745665633c28457261496e6465782c2053657373696f6e496e646578293e04000425012041206d617070696e672066726f6d207374696c6c2d626f6e646564206572617320746f207468652066697273742073657373696f6e20696e646578206f662074686174206572612e4c56616c696461746f72536c617368496e45726100020520457261496e64657830543a3a4163636f756e7449645c2850657262696c6c2c2042616c616e63654f663c543e2905040008450120416c6c20736c617368696e67206576656e7473206f6e2076616c696461746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682070726f706f7274696f6e7020616e6420736c6173682076616c7565206f6620746865206572612e4c4e6f6d696e61746f72536c617368496e45726100020520457261496e64657830543a3a4163636f756e7449643042616c616e63654f663c543e05040004610120416c6c20736c617368696e67206576656e7473206f6e206e6f6d696e61746f72732c206d61707065642062792065726120746f20746865206869676865737420736c6173682076616c7565206f6620746865206572612e34536c617368696e675370616e7300010530543a3a4163636f756e7449645c736c617368696e673a3a536c617368696e675370616e73000400048c20536c617368696e67207370616e7320666f72207374617368206163636f756e74732e245370616e536c6173680101058c28543a3a4163636f756e7449642c20736c617368696e673a3a5370616e496e6465782988736c617368696e673a3a5370616e5265636f72643c42616c616e63654f663c543e3e00800000000000000000000000000000000000000000000000000000000000000000083d01205265636f72647320696e666f726d6174696f6e2061626f757420746865206d6178696d756d20736c617368206f6620612073746173682077697468696e206120736c617368696e67207370616e2cb82061732077656c6c20617320686f77206d7563682072657761726420686173206265656e2070616964206f75742e584561726c69657374556e6170706c696564536c617368000020457261496e646578040004fc20546865206561726c696573742065726120666f72207768696368207765206861766520612070656e64696e672c20756e6170706c69656420736c6173682e30426c6f636b426f6e64696e67010010626f6f6c040004c0205573656420746f20746f67676c652074686520626f6e64696e672066756e6374696f6e616c697479206f66662f6f6e3853746f7261676556657273696f6e01000c75333210000000000490205468652076657273696f6e206f662073746f7261676520666f7220757067726164652e014c10626f6e640c28636f6e74726f6c6c657230543a3a4163636f756e7449641476616c756554436f6d706163743c42616c616e63654f663c543e3e1470617965657c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e3c65012054616b6520746865206f726967696e206163636f756e74206173206120737461736820616e64206c6f636b207570206076616c756560206f66206974732062616c616e63652e2060636f6e74726f6c6c6572602077696c6c8420626520746865206163636f756e74207468617420636f6e74726f6c732069742e002901206076616c756560206d757374206265206d6f7265207468616e2074686520606d696e696d756d5f626f6e64602073706563696669656420696e2067656e6573697320636f6e6669672e00250120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20627920746865207374617368206163636f756e742e002c2023203c7765696768743ed4202d20496e646570656e64656e74206f662074686520617267756d656e74732e204d6f64657261746520636f6d706c65786974792e20202d204f2831292e68202d20546872656520657874726120444220656e74726965732e006d01204e4f54453a2054776f206f66207468652073746f726167652077726974657320286053656c663a3a626f6e646564602c206053656c663a3a7061796565602920617265205f6e657665725f20636c65616e656420756e6c65737351012074686520606f726967696e602066616c6c732062656c6f77206d696e696d756d20626f6e6420616e642069732072656d6f766564206c617a6c697920696e206077697468647261775f756e626f6e646564602e302023203c2f7765696768743e28626f6e645f657874726104386d61785f6164646974696f6e616c54436f6d706163743c42616c616e63654f663c543e3e3865012041646420736f6d6520657874726120616d6f756e742074686174206861766520617070656172656420696e207468652073746173682060667265655f62616c616e63656020696e746f207468652062616c616e63652075703420666f72207374616b696e672e00510120557365207468697320696620746865726520617265206164646974696f6e616c2066756e647320696e20796f7572207374617368206163636f756e74207468617420796f75207769736820746f20626f6e642e650120556e6c696b65205b60626f6e64605d206f72205b60756e626f6e64605d20746869732066756e6374696f6e20646f6573206e6f7420696d706f736520616e79206c696d69746174696f6e206f6e2074686520616d6f756e744c20746861742063616e2062652061646465642e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e20202d204f2831292e40202d204f6e6520444220656e7472792e302023203c2f7765696768743e18756e626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e5c5501205363686564756c65206120706f7274696f6e206f662074686520737461736820746f20626520756e6c6f636b656420726561647920666f72207472616e73666572206f75742061667465722074686520626f6e64010120706572696f6420656e64732e2049662074686973206c656176657320616e20616d6f756e74206163746976656c7920626f6e646564206c657373207468616e250120543a3a43757272656e63793a3a6d696e696d756d5f62616c616e636528292c207468656e20697420697320696e6372656173656420746f207468652066756c6c20616d6f756e742e004901204f6e63652074686520756e6c6f636b20706572696f6420697320646f6e652c20796f752063616e2063616c6c206077697468647261775f756e626f6e6465646020746f2061637475616c6c79206d6f7665c0207468652066756e6473206f7574206f66206d616e6167656d656e7420726561647920666f72207472616e736665722e003d01204e6f206d6f7265207468616e2061206c696d69746564206e756d626572206f6620756e6c6f636b696e67206368756e6b73202873656520604d41585f554e4c4f434b494e475f4348554e4b5360293d012063616e20636f2d657869737473206174207468652073616d652074696d652e20496e207468617420636173652c205b6043616c6c3a3a77697468647261775f756e626f6e646564605d206e656564fc20746f2062652063616c6c656420666972737420746f2072656d6f766520736f6d65206f6620746865206368756e6b732028696620706f737369626c65292e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e00982053656520616c736f205b6043616c6c3a3a77697468647261775f756e626f6e646564605d2e002c2023203c7765696768743e4101202d20496e646570656e64656e74206f662074686520617267756d656e74732e204c696d697465642062757420706f74656e7469616c6c79206578706c6f697461626c6520636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732e6501202d20456163682063616c6c20287265717569726573207468652072656d61696e646572206f662074686520626f6e6465642062616c616e636520746f2062652061626f766520606d696e696d756d5f62616c616e63656029710120202077696c6c2063617573652061206e657720656e74727920746f20626520696e73657274656420696e746f206120766563746f722028604c65646765722e756e6c6f636b696e676029206b65707420696e2073746f726167652ea501202020546865206f6e6c792077617920746f20636c65616e207468652061666f72656d656e74696f6e65642073746f72616765206974656d20697320616c736f20757365722d636f6e74726f6c6c656420766961206077697468647261775f756e626f6e646564602e40202d204f6e6520444220656e7472792e28203c2f7765696768743e187265626f6e64041476616c756554436f6d706163743c42616c616e63654f663c543e3e18e0205265626f6e64206120706f7274696f6e206f6620746865207374617368207363686564756c656420746f20626520756e6c6f636b65642e002c2023203c7765696768743ef0202d2054696d6520636f6d706c65786974793a204f2831292e20426f756e64656420627920604d41585f554e4c4f434b494e475f4348554e4b53602ef4202d2053746f72616765206368616e6765733a2043616e277420696e6372656173652073746f726167652c206f6e6c792064656372656173652069742e302023203c2f7765696768743e28726561705f73746173680414737461736830543a3a4163636f756e7449643c39012052656d6f766520616c6c20646174612073747275637475726520636f6e6365726e696e672061207374616b65722f7374617368206f6e6365206974732062616c616e6365206973207a65726f2e6101205468697320697320657373656e7469616c6c79206571756976616c656e7420746f206077697468647261775f756e626f6e64656460206578636570742069742063616e2062652063616c6c656420627920616e796f6e65c020616e6420746865207461726765742060737461736860206d7573742068617665206e6f2066756e6473206c6566742e009020546869732063616e2062652063616c6c65642066726f6d20616e79206f726967696e2e000101202d20607374617368603a20546865207374617368206163636f756e7420746f20726561702e204974732062616c616e6365206d757374206265207a65726f2e002c2023203c7765696768743e250120436f6d706c65786974793a204f285329207768657265205320697320746865206e756d626572206f6620736c617368696e67207370616e73206f6e20746865206163636f756e742e2c204442205765696768743ad8202d2052656164733a205374617368204163636f756e742c20426f6e6465642c20536c617368696e67205370616e732c204c6f636b73a501202d205772697465733a20426f6e6465642c20536c617368696e67205370616e73202869662053203e2030292c204c65646765722c2050617965652c2056616c696461746f72732c204e6f6d696e61746f72732c205374617368204163636f756e742c204c6f636b7374202d2057726974657320456163683a205370616e536c617368202a2053302023203c2f7765696768743e4477697468647261775f756e626f6e64656400402d012052656d6f766520616e7920756e6c6f636b6564206368756e6b732066726f6d207468652060756e6c6f636b696e67602071756575652066726f6d206f7572206d616e6167656d656e742e003501205468697320657373656e7469616c6c7920667265657320757020746861742062616c616e636520746f206265207573656420627920746865207374617368206163636f756e7420746f20646f4c2077686174657665722069742077616e74732e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e006c2053656520616c736f205b6043616c6c3a3a756e626f6e64605d2e002c2023203c7765696768743e5501202d20436f756c6420626520646570656e64656e74206f6e2074686520606f726967696e6020617267756d656e7420616e6420686f77206d7563682060756e6c6f636b696e6760206368756e6b732065786973742e45012020497420696d706c6965732060636f6e736f6c69646174655f756e6c6f636b656460207768696368206c6f6f7073206f76657220604c65646765722e756e6c6f636b696e67602c207768696368206973f42020696e6469726563746c7920757365722d636f6e74726f6c6c65642e20536565205b60756e626f6e64605d20666f72206d6f72652064657461696c2e7901202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732c20796574207468652073697a65206f6620776869636820636f756c64206265206c61726765206261736564206f6e20606c6564676572602ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e2076616c6964617465041470726566733856616c696461746f7250726566732ce8204465636c617265207468652064657369726520746f2076616c696461746520666f7220746865206f726967696e20636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e206e6f6d696e617465041c74617267657473445665633c543a3a4163636f756e7449643e2c1101204465636c617265207468652064657369726520746f206e6f6d696e6174652060746172676574736020666f7220746865206f726967696e20636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743e2501202d20546865207472616e73616374696f6e277320636f6d706c65786974792069732070726f706f7274696f6e616c20746f207468652073697a65206f66206074617267657473602c982077686963682069732063617070656420617420604d41585f4e4f4d494e4154494f4e53602ed8202d20426f74682074686520726561647320616e642077726974657320666f6c6c6f7720612073696d696c6172207061747465726e2e302023203c2f7765696768743e146368696c6c002cc8204465636c617265206e6f2064657369726520746f206569746865722076616c6964617465206f72206e6f6d696e6174652e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e54202d20436f6e7461696e73206f6e6520726561642ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e247365745f7061796565041470617965657c52657761726444657374696e6174696f6e3c543a3a4163636f756e7449643e2cb8202852652d2973657420746865207061796d656e742074617267657420666f72206120636f6e74726f6c6c65722e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2062792074686520636f6e74726f6c6c65722c206e6f74207468652073746173682e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e387365745f636f6e74726f6c6c65720428636f6e74726f6c6c657230543a3a4163636f756e7449642c90202852652d297365742074686520636f6e74726f6c6c6572206f6620612073746173682e00dc20456666656374732077696c6c2062652066656c742061742074686520626567696e6e696e67206f6620746865206e657874206572612e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f206279207468652073746173682c206e6f742074686520636f6e74726f6c6c65722e002c2023203c7765696768743ee8202d20496e646570656e64656e74206f662074686520617267756d656e74732e20496e7369676e69666963616e7420636f6d706c65786974792e98202d20436f6e7461696e732061206c696d69746564206e756d626572206f662072656164732ec8202d2057726974657320617265206c696d6974656420746f2074686520606f726967696e60206163636f756e74206b65792e302023203c2f7765696768743e4c7365745f76616c696461746f725f636f756e74040c6e657730436f6d706163743c7533323e04802054686520696465616c206e756d626572206f662076616c696461746f72732e34666f7263655f6e6f5f657261730014b020466f72636520746865726520746f206265206e6f206e6577206572617320696e646566696e6974656c792e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e302023203c2f7765696768743e34666f7263655f6e65775f65726100184d0120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f6620746865206e6578742073657373696f6e2e20416674657220746869732c2069742077696c6c206265a020726573657420746f206e6f726d616c20286e6f6e2d666f7263656429206265686176696f75722e002c2023203c7765696768743e40202d204e6f20617267756d656e74732e302023203c2f7765696768743e407365745f6d696e696d756d5f626f6e64041476616c75653042616c616e63654f663c543e04742053657420746865206d696e696d756d20626f6e6420616d6f756e742e447365745f696e76756c6e657261626c6573042876616c696461746f7273445665633c543a3a4163636f756e7449643e04cc20536574207468652076616c696461746f72732077686f2063616e6e6f7420626520736c61736865642028696620616e79292e34666f7263655f756e7374616b650414737461736830543a3a4163636f756e744964040d0120466f72636520612063757272656e74207374616b657220746f206265636f6d6520636f6d706c6574656c7920756e7374616b65642c20696d6d6564696174656c792e50666f7263655f6e65775f6572615f616c776179730014050120466f72636520746865726520746f2062652061206e6577206572612061742074686520656e64206f662073657373696f6e7320696e646566696e6974656c792e002c2023203c7765696768743e50202d204f6e652073746f72616765207772697465302023203c2f7765696768743e5463616e63656c5f64656665727265645f736c617368080c65726120457261496e64657834736c6173685f696e6469636573205665633c7533323e180d012043616e63656c20656e6163746d656e74206f66206120646566657272656420736c6173682e2043616e2062652063616c6c656420627920726f6f74206f726967696e05012070617373696e67207468652065726120616e6420696e6469636573206f662074686520736c617368657320666f7220746861742065726120746f206b696c6c2e002c2023203c7765696768743e54202d204f6e652073746f726167652077726974652e302023203c2f7765696768743e011c18526577617264083452657761726442616c616e63653452657761726442616c616e636508510120416c6c2076616c696461746f72732068617665206265656e207265776172646564206279207468652066697273742062616c616e63653b20746865207365636f6e64206973207468652072656d61696e6465728c2066726f6d20746865206d6178696d756d20616d6f756e74206f66207265776172642e2852657761726446656573083452657761726442616c616e63650c753332040101205472616e73616374696f6e206665652072657761726473206172652073706c6974206576656e6c79206163726f737320616c6c2076616c696461746f72732e14536c61736808244163636f756e7449641c42616c616e6365042501204f6e652076616c696461746f722028616e6420697473206e6f6d696e61746f72732920686173206265656e20736c61736865642062792074686520676976656e20616d6f756e742e58496e76756c6e657261626c654e6f74536c617368656408244163636f756e7449641c50657262696c6c04ec205468652076616c696461746f7220697320696e76756c6e657261626c652c20736f20697420686173204e4f54206265656e20736c61736865642e684f6c64536c617368696e675265706f7274446973636172646564043053657373696f6e496e646578081d0120416e206f6c6420736c617368696e67207265706f72742066726f6d2061207072696f72206572612077617320646973636172646564206265636175736520697420636f756c6448206e6f742062652070726f6365737365642e40536574496e76756c6e657261626c657304385665633c4163636f756e7449643e04d82041206e657720736574206f662076616c696461746f727320617265206d61726b656420746f20626520696e76756c6e657261626c65385365744d696e696d756d426f6e64041c42616c616e63650480204d696e696d756d20626f6e6420616d6f756e74206973206368616e6765642e083853657373696f6e735065724572613053657373696f6e496e64657810060000000470204e756d626572206f662073657373696f6e7320706572206572612e3c426f6e64696e674475726174696f6e20457261496e64657810a002000004e4204e756d626572206f6620657261732074686174207374616b65642066756e6473206d7573742072656d61696e20626f6e64656420666f722e34344e6f74436f6e74726f6c6c65720468204e6f74206120636f6e74726f6c6c6572206163636f756e742e204e6f7453746173680454204e6f742061207374617368206163636f756e742e34416c7265616479426f6e646564046420537461736820697320616c726561647920626f6e6465642e34416c7265616479506169726564047820436f6e74726f6c6c657220697320616c7265616479207061697265642e30456d70747954617267657473046420546172676574732063616e6e6f7420626520656d7074792e44496e76616c6964536c617368496e646578048820536c617368207265636f726420696e646578206f7574206f6620626f756e64732e40496e73756666696369656e74426f6e6404cc2043616e206e6f7420626f6e6420776974682076616c7565206c657373207468616e206d696e696d756d2062616c616e63652e304e6f4d6f72654368756e6b7304942043616e206e6f74207363686564756c65206d6f726520756e6c6f636b206368756e6b732e344e6f556e6c6f636b4368756e6b04a42043616e206e6f74207265626f6e6420776974686f757420756e6c6f636b696e67206368756e6b732e3046756e64656454617267657404cc20417474656d7074696e6720746f2074617267657420612073746173682074686174207374696c6c206861732066756e64732e484e6f74536f72746564416e64556e697175650484204974656d7320617265206e6f7420736f7274656420616e6420756e697175652e404475706c69636174654e6f6d696e656504c02043616e6e6f74206e6f6d696e617465207468652073616d65206163636f756e74206d756c7469706c652074696d657344426f6e64696e674e6f74456e61626c65640006204f6666656e63657301204f6666656e636573101c5265706f727473000105345265706f727449644f663c543ed04f6666656e636544657461696c733c543a3a4163636f756e7449642c20543a3a4964656e74696669636174696f6e5475706c653e00040004490120546865207072696d61727920737472756374757265207468617420686f6c647320616c6c206f6666656e6365207265636f726473206b65796564206279207265706f7274206964656e746966696572732e4044656665727265644f6666656e6365730100645665633c44656665727265644f6666656e63654f663c543e3e0400086501204465666572726564207265706f72747320746861742068617665206265656e2072656a656374656420627920746865206f6666656e63652068616e646c657220616e64206e65656420746f206265207375626d6974746564442061742061206c617465722074696d652e58436f6e63757272656e745265706f727473496e646578010205104b696e64384f706171756554696d65536c6f74485665633c5265706f727449644f663c543e3e050400042901204120766563746f72206f66207265706f727473206f66207468652073616d65206b696e6420746861742068617070656e6564206174207468652073616d652074696d6520736c6f742e485265706f72747342794b696e64496e646578010105104b696e641c5665633c75383e00040018110120456e756d65726174657320616c6c207265706f727473206f662061206b696e6420616c6f6e672077697468207468652074696d6520746865792068617070656e65642e00bc20416c6c207265706f7274732061726520736f72746564206279207468652074696d65206f66206f6666656e63652e004901204e6f74652074686174207468652061637475616c2074797065206f662074686973206d617070696e6720697320605665633c75383e602c207468697320697320626563617573652076616c756573206f66690120646966666572656e7420747970657320617265206e6f7420737570706f7274656420617420746865206d6f6d656e7420736f2077652061726520646f696e6720746865206d616e75616c2073657269616c697a6174696f6e2e010001041c4f6666656e63650c104b696e64384f706171756554696d65536c6f7410626f6f6c10550120546865726520697320616e206f6666656e6365207265706f72746564206f662074686520676976656e20606b696e64602068617070656e656420617420746865206073657373696f6e5f696e6465786020616e644d0120286b696e642d7370656369666963292074696d6520736c6f742e2054686973206576656e74206973206e6f74206465706f736974656420666f72206475706c696361746520736c61736865732e206c617374190120656c656d656e7420696e64696361746573206f6620746865206f6666656e636520776173206170706c69656420287472756529206f7220717565756564202866616c73652974205c5b6b696e642c2074696d65736c6f742c206170706c6965645c5d2e0000071c53657373696f6e011c53657373696f6e1c2856616c696461746f727301004c5665633c543a3a56616c696461746f7249643e0400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801003053657373696f6e496e646578100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e676564010010626f6f6c040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100785665633c28543a3a56616c696461746f7249642c20543a3a4b657973293e0400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f72730100205665633c7533323e04000c8020496e6469636573206f662064697361626c65642076616c696461746f72732e003501205468652073657420697320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e732061206e657720736574206f66206964656e7469746965732e204e6578744b65797300010538543a3a56616c696461746f7249641c543a3a4b657973000400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010550284b65795479706549642c205665633c75383e2938543a3a56616c696461746f72496400040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e0108207365745f6b65797308106b6579731c543a3a4b6579731470726f6f661c5665633c75383e38e82053657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e210120416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec4205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d420546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002c2023203c7765696768743e54202d20436f6d706c65786974793a20604f28312960590120202041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f662060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642ef0202d20446252656164733a20606f726967696e206163636f756e74602c2060543a3a56616c696461746f7249644f66602c20604e6578744b65797360a4202d2044625772697465733a20606f726967696e206163636f756e74602c20604e6578744b6579736084202d204462526561647320706572206b65792069643a20604b65794f776e65726088202d20446257726974657320706572206b65792069643a20604b65794f776e657260302023203c2f7765696768743e2870757267655f6b6579730030cc2052656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722ec4205468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d420546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002c2023203c7765696768743eb4202d20436f6d706c65786974793a20604f2831296020696e206e756d626572206f66206b65792074797065732e590120202041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f662060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642ef0202d20446252656164733a2060543a3a56616c696461746f7249644f66602c20604e6578744b657973602c20606f726967696e206163636f756e7460a4202d2044625772697465733a20604e6578744b657973602c20606f726967696e206163636f756e74608c202d20446257726974657320706572206b65792069643a20604b65794f776e64657260302023203c2f7765696768743e0104284e657753657373696f6e043053657373696f6e496e646578086501204e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e7420697320746865205c5b73657373696f6e5f696e6465785c5d2c206e6f742074686520626c6f636b88206e756d626572206173207468652074797065206d6967687420737567676573742e001030496e76616c696450726f6f66046420496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f72496404a0204e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b657904682052656769737465726564206475706c6963617465206b65792e184e6f4b65797304a8204e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e083c46696e616c697479547261636b6572013c46696e616c697479547261636b6572142c526563656e7448696e747301004c5665633c543a3a426c6f636b4e756d6265723e0400043820526563656e742068696e74732e304f72646572656448696e747301004c5665633c543a3a426c6f636b4e756d6265723e04000458204f72646572656420726563656e742068696e74732e184d656469616e010038543a3a426c6f636b4e756d6265721000000000043020546865206d656469616e2e18557064617465000038543a3a426c6f636b4e756d62657204000405012046696e616c2068696e7420746f206170706c7920696e2074686520626c6f636b2e20604e6f6e6560206d65616e73202273616d6520617320706172656e74222e2c496e697469616c697a6564010010626f6f6c04000001042866696e616c5f68696e74041068696e745c436f6d706163743c543a3a426c6f636b4e756d6265723e08f42048696e7420746861742074686520617574686f72206f66207468697320626c6f636b207468696e6b732074686520626573742066696e616c697a65646c20626c6f636b2069732074686520676976656e206e756d6265722e00082857696e646f7753697a6538543a3a426c6f636b4e756d626572106500000004190120546865206e756d626572206f6620726563656e742073616d706c657320746f206b6565702066726f6d207468697320636861696e2e2044656661756c74206973203130312e345265706f72744c6174656e637938543a3a426c6f636b4e756d62657210e8030000041d01205468652064656c617920616674657220776869636820706f696e74207468696e6773206265636f6d6520737573706963696f75732e2044656661756c7420697320313030302e0838416c72656164795570646174656404c82046696e616c2068696e74206d7573742062652075706461746564206f6e6c79206f6e636520696e2074686520626c6f636b1c42616448696e7404902046696e616c697a6564206865696768742061626f766520626c6f636b206e756d626572091c4772616e647061013c4772616e64706146696e616c6974791814537461746501006c53746f72656453746174653c543a3a426c6f636b4e756d6265723e04000490205374617465206f66207468652063757272656e7420617574686f72697479207365742e3450656e64696e674368616e676500008c53746f72656450656e64696e674368616e67653c543a3a426c6f636b4e756d6265723e040004c42050656e64696e67206368616e67653a20287369676e616c65642061742c207363686564756c6564206368616e6765292e284e657874466f72636564000038543a3a426c6f636b4e756d626572040004bc206e65787420626c6f636b206e756d6265722077686572652077652063616e20666f7263652061206368616e67652e1c5374616c6c656400008028543a3a426c6f636b4e756d6265722c20543a3a426c6f636b4e756d626572290400049020607472756560206966207765206172652063757272656e746c79207374616c6c65642e3043757272656e7453657449640100145365744964200000000000000000085d0120546865206e756d626572206f66206368616e6765732028626f746820696e207465726d73206f66206b65797320616e6420756e6465726c79696e672065636f6e6f6d696320726573706f6e736962696c697469657329c420696e20746865202273657422206f66204772616e6470612076616c696461746f72732066726f6d2067656e657369732e30536574496453657373696f6e0001051453657449643053657373696f6e496e6465780004001059012041206d617070696e672066726f6d206772616e6470612073657420494420746f2074686520696e646578206f6620746865202a6d6f737420726563656e742a2073657373696f6e20666f722077686963682069747368206d656d62657273207765726520726573706f6e7369626c652e00b82054574f582d4e4f54453a2060536574496460206973206e6f7420756e646572207573657220636f6e74726f6c2e010c4c7265706f72745f65717569766f636174696f6e084865717569766f636174696f6e5f70726f6f66a845717569766f636174696f6e50726f6f663c543a3a486173682c20543a3a426c6f636b4e756d6265723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66100d01205265706f727420766f7465722065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667920746865f82065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66fc20616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e6365482077696c6c206265207265706f727465642e707265706f72745f65717569766f636174696f6e5f756e7369676e6564084865717569766f636174696f6e5f70726f6f66a845717569766f636174696f6e50726f6f663c543a3a486173682c20543a3a426c6f636b4e756d6265723e3c6b65795f6f776e65725f70726f6f6640543a3a4b65794f776e657250726f6f66240d01205265706f727420766f7465722065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667920746865f82065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66fc20616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e6365482077696c6c206265207265706f727465642e00110120546869732065787472696e736963206d7573742062652063616c6c656420756e7369676e656420616e642069742069732065787065637465642074686174206f6e6c79190120626c6f636b20617574686f72732077696c6c2063616c6c206974202876616c69646174656420696e206056616c6964617465556e7369676e656460292c206173207375636819012069662074686520626c6f636b20617574686f7220697320646566696e65642069742077696c6c20626520646566696e6564206173207468652065717569766f636174696f6e28207265706f727465722e306e6f74655f7374616c6c6564081464656c617938543a3a426c6f636b4e756d6265726c626573745f66696e616c697a65645f626c6f636b5f6e756d62657238543a3a426c6f636b4e756d6265721c1d01204e6f74652074686174207468652063757272656e7420617574686f7269747920736574206f6620746865204752414e4450412066696e616c69747920676164676574206861732901207374616c6c65642e20546869732077696c6c2074726967676572206120666f7263656420617574686f7269747920736574206368616e67652061742074686520626567696e6e696e672101206f6620746865206e6578742073657373696f6e2c20746f20626520656e6163746564206064656c61796020626c6f636b7320616674657220746861742e205468652064656c617915012073686f756c64206265206869676820656e6f75676820746f20736166656c7920617373756d6520746861742074686520626c6f636b207369676e616c6c696e6720746865290120666f72636564206368616e67652077696c6c206e6f742062652072652d6f726765642028652e672e203130303020626c6f636b73292e20546865204752414e44504120766f7465727329012077696c6c20737461727420746865206e657720617574686f7269747920736574207573696e672074686520676976656e2066696e616c697a656420626c6f636b20617320626173652e5c204f6e6c792063616c6c61626c6520627920726f6f742e010c384e6577417574686f7269746965730434417574686f726974794c69737404d8204e657720617574686f726974792073657420686173206265656e206170706c6965642e205c5b617574686f726974795f7365745c5d1850617573656400049c2043757272656e7420617574686f726974792073657420686173206265656e207061757365642e1c526573756d65640004a02043757272656e7420617574686f726974792073657420686173206265656e20726573756d65642e001c2c50617573654661696c656408090120417474656d707420746f207369676e616c204752414e445041207061757365207768656e2074686520617574686f72697479207365742069736e2774206c697665a8202865697468657220706175736564206f7220616c72656164792070656e64696e67207061757365292e30526573756d654661696c656408150120417474656d707420746f207369676e616c204752414e44504120726573756d65207768656e2074686520617574686f72697479207365742069736e277420706175736564a42028656974686572206c697665206f7220616c72656164792070656e64696e6720726573756d65292e344368616e676550656e64696e6704ec20417474656d707420746f207369676e616c204752414e445041206368616e67652077697468206f6e6520616c72656164792070656e64696e672e1c546f6f536f6f6e04c02043616e6e6f74207369676e616c20666f72636564206368616e676520736f20736f6f6e206166746572206c6173742e60496e76616c69644b65794f776e65727368697050726f6f660435012041206b6579206f776e6572736869702070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e60496e76616c696445717569766f636174696f6e50726f6f6604350120416e2065717569766f636174696f6e2070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e584475706c69636174654f6666656e63655265706f7274041901204120676976656e2065717569766f636174696f6e207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e0a20496d4f6e6c696e650120496d4f6e6c696e6510384865617274626561744166746572010038543a3a426c6f636b4e756d62657210000000001831012054686520626c6f636b206e756d6265722061667465722077686963682069742773206f6b20746f2073656e64206865617274626561747320696e2063757272656e742073657373696f6e2e0011012041742074686520626567696e6e696e67206f6620656163682073657373696f6e20776520736574207468697320746f20612076616c756520746861742073686f756c64d02066616c6c20726f7567686c7920696e20746865206d6964646c65206f66207468652073657373696f6e206475726174696f6e2e010120546865206964656120697320746f206669727374207761697420666f72207468652076616c696461746f727320746f2070726f64756365206120626c6f636b390120696e207468652063757272656e742073657373696f6e2c20736f20746861742074686520686561727462656174206c61746572206f6e2077696c6c206e6f74206265206e65636573736172792e104b65797301004c5665633c543a3a417574686f7269747949643e040004d0205468652063757272656e7420736574206f66206b6579732074686174206d61792069737375652061206865617274626561742e485265636569766564486561727462656174730002053053657373696f6e496e6465782441757468496e6465781c5665633c75383e05040008f020466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206041757468496e6465786020746f8020606f6666636861696e3a3a4f70617175654e6574776f726b5374617465602e38417574686f726564426c6f636b730102053053657373696f6e496e64657838543a3a56616c696461746f7249640c75333205100000000008150120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f662060543a3a56616c696461746f7249646020746f20746865c8206e756d626572206f6620626c6f636b7320617574686f7265642062792074686520676976656e20617574686f726974792e0104246865617274626561740824686561727462656174644865617274626561743c543a3a426c6f636b4e756d6265723e285f7369676e6174757265bc3c543a3a417574686f7269747949642061732052756e74696d654170705075626c69633e3a3a5369676e6174757265242c2023203c7765696768743e4101202d20436f6d706c65786974793a20604f284b202b20452960207768657265204b206973206c656e677468206f6620604b6579736020286865617274626561742e76616c696461746f72735f6c656e290101202020616e642045206973206c656e677468206f6620606865617274626561742e6e6574776f726b5f73746174652e65787465726e616c5f61646472657373608c2020202d20604f284b29603a206465636f64696e67206f66206c656e67746820604b60b02020202d20604f284529603a206465636f64696e672f656e636f64696e67206f66206c656e677468206045603d01202d20446252656164733a2070616c6c65745f73657373696f6e206056616c696461746f7273602c2070616c6c65745f73657373696f6e206043757272656e74496e646578602c20604b657973602c5c202020605265636569766564486561727462656174736084202d2044625772697465733a206052656365697665644865617274626561747360302023203c2f7765696768743e010c444865617274626561745265636569766564042c417574686f7269747949640405012041206e657720686561727462656174207761732072656365697665642066726f6d2060417574686f72697479496460205c5b617574686f726974795f69645c5d1c416c6c476f6f640004d42041742074686520656e64206f66207468652073657373696f6e2c206e6f206f6666656e63652077617320636f6d6d69747465642e2c536f6d654f66666c696e6504605665633c4964656e74696669636174696f6e5475706c653e043d012041742074686520656e64206f66207468652073657373696f6e2c206174206c65617374206f6e652076616c696461746f722077617320666f756e6420746f206265205c5b6f66666c696e655c5d2e000828496e76616c69644b65790464204e6f6e206578697374656e74207075626c6963206b65792e4c4475706c6963617465644865617274626561740458204475706c696361746564206865617274626561742e0b48417574686f72697479446973636f766572790001000000000c105375646f01105375646f040c4b6579010030543a3a4163636f756e74496480000000000000000000000000000000000000000000000000000000000000000004842054686520604163636f756e74496460206f6620746865207375646f206b65792e0110107375646f041063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e2839012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ec8202d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b2031302c3030302e302023203c2f7765696768743e547375646f5f756e636865636b65645f776569676874081063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e1c5f776569676874185765696768742839012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e310120546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865b4205375646f207573657220746f20737065636966792074686520776569676874206f66207468652063616c6c2e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292ed0202d2054686520776569676874206f6620746869732063616c6c20697320646566696e6564206279207468652063616c6c65722e302023203c2f7765696768743e1c7365745f6b6579040c6e65778c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263652475012041757468656e74696361746573207468652063757272656e74207375646f206b657920616e6420736574732074686520676976656e204163636f756e7449642028606e6577602920617320746865206e6577207375646f206b65792e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e1c7375646f5f6173080c77686f8c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e2c51012041757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c207769746820605369676e656460206f726967696e2066726f6d44206120676976656e206163636f756e742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e60202d204f6e6520444220777269746520286576656e74292ec8202d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b2031302c3030302e302023203c2f7765696768743e010c14537564696404384469737061746368526573756c74048c2041207375646f206a75737420746f6f6b20706c6163652e205c5b726573756c745c5d284b65794368616e67656404244163636f756e74496404010120546865205c5b7375646f65725c5d206a757374207377697463686564206964656e746974793b20746865206f6c64206b657920697320737570706c6965642e285375646f4173446f6e650410626f6f6c048c2041207375646f206a75737420746f6f6b20706c6163652e205c5b726573756c745c5d00042c526571756972655375646f04802053656e646572206d75737420626520746865205375646f206163636f756e740d20547265617375727901205472656173757279243450726f706f73616c436f756e7401003450726f706f73616c496e646578100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c730001053450726f706f73616c496e6465789c50726f706f73616c3c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e3e000400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e24417070726f76616c730100485665633c50726f706f73616c496e6465783e040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e10546970730001051c543a3a48617368fc4f70656e5469703c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e2c20543a3a426c6f636b4e756d6265722c20543a3a486173683e0004000c59012054697073207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e730001061c543a3a486173681c5665633c75383e0004000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e2c426f756e7479436f756e7401002c426f756e7479496e646578100000000004c0204e756d626572206f6620626f756e74792070726f706f73616c7320746861742068617665206265656e206d6164652e20426f756e746965730001052c426f756e7479496e646578d4426f756e74793c543a3a4163636f756e7449642c2042616c616e63654f663c542c20493e2c20543a3a426c6f636b4e756d6265723e000400047820426f756e7469657320746861742068617665206265656e206d6164652e48426f756e74794465736372697074696f6e730001052c426f756e7479496e6465781c5665633c75383e000400048020546865206465736372697074696f6e206f66206561636820626f756e74792e3c426f756e7479417070726f76616c730100405665633c426f756e7479496e6465783e040004ec20426f756e747920696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f74207965742066756e6465642e01443470726f706f73655f7370656e64081476616c756560436f6d706163743c42616c616e63654f663c542c20493e3e2c62656e65666963696172798c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365242d012050757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c7565350120697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e636520746865542070726f706f73616c20697320617761726465642e002c2023203c7765696768743e4c202d20436f6d706c65786974793a204f283129b4202d20446252656164733a206050726f706f73616c436f756e74602c20606f726967696e206163636f756e7460ec202d2044625772697465733a206050726f706f73616c436f756e74602c206050726f706f73616c73602c20606f726967696e206163636f756e7460302023203c2f7765696768743e3c72656a6563745f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e24fc2052656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e00ac204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e002c2023203c7765696768743e4c202d20436f6d706c65786974793a204f283129d0202d20446252656164733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e7460d4202d2044625772697465733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e7460302023203c2f7765696768743e40617070726f76655f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e285d0120417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279ac20616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00b0204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002c2023203c7765696768743e50202d20436f6d706c65786974793a204f2831292e90202d20446252656164733a206050726f706f73616c73602c2060417070726f76616c73605c202d20446257726974653a2060417070726f76616c7360302023203c2f7765696768743e387265706f72745f617765736f6d650818726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e7449644c5d01205265706f727420736f6d657468696e672060726561736f6e60207468617420646573657276657320612074697020616e6420636c61696d20616e79206576656e7475616c207468652066696e6465722773206665652e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005501205061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173c02060446174614465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743ecc202d20436f6d706c65786974793a20604f2852296020776865726520605260206c656e677468206f662060726561736f6e602e942020202d20656e636f64696e6720616e642068617368696e67206f662027726561736f6e2774202d20446252656164733a2060526561736f6e73602c2060546970736078202d2044625772697465733a2060526561736f6e73602c20605469707360302023203c2f7765696768743e2c726574726163745f7469700410686173681c543a3a486173684c550120526574726163742061207072696f72207469702d7265706f72742066726f6d20607265706f72745f617765736f6d65602c20616e642063616e63656c207468652070726f63657373206f662074697070696e672e00e0204966207375636365737366756c2c20746865206f726967696e616c206465706f7369742077696c6c20626520756e72657365727665642e00510120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642074686520746970206964656e746966696564206279206068617368604501206d7573742068617665206265656e207265706f7274656420627920746865207369676e696e67206163636f756e74207468726f75676820607265706f72745f617765736f6d65602028616e64206e6f7450207468726f75676820607469705f6e657760292e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e009020456d697473206054697052657472616374656460206966207375636365737366756c2e002c2023203c7765696768743e54202d20436f6d706c65786974793a20604f28312960dc2020202d20446570656e6473206f6e20746865206c656e677468206f662060543a3a48617368602077686963682069732066697865642e90202d20446252656164733a206054697073602c20606f726967696e206163636f756e7460c0202d2044625772697465733a2060526561736f6e73602c206054697073602c20606f726967696e206163636f756e7460302023203c2f7765696768743e1c7469705f6e65770c18726561736f6e1c5665633c75383e0c77686f30543a3a4163636f756e744964247469705f76616c756560436f6d706163743c42616c616e63654f663c542c20493e3e58f4204769766520612074697020666f7220736f6d657468696e67206e65773b206e6f2066696e6465722773206665652077696c6c2062652074616b656e2e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006101202d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c2062655c20202061205554462d382d656e636f6465642055524c2eec202d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e007820456d69747320604e657754697060206966207375636365737366756c2e002c2023203c7765696768743e5501202d20436f6d706c65786974793a20604f2852202b2054296020776865726520605260206c656e677468206f662060726561736f6e602c2060546020697320746865206e756d626572206f6620746970706572732ec02020202d20604f285429603a206465636f64696e6720605469707065726020766563206f66206c656e6774682060546009012020202020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e0d0120202020205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602ee42020202d20604f285229603a2068617368696e6720616e6420656e636f64696e67206f6620726561736f6e206f66206c656e6774682060526080202d20446252656164733a206054697070657273602c2060526561736f6e736078202d2044625772697465733a2060526561736f6e73602c20605469707360302023203c2f7765696768743e0c7469700810686173681c543a3a48617368247469705f76616c756560436f6d706163743c42616c616e63654f663c542c20493e3e64b4204465636c6172652061207469702076616c756520666f7220616e20616c72656164792d6f70656e207469702e00550120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206265206174206d656d626572206f662074686520605469707065727360207365742e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f66207468652068617368206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279382020206163636f756e742049442e5101202d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d820202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e00650120456d6974732060546970436c6f73696e676020696620746865207468726573686f6c64206f66207469707065727320686173206265656e207265616368656420616e642074686520636f756e74646f776e20706572696f64342068617320737461727465642e002c2023203c7765696768743ee4202d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e15012020206465636f64696e6720605469707065726020766563206f66206c656e677468206054602c20696e736572742074697020616e6420636865636b20636c6f73696e672c0101202020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e05012020205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e00610120202041637475616c6c792077656967687420636f756c64206265206c6f77657220617320697420646570656e6473206f6e20686f77206d616e7920746970732061726520696e20604f70656e5469706020627574206974d4202020697320776569676874656420617320696620616c6d6f73742066756c6c20692e65206f66206c656e6774682060542d31602e74202d20446252656164733a206054697070657273602c206054697073604c202d2044625772697465733a20605469707360302023203c2f7765696768743e24636c6f73655f7469700410686173681c543a3a48617368446020436c6f736520616e64207061796f75742061207469702e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0019012054686520746970206964656e74696669656420627920606861736860206d75737420686176652066696e69736865642069747320636f756e74646f776e20706572696f642e006501202d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d656461012020206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e002c2023203c7765696768743ee4202d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e9c2020206465636f64696e6720605469707065726020766563206f66206c656e677468206054602e0101202020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e05012020205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602eac202d20446252656164733a206054697073602c206054697070657273602c20607469702066696e64657260dc202d2044625772697465733a2060526561736f6e73602c206054697073602c206054697070657273602c20607469702066696e64657260302023203c2f7765696768743e3870726f706f73655f626f756e7479081476616c756560436f6d706163743c42616c616e63654f663c542c20493e3e2c6465736372697074696f6e1c5665633c75383e30582050726f706f73652061206e657720626f756e74792e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005501205061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c20617355012060446174614465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e2049742077696c6c20626520756e72657365727665642075706f6e20617070726f76616c2c68206f7220736c6173686564207768656e2072656a65637465642e00fc202d206063757261746f72603a205468652063757261746f72206163636f756e742077686f6d2077696c6c206d616e616765207468697320626f756e74792e68202d2060666565603a205468652063757261746f72206665652e2901202d206076616c7565603a2054686520746f74616c207061796d656e7420616d6f756e74206f66207468697320626f756e74792c2063757261746f722066656520696e636c756465642ec4202d20606465736372697074696f6e603a20546865206465736372697074696f6e206f66207468697320626f756e74792e38617070726f76655f626f756e74790424626f756e74795f696458436f6d706163743c50726f706f73616c496e6465783e28610120417070726f7665206120626f756e74792070726f706f73616c2e2041742061206c617465722074696d652c2074686520626f756e74792077696c6c2062652066756e64656420616e64206265636f6d6520616374697665ac20616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00b0204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e3c70726f706f73655f63757261746f720c24626f756e74795f696458436f6d706163743c50726f706f73616c496e6465783e1c63757261746f728c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650c66656560436f6d706163743c42616c616e63654f663c542c20493e3e24942041737369676e20612063757261746f7220746f20612066756e64656420626f756e74792e00b0204d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e40756e61737369676e5f63757261746f720424626f756e74795f696458436f6d706163743c50726f706f73616c496e6465783e508020556e61737369676e2063757261746f722066726f6d206120626f756e74792e00210120546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c656420627920746865206052656a6563744f726967696e602061207369676e6564206f726967696e2e00690120496620746869732066756e6374696f6e2069732063616c6c656420627920746865206052656a6563744f726967696e602c20776520617373756d652074686174207468652063757261746f72206973206d616c6963696f75730d01206f7220696e6163746976652e204173206120726573756c742c2077652077696c6c20736c617368207468652063757261746f72207768656e20706f737369626c652e00650120496620746865206f726967696e206973207468652063757261746f722c2077652074616b6520746869732061732061207369676e20746865792061726520756e61626c6520746f20646f207468656972206a6f6220616e64610120746865792077696c6c696e676c7920676976652075702e20576520636f756c6420736c617368207468656d2c2062757420666f72206e6f7720776520616c6c6f77207468656d20746f207265636f7665722074686569723901206465706f73697420616e64206578697420776974686f75742069737375652e20285765206d61792077616e7420746f206368616e67652074686973206966206974206973206162757365642e290061012046696e616c6c792c20746865206f726967696e2063616e20626520616e796f6e6520696620616e64206f6e6c79206966207468652063757261746f722069732022696e616374697665222e205468697320616c6c6f7773650120616e796f6e6520696e2074686520636f6d6d756e69747920746f2063616c6c206f7574207468617420612063757261746f72206973206e6f7420646f696e67207468656972206475652064696c6967656e63652c20616e643d012077652073686f756c64207069636b2061206e65772063757261746f722e20496e20746869732063617365207468652063757261746f722073686f756c6420616c736f20626520736c61736865642e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e386163636570745f63757261746f720424626f756e74795f696458436f6d706163743c50726f706f73616c496e6465783e289820416363657074207468652063757261746f7220726f6c6520666f72206120626f756e74792e2d012041206465706f7369742077696c6c2062652072657365727665642066726f6d2063757261746f7220616e6420726566756e642075706f6e207375636365737366756c207061796f75742e0094204d6179206f6e6c792062652063616c6c65642066726f6d207468652063757261746f722e002c2023203c7765696768743e20202d204f2831292e64202d204c696d697465642073746f726167652072656164732e44202d204f6e65204442206368616e67652e302023203c2f7765696768743e3061776172645f626f756e74790824626f756e74795f696458436f6d706163743c50726f706f73616c496e6465783e2c62656e65666963696172798c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636518990120417761726420626f756e747920746f20612062656e6566696369617279206163636f756e742e205468652062656e65666963696172792077696c6c2062652061626c6520746f20636c61696d207468652066756e647320616674657220612064656c61792e00190120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652063757261746f72206f66207468697320626f756e74792e008c202d2060626f756e74795f6964603a20426f756e747920494420746f2061776172642e1d01202d206062656e6566696369617279603a205468652062656e6566696369617279206163636f756e742077686f6d2077696c6c207265636569766520746865207061796f75742e30636c61696d5f626f756e74790424626f756e74795f696450436f6d706163743c426f756e7479496e6465783e14f020436c61696d20746865207061796f75742066726f6d20616e206177617264656420626f756e7479206166746572207061796f75742064656c61792e00290120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652062656e6566696369617279206f66207468697320626f756e74792e008c202d2060626f756e74795f6964603a20426f756e747920494420746f20636c61696d2e30636c6f73655f626f756e74790424626f756e74795f696450436f6d706163743c426f756e7479496e6465783e183d012043616e63656c20612070726f706f736564206f722061637469766520626f756e74792e20416c6c207468652066756e64732077696c6c2062652073656e7420746f20747265617375727920616e64d0207468652063757261746f72206465706f7369742077696c6c20626520756e726573657276656420696620706f737369626c652e00cc204f6e6c792060543a3a52656a6563744f726967696e602069732061626c6520746f2063616e63656c206120626f756e74792e0090202d2060626f756e74795f6964603a20426f756e747920494420746f2063616e63656c2e50657874656e645f626f756e74795f6578706972790824626f756e74795f696450436f6d706163743c426f756e7479496e6465783e1c5f72656d61726b1c5665633c75383e18b020457874656e6420746865206578706972792074696d65206f6620616e2061637469766520626f756e74792e00190120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265207468652063757261746f72206f66207468697320626f756e74792e0090202d2060626f756e74795f6964603a20426f756e747920494420746f20657874656e642e90202d206072656d61726b603a206164646974696f6e616c20696e666f726d6174696f6e2e01482050726f706f736564043450726f706f73616c496e6465780484204e65772070726f706f73616c2e205c5b70726f706f73616c5f696e6465785c5d205370656e64696e67041c42616c616e6365043d01205765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e205c5b6275646765745f72656d61696e696e675c5d1c417761726465640c3450726f706f73616c496e6465781c42616c616e6365244163636f756e744964041d0120536f6d652066756e64732068617665206265656e20616c6c6f63617465642e205c5b70726f706f73616c5f696e6465782c2061776172642c2062656e65666963696172795c5d2052656a6563746564083450726f706f73616c496e6465781c42616c616e636504250120412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e205c5b70726f706f73616c5f696e6465782c20736c61736865645c5d144275726e74041c42616c616e636504b020536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e205c5b6275726e5c5d20526f6c6c6f766572041c42616c616e6365083101205370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e54205c5b6275646765745f72656d61696e696e675c5d1c4465706f736974041c42616c616e636504b020536f6d652066756e64732068617665206265656e206465706f73697465642e205c5b6465706f7369745c5d184e657754697004104861736804cc2041206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e205c5b7469705f686173685c5d28546970436c6f73696e670410486173680411012041207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e205c5b7469705f686173685c5d24546970436c6f7365640c1048617368244163636f756e7449641c42616c616e636504f02041207469702073756767657374696f6e20686173206265656e20636c6f7365642e205c5b7469705f686173682c2077686f2c207061796f75745c5d3054697052657472616374656404104861736804c82041207469702073756767657374696f6e20686173206265656e207265747261637465642e205c5b7469705f686173685c5d38426f756e747950726f706f736564042c426f756e7479496e6465780474204e657720626f756e74792070726f706f73616c2e205b696e6465785d38426f756e747952656a6563746564082c426f756e7479496e6465781c42616c616e6365040901204120626f756e74792070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e205b696e6465782c20626f6e645d48426f756e7479426563616d65416374697665042c426f756e7479496e64657804dc204120626f756e74792070726f706f73616c2069732066756e64656420616e6420626563616d65206163746976652e205b696e6465785d34426f756e747941776172646564082c426f756e7479496e646578244163636f756e74496404ec204120626f756e7479206973206177617264656420746f20612062656e65666963696172792e205b696e6465782c2062656e65666963696172795d34426f756e7479436c61696d65640c2c426f756e7479496e6465781c42616c616e6365244163636f756e744964040501204120626f756e747920697320636c61696d65642062792062656e65666963696172792e205b696e6465782c207061796f75742c2062656e65666963696172795d38426f756e747943616e63656c6564042c426f756e7479496e646578047c204120626f756e74792069732063616e63656c6c65642e205b696e6465785d38426f756e7479457874656e646564042c426f756e7479496e6465780494204120626f756e74792065787069727920697320657874656e6465642e205b696e6465785d383050726f706f73616c426f6e641c5065726d696c6c1050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d3c42616c616e63654f663c542c20493e4010270000000000000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f6438543a3a426c6f636b4e756d6265721080430000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e1c5065726d696c6c1020a107000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e30546970436f756e74646f776e38543a3a426c6f636b4e756d62657210804300000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e646572734665651c50657263656e7404140431012054686520616d6f756e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f736974426173653c42616c616e63654f663c542c20493e401027000000000000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e48446174614465706f736974506572427974653c42616c616e63654f663c542c20493e40010000000000000000000000000000000461012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e206f7220626f756e7479206465736372697074696f6e2e204d6f64756c654964204d6f64756c6549642070792f7472737279041901205468652074726561737572792773206d6f64756c652069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e44426f756e74794465706f736974426173653c42616c616e63654f663c542c20493e401027000000000000000000000000000004e82054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120626f756e74792070726f706f73616c2e60426f756e74794465706f7369745061796f757444656c617938543a3a426c6f636b4e756d6265721080430000045901205468652064656c617920706572696f6420666f72207768696368206120626f756e74792062656e6566696369617279206e65656420746f2077616974206265666f726520636c61696d20746865207061796f75742e50426f756e747943757261746f724465706f7369741c5065726d696c6c1020a10700046d012050657263656e74616765206f66207468652063757261746f722066656520746861742077696c6c20626520726573657276656420757066726f6e74206173206465706f73697420666f7220626f756e74792063757261746f722e48426f756e747956616c75654d696e696d756d3c42616c616e63654f663c542c20493e4050c30000000000000000000000000000004c4d6178696d756d526561736f6e4c656e6774680c75333210004000000488204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e3470496e73756666696369656e7450726f706f7365727342616c616e6365047c2050726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e6465780494204e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e30526561736f6e546f6f42696704882054686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e048c20546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e54697004642054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e64657204210120546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e042d0120546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d617475726504350120546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e40556e657870656374656453746174757304842054686520626f756e74792073746174757320697320756e65787065637465642e385265717569726543757261746f720460205265717569726520626f756e74792063757261746f722e30496e76616c696456616c7565045820496e76616c696420626f756e74792076616c75652e28496e76616c6964466565045020496e76616c696420626f756e7479206665652e3450656e64696e675061796f75740870204120626f756e7479207061796f75742069732070656e64696e672efc20546f2063616e63656c2074686520626f756e74792c20796f75206d75737420756e61737369676e20616e6420736c617368207468652063757261746f722e0e1c5574696c697479000108146261746368041463616c6c735c5665633c3c542061732054726169743e3a3a43616c6c3e50802053656e642061206261746368206f662064697370617463682063616c6c732e007c204d61792062652063616c6c65642066726f6d20616e79206f726967696e2e00f0202d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e006101204966206f726967696e20697320726f6f74207468656e2063616c6c2061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e20285468697320696e636c75646573c820627970617373696e6720606672616d655f73797374656d3a3a54726169743a3a4261736543616c6c46696c74657260292e002c2023203c7765696768743e90202d2042617365207765696768743a2031342e3339202b202e393837202a206320c2b573b8202d20506c7573207468652073756d206f66207468652077656967687473206f6620746865206063616c6c73602ec4202d20506c7573206f6e65206164646974696f6e616c206576656e742e202872657065617420726561642f777269746529302023203c2f7765696768743e00590120546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e3501206576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e20746865590120604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d616465510120616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c657465646050206576656e74206973206465706f73697465642e3461735f646572697661746976650814696e6465780c7531361063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e34e02053656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e0059012046696c7465722066726f6d206f726967696e206172652070617373656420616c6f6e672e205468652063616c6c2077696c6c2062652064697370617463686564207769746820616e206f726967696e207768696368c020757365207468652073616d652066696c74657220617320746865206f726967696e206f6620746869732063616c6c2e004901204e4f54453a20496620796f75206e65656420746f20656e73757265207468617420616e79206163636f756e742d62617365642066696c746572696e67206973206e6f7420686f6e6f7265642028692e652e6501206265636175736520796f7520657870656374206070726f78796020746f2068617665206265656e2075736564207072696f7220696e207468652063616c6c20737461636b20616e6420796f7520646f206e6f742077616e745501207468652063616c6c207265737472696374696f6e7320746f206170706c7920746f20616e79207375622d6163636f756e7473292c207468656e20757365206061735f6d756c74695f7468726573686f6c645f31608020696e20746865204d756c74697369672070616c6c657420696e73746561642e00f8204e4f54453a205072696f7220746f2076657273696f6e202a31322c2074686973207761732063616c6c6564206061735f6c696d697465645f737562602e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0108404261746368496e746572727570746564080c7533323444697370617463684572726f72085901204261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c206173902077656c6c20617320746865206572726f722e205c5b696e6465782c206572726f725c5d384261746368436f6d706c657465640004cc204261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e00000f204964656e7469747901204964656e7469747910284964656e746974794f6600010530543a3a4163636f756e74496468526567697374726174696f6e3c42616c616e63654f663c543e3e0004000c210120496e666f726d6174696f6e20746861742069732070657274696e656e7420746f206964656e746966792074686520656e7469747920626568696e6420616e206163636f756e742e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e1c53757065724f6600010230543a3a4163636f756e7449645028543a3a4163636f756e7449642c204461746129000400086101205468652073757065722d6964656e74697479206f6620616e20616c7465726e6174697665202273756222206964656e7469747920746f676574686572207769746820697473206e616d652c2077697468696e2074686174510120636f6e746578742e20496620746865206163636f756e74206973206e6f7420736f6d65206f74686572206163636f756e742773207375622d6964656e746974792c207468656e206a75737420604e6f6e65602e18537562734f6601010530543a3a4163636f756e744964842842616c616e63654f663c543e2c205665633c543a3a4163636f756e7449643e290044000000000000000000000000000000000014b820416c7465726e6174697665202273756222206964656e746974696573206f662074686973206163636f756e742e001d0120546865206669727374206974656d20697320746865206465706f7369742c20746865207365636f6e64206973206120766563746f72206f6620746865206163636f756e74732e00c02054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e28526567697374726172730100d85665633c4f7074696f6e3c526567697374726172496e666f3c42616c616e63654f663c543e2c20543a3a4163636f756e7449643e3e3e0400104d012054686520736574206f6620726567697374726172732e204e6f7420657870656374656420746f206765742076657279206269672061732063616e206f6e6c79206265206164646564207468726f7567682061a8207370656369616c206f726967696e20286c696b656c79206120636f756e63696c206d6f74696f6e292e0029012054686520696e64657820696e746f20746869732063616e206265206361737420746f2060526567697374726172496e6465786020746f2067657420612076616c69642076616c75652e013c346164645f726567697374726172041c6163636f756e7430543a3a4163636f756e744964347c2041646420612072656769737472617220746f207468652073797374656d2e00010120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060543a3a5265676973747261724f726967696e602e00ac202d20606163636f756e74603a20746865206163636f756e74206f6620746865207265676973747261722e009820456d6974732060526567697374726172416464656460206966207375636365737366756c2e002c2023203c7765696768743e2901202d20604f2852296020776865726520605260207265676973747261722d636f756e742028676f7665726e616e63652d626f756e64656420616e6420636f64652d626f756e646564292e9c202d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e307365745f6964656e746974790410696e666f304964656e74697479496e666f4c2d012053657420616e206163636f756e742773206964656e7469747920696e666f726d6174696f6e20616e6420726573657276652074686520617070726f707269617465206465706f7369742e00590120496620746865206163636f756e7420616c726561647920686173206964656e7469747920696e666f726d6174696f6e2c20746865206465706f7369742069732074616b656e2061732070617274207061796d656e745420666f7220746865206e6577206465706f7369742e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0090202d2060696e666f603a20546865206964656e7469747920696e666f726d6174696f6e2e008c20456d69747320604964656e7469747953657460206966207375636365737366756c2e002c2023203c7765696768743e48202d20604f2858202b205827202b2052296021012020202d20776865726520605860206164646974696f6e616c2d6669656c642d636f756e7420286465706f7369742d626f756e64656420616e6420636f64652d626f756e64656429e42020202d20776865726520605260206a756467656d656e74732d636f756e7420287265676973747261722d636f756e742d626f756e6465642984202d204f6e652062616c616e63652072657365727665206f7065726174696f6e2e2501202d204f6e652073746f72616765206d75746174696f6e2028636f6465632d7265616420604f285827202b205229602c20636f6465632d777269746520604f2858202b20522960292e34202d204f6e65206576656e742e302023203c2f7765696768743e207365745f73756273041073756273645665633c28543a3a4163636f756e7449642c2044617461293e54902053657420746865207375622d6163636f756e7473206f66207468652073656e6465722e005901205061796d656e743a20416e79206167677265676174652062616c616e63652072657365727665642062792070726576696f757320607365745f73756273602063616c6c732077696c6c2062652072657475726e6564310120616e6420616e20616d6f756e7420605375624163636f756e744465706f736974602077696c6c20626520726573657276656420666f722065616368206974656d20696e206073756273602e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656428206964656e746974792e00b4202d206073756273603a20546865206964656e74697479277320286e657729207375622d6163636f756e74732e002c2023203c7765696768743e34202d20604f2850202b20532960e82020202d20776865726520605060206f6c642d737562732d636f756e742028686172642d20616e64206465706f7369742d626f756e646564292ed82020202d2077686572652060536020737562732d636f756e742028686172642d20616e64206465706f7369742d626f756e646564292e88202d204174206d6f7374206f6e652062616c616e6365206f7065726174696f6e732e18202d2044423ae02020202d206050202b2053602073746f72616765206d75746174696f6e732028636f64656320636f6d706c657869747920604f2831296029c02020202d204f6e652073746f7261676520726561642028636f64656320636f6d706c657869747920604f28502960292ec42020202d204f6e652073746f726167652077726974652028636f64656320636f6d706c657869747920604f28532960292ed42020202d204f6e652073746f726167652d6578697374732028604964656e746974794f663a3a636f6e7461696e735f6b657960292e302023203c2f7765696768743e38636c6561725f6964656e7469747900483d0120436c65617220616e206163636f756e742773206964656e7469747920696e666f20616e6420616c6c207375622d6163636f756e747320616e642072657475726e20616c6c206465706f736974732e00f0205061796d656e743a20416c6c2072657365727665642062616c616e636573206f6e20746865206163636f756e74206172652072657475726e65642e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061207265676973746572656428206964656e746974792e009c20456d69747320604964656e74697479436c656172656460206966207375636365737366756c2e002c2023203c7765696768743e44202d20604f2852202b2053202b20582960d02020202d20776865726520605260207265676973747261722d636f756e742028676f7665726e616e63652d626f756e646564292ed82020202d2077686572652060536020737562732d636f756e742028686172642d20616e64206465706f7369742d626f756e646564292e25012020202d20776865726520605860206164646974696f6e616c2d6669656c642d636f756e7420286465706f7369742d626f756e64656420616e6420636f64652d626f756e646564292e8c202d204f6e652062616c616e63652d756e72657365727665206f7065726174696f6e2ecc202d206032602073746f7261676520726561647320616e64206053202b2032602073746f726167652064656c6574696f6e732e34202d204f6e65206576656e742e302023203c2f7765696768743e44726571756573745f6a756467656d656e7408247265675f696e6465785c436f6d706163743c526567697374726172496e6465783e1c6d61785f66656554436f6d706163743c42616c616e63654f663c543e3e5c9820526571756573742061206a756467656d656e742066726f6d2061207265676973747261722e005901205061796d656e743a204174206d6f737420606d61785f666565602077696c6c20626520726573657276656420666f72207061796d656e7420746f2074686520726567697374726172206966206a756467656d656e741c20676976656e2e00390120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061542072656769737465726564206964656e746974792e002101202d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973207265717565737465642e5901202d20606d61785f666565603a20546865206d6178696d756d206665652074686174206d617920626520706169642e20546869732073686f756c64206a757374206265206175746f2d706f70756c617465642061733a0034206060606e6f636f6d70696c65bc2053656c663a3a7265676973747261727328292e676574287265675f696e646578292e756e7772617028292e666565102060606000a820456d69747320604a756467656d656e7452657175657374656460206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2ebc202d2053746f726167653a2031207265616420604f285229602c2031206d757461746520604f2858202b205229602e34202d204f6e65206576656e742e302023203c2f7765696768743e3863616e63656c5f7265717565737404247265675f696e64657838526567697374726172496e646578446c2043616e63656c20612070726576696f757320726571756573742e00fc205061796d656e743a20412070726576696f75736c79207265736572766564206465706f7369742069732072657475726e6564206f6e20737563636573732e00390120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652061542072656769737465726564206964656e746974792e004901202d20607265675f696e646578603a2054686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206e6f206c6f6e676572207265717565737465642e00b020456d69747320604a756467656d656e74556e72657175657374656460206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2e8c202d204f6e652073746f72616765206d75746174696f6e20604f2852202b205829602e30202d204f6e65206576656e74302023203c2f7765696768743e1c7365745f6665650814696e6465785c436f6d706163743c526567697374726172496e6465783e0c66656554436f6d706163743c42616c616e63654f663c543e3e341d0120536574207468652066656520726571756972656420666f722061206a756467656d656e7420746f206265207265717565737465642066726f6d2061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e58202d2060666565603a20746865206e6577206665652e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602ee8202d2042656e63686d61726b3a20372e333135202b2052202a20302e33323920c2b57320286d696e207371756172657320616e616c7973697329302023203c2f7765696768743e387365745f6163636f756e745f69640814696e6465785c436f6d706163743c526567697374726172496e6465783e0c6e657730543a3a4163636f756e74496434c0204368616e676520746865206163636f756e74206173736f63696174656420776974682061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e74202d20606e6577603a20746865206e6577206163636f756e742049442e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602ee4202d2042656e63686d61726b3a20382e383233202b2052202a20302e333220c2b57320286d696e207371756172657320616e616c7973697329302023203c2f7765696768743e287365745f6669656c64730814696e6465785c436f6d706163743c526567697374726172496e6465783e186669656c6473384964656e746974794669656c647334ac2053657420746865206669656c6420696e666f726d6174696f6e20666f722061207265676973747261722e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74a4206f6620746865207265676973747261722077686f736520696e6465782069732060696e646578602e00f8202d2060696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f73652066656520697320746f206265207365742e1101202d20606669656c6473603a20746865206669656c64732074686174207468652072656769737472617220636f6e6365726e73207468656d73656c76657320776974682e002c2023203c7765696768743e28202d20604f285229602e7c202d204f6e652073746f72616765206d75746174696f6e20604f285229602ee8202d2042656e63686d61726b3a20372e343634202b2052202a20302e33323520c2b57320286d696e207371756172657320616e616c7973697329302023203c2f7765696768743e4470726f766964655f6a756467656d656e740c247265675f696e6465785c436f6d706163743c526567697374726172496e6465783e187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365246a756467656d656e745c4a756467656d656e743c42616c616e63654f663c543e3e4cbc2050726f766964652061206a756467656d656e7420666f7220616e206163636f756e742773206964656e746974792e00590120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420626520746865206163636f756e74b4206f6620746865207265676973747261722077686f736520696e64657820697320607265675f696e646578602e002501202d20607265675f696e646578603a2074686520696e646578206f6620746865207265676973747261722077686f7365206a756467656d656e74206973206265696e67206d6164652e5901202d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e74782020207769746820612072656769737465726564206964656e746974792e4d01202d20606a756467656d656e74603a20746865206a756467656d656e74206f662074686520726567697374726172206f6620696e64657820607265675f696e646578602061626f75742060746172676574602e009820456d69747320604a756467656d656e74476976656e60206966207375636365737366756c2e002c2023203c7765696768743e38202d20604f2852202b205829602e88202d204f6e652062616c616e63652d7472616e73666572206f7065726174696f6e2e98202d20557020746f206f6e65206163636f756e742d6c6f6f6b7570206f7065726174696f6e2ebc202d2053746f726167653a2031207265616420604f285229602c2031206d757461746520604f2852202b205829602e34202d204f6e65206576656e742e302023203c2f7765696768743e346b696c6c5f6964656e7469747904187461726765748c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263654c45012052656d6f766520616e206163636f756e742773206964656e7469747920616e64207375622d6163636f756e7420696e666f726d6174696f6e20616e6420736c61736820746865206465706f736974732e006501205061796d656e743a2052657365727665642062616c616e6365732066726f6d20607365745f737562736020616e6420607365745f6964656e74697479602061726520736c617368656420616e642068616e646c656420627949012060536c617368602e20566572696669636174696f6e2072657175657374206465706f7369747320617265206e6f742072657475726e65643b20746865792073686f756c642062652063616e63656c6c656484206d616e75616c6c79207573696e67206063616e63656c5f72657175657374602e00fc20546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206d617463682060543a3a466f7263654f726967696e602e005901202d2060746172676574603a20746865206163636f756e742077686f7365206964656e7469747920746865206a756467656d656e742069732075706f6e2e2054686973206d75737420626520616e206163636f756e74782020207769746820612072656769737465726564206964656e746974792e009820456d69747320604964656e746974794b696c6c656460206966207375636365737366756c2e002c2023203c7765696768743e48202d20604f2852202b2053202b205829602e84202d204f6e652062616c616e63652d72657365727665206f7065726174696f6e2e74202d206053202b2032602073746f72616765206d75746174696f6e732e34202d204f6e65206576656e742e302023203c2f7765696768743e1c6164645f737562080c7375628c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365106461746110446174611cb0204164642074686520676976656e206163636f756e7420746f207468652073656e646572277320737562732e006101205061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c2062652072657061747269617465643c20746f207468652073656e6465722e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573742068617665206120726567697374657265645c20737562206964656e74697479206f662060737562602e2872656e616d655f737562080c7375628c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651064617461104461746110d020416c74657220746865206173736f636961746564206e616d65206f662074686520676976656e207375622d6163636f756e742e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573742068617665206120726567697374657265645c20737562206964656e74697479206f662060737562602e2872656d6f76655f737562040c7375628c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263651cc42052656d6f76652074686520676976656e206163636f756e742066726f6d207468652073656e646572277320737562732e006101205061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c2062652072657061747269617465643c20746f207468652073656e6465722e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d7573742068617665206120726567697374657265645c20737562206964656e74697479206f662060737562602e20717569745f7375620028902052656d6f7665207468652073656e6465722061732061207375622d6163636f756e742e006101205061796d656e743a2042616c616e636520726573657276656420627920612070726576696f757320607365745f73756273602063616c6c20666f72206f6e65207375622077696c6c206265207265706174726961746564b820746f207468652073656e64657220282a6e6f742a20746865206f726967696e616c206465706f7369746f72292e00650120546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206861766520612072656769737465726564402073757065722d6964656e746974792e004901204e4f54453a20546869732073686f756c64206e6f74206e6f726d616c6c7920626520757365642c206275742069732070726f766964656420696e207468652063617365207468617420746865206e6f6e2d150120636f6e74726f6c6c6572206f6620616e206163636f756e74206973206d616c6963696f75736c7920726567697374657265642061732061207375622d6163636f756e742e01282c4964656e7469747953657404244163636f756e7449640411012041206e616d652077617320736574206f72207265736574202877686963682077696c6c2072656d6f766520616c6c206a756467656d656e7473292e205c5b77686f5c5d3c4964656e74697479436c656172656408244163636f756e7449641c42616c616e63650415012041206e616d652077617320636c65617265642c20616e642074686520676976656e2062616c616e63652072657475726e65642e205c5b77686f2c206465706f7369745c5d384964656e746974794b696c6c656408244163636f756e7449641c42616c616e6365040d012041206e616d65207761732072656d6f76656420616e642074686520676976656e2062616c616e636520736c61736865642e205c5b77686f2c206465706f7369745c5d484a756467656d656e7452657175657374656408244163636f756e74496438526567697374726172496e6465780405012041206a756467656d656e74207761732061736b65642066726f6d2061207265676973747261722e205c5b77686f2c207265676973747261725f696e6465785c5d504a756467656d656e74556e72657175657374656408244163636f756e74496438526567697374726172496e64657804f02041206a756467656d656e74207265717565737420776173207265747261637465642e205c5b77686f2c207265676973747261725f696e6465785c5d384a756467656d656e74476976656e08244163636f756e74496438526567697374726172496e6465780409012041206a756467656d656e742077617320676976656e2062792061207265676973747261722e205c5b7461726765742c207265676973747261725f696e6465785c5d3852656769737472617241646465640438526567697374726172496e64657804ac204120726567697374726172207761732061646465642e205c5b7265676973747261725f696e6465785c5d405375624964656e7469747941646465640c244163636f756e744964244163636f756e7449641c42616c616e63650455012041207375622d6964656e746974792077617320616464656420746f20616e206964656e7469747920616e6420746865206465706f73697420706169642e205c5b7375622c206d61696e2c206465706f7369745c5d485375624964656e7469747952656d6f7665640c244163636f756e744964244163636f756e7449641c42616c616e6365080d012041207375622d6964656e74697479207761732072656d6f7665642066726f6d20616e206964656e7469747920616e6420746865206465706f7369742066726565642e5c205c5b7375622c206d61696e2c206465706f7369745c5d485375624964656e746974795265766f6b65640c244163636f756e744964244163636f756e7449641c42616c616e6365081d012041207375622d6964656e746974792077617320636c65617265642c20616e642074686520676976656e206465706f7369742072657061747269617465642066726f6d207468652901206d61696e206964656e74697479206163636f756e7420746f20746865207375622d6964656e74697479206163636f756e742e205c5b7375622c206d61696e2c206465706f7369745c5d183042617369634465706f7369743042616c616e63654f663c543e401b06000000000000000000000000000004d82054686520616d6f756e742068656c64206f6e206465706f73697420666f7220612072656769737465726564206964656e746974792e304669656c644465706f7369743042616c616e63654f663c543e408c010000000000000000000000000000042d012054686520616d6f756e742068656c64206f6e206465706f73697420706572206164646974696f6e616c206669656c6420666f7220612072656769737465726564206964656e746974792e445375624163636f756e744465706f7369743042616c616e63654f663c543e404d0100000000000000000000000000000c65012054686520616d6f756e742068656c64206f6e206465706f73697420666f7220612072656769737465726564207375626163636f756e742e20546869732073686f756c64206163636f756e7420666f7220746865206661637471012074686174206f6e652073746f72616765206974656d27732076616c75652077696c6c20696e637265617365206279207468652073697a65206f6620616e206163636f756e742049442c20616e642074686572652077696c6c206265290120616e6f746865722074726965206974656d2077686f73652076616c7565206973207468652073697a65206f6620616e206163636f756e7420494420706c75732033322062797465732e384d61785375624163636f756e74730c7533321064000000040d0120546865206d6178696d756d206e756d626572206f66207375622d6163636f756e747320616c6c6f77656420706572206964656e746966696564206163636f756e742e4c4d61784164646974696f6e616c4669656c64730c7533321064000000086501204d6178696d756d206e756d626572206f66206164646974696f6e616c206669656c64732074686174206d61792062652073746f72656420696e20616e2049442e204e656564656420746f20626f756e642074686520492f4fe020726571756972656420746f2061636365737320616e206964656e746974792c206275742063616e2062652070726574747920686967682e344d6178526567697374726172730c7533321014000000085101204d61786d696d756d206e756d626572206f66207265676973747261727320616c6c6f77656420696e207468652073797374656d2e204e656564656420746f20626f756e642074686520636f6d706c65786974797c206f662c20652e672e2c207570646174696e67206a756467656d656e74732e4048546f6f4d616e795375624163636f756e7473046020546f6f206d616e7920737562732d6163636f756e74732e204e6f74466f756e640454204163636f756e742069736e277420666f756e642e204e6f744e616d65640454204163636f756e742069736e2774206e616d65642e28456d707479496e646578043420456d70747920696e6465782e284665654368616e676564044020466565206973206368616e6765642e284e6f4964656e74697479044c204e6f206964656e7469747920666f756e642e3c537469636b794a756467656d656e74044820537469636b79206a756467656d656e742e384a756467656d656e74476976656e0444204a756467656d656e7420676976656e2e40496e76616c69644a756467656d656e74044c20496e76616c6964206a756467656d656e742e30496e76616c6964496e64657804582054686520696e64657820697320696e76616c69642e34496e76616c6964546172676574045c205468652074617267657420697320696e76616c69642e34546f6f4d616e794669656c6473047020546f6f206d616e79206164646974696f6e616c206669656c64732e44546f6f4d616e795265676973747261727304ec204d6178696d756d20616d6f756e74206f66207265676973747261727320726561636865642e2043616e6e6f742061646420616e79206d6f72652e38416c7265616479436c61696d65640474204163636f756e7420494420697320616c7265616479206e616d65642e184e6f7453756204742053656e646572206973206e6f742061207375622d6163636f756e742e204e6f744f776e6564048c205375622d6163636f756e742069736e2774206f776e65642062792073656e6465722e10485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100284d756c7469706c69657240000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e01002052656c6561736573040000000008485472616e73616374696f6e427974654665653042616c616e63654f663c543e400a000000000000000000000000000000040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e2c576569676874546f466565a45665633c576569676874546f466565436f656666696369656e743c42616c616e63654f663c543e3e3e5c0400000000000000000000000000000000dc0500000001040d012054686520706f6c796e6f6d69616c2074686174206973206170706c69656420696e206f7264657220746f20646572697665206665652066726f6d207765696768742e0011204d756c746973696701204d756c746973696708244d756c74697369677300020530543a3a4163636f756e744964205b75383b2033325dd04d756c74697369673c543a3a426c6f636b4e756d6265722c2042616c616e63654f663c543e2c20543a3a4163636f756e7449643e02040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e1443616c6c73000106205b75383b2033325da0284f706171756543616c6c2c20543a3a4163636f756e7449642c2042616c616e63654f663c543e290004000001105061735f6d756c74695f7468726573686f6c645f3108446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e1063616c6c5c426f783c3c542061732054726169743e3a3a43616c6c3e40550120496d6d6564696174656c792064697370617463682061206d756c74692d7369676e61747572652063616c6c207573696e6720612073696e676c6520617070726f76616c2066726f6d207468652063616c6c65722e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e004101202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f206172652070617274206f66207468650501206d756c74692d7369676e61747572652c2062757420646f206e6f7420706172746963697061746520696e2074686520617070726f76616c2070726f636573732e8c202d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e00bc20526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c742e002c2023203c7765696768743e1d01204f285a202b204329207768657265205a20697320746865206c656e677468206f66207468652063616c6c20616e6420432069747320657865637574696f6e207765696768742e80202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d48202d204442205765696768743a204e6f6e654c202d20506c75732043616c6c20576569676874302023203c2f7765696768743e2061735f6d756c746918247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e1063616c6c284f706171756543616c6c2873746f72655f63616c6c10626f6f6c286d61785f77656967687418576569676874b8590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e00b42049662074686572652061726520656e6f7567682c207468656e206469737061746368207468652063616c6c2e003101205061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573410120607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2e8c202d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e002101204e4f54453a20556e6c6573732074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2067656e6572616c6c792077616e7420746f207573651d012060617070726f76655f61735f6d756c74696020696e73746561642c2073696e6365206974206f6e6c7920726571756972657320612068617368206f66207468652063616c6c2e005d0120526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c7420696620607468726573686f6c64602069732065786163746c79206031602e204f74686572776973655901206f6e20737563636573732c20726573756c7420697320604f6b6020616e642074686520726573756c742066726f6d2074686520696e746572696f722063616c6c2c206966206974207761732065786563757465642ce0206d617920626520666f756e6420696e20746865206465706f736974656420604d756c7469736967457865637574656460206576656e742e002c2023203c7765696768743e54202d20604f2853202b205a202b2043616c6c29602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2e2501202d204f6e652063616c6c20656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285a296020776865726520605a602069732074782d6c656e2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e70202d2054686520776569676874206f6620746865206063616c6c602e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66b4202020604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e80202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34202d204442205765696768743a250120202020202d2052656164733a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c2043616c6c7320286966206073746f72655f63616c6c6029290120202020202d205772697465733a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c2043616c6c7320286966206073746f72655f63616c6c60294c202d20506c75732043616c6c20576569676874302023203c2f7765696768743e40617070726f76655f61735f6d756c746914247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e3c6d617962655f74696d65706f696e74844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e2463616c6c5f68617368205b75383b2033325d286d61785f7765696768741857656967687490590120526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966fc20617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e003101205061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c7573410120607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f72382069732063616e63656c6c65642e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e5d01202d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e2049662069742069735501206e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d8207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e003901204e4f54453a2049662074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2077616e7420746f20757365206061735f6d756c74696020696e73746561642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed8202d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292efc202d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e34202d204f6e65206576656e742e3101202d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061902020206465706f7369742074616b656e20666f7220697473206c69666574696d65206f66b4202020604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e8c202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34202d204442205765696768743abc20202020202d20526561643a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745dc020202020202d2057726974653a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d302023203c2f7765696768743e3c63616e63656c5f61735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573445665633c543a3a4163636f756e7449643e2474696d65706f696e746454696d65706f696e743c543a3a426c6f636b4e756d6265723e2463616c6c5f68617368205b75383b2033325d6859012043616e63656c2061207072652d6578697374696e672c206f6e2d676f696e67206d756c7469736967207472616e73616374696f6e2e20416e79206465706f7369742072657365727665642070726576696f75736c79c820666f722074686973206f7065726174696f6e2077696c6c20626520756e7265736572766564206f6e20737563636573732e00d020546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e005901202d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e4501202d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f76652074686973702064697370617463682e204d6179206e6f7420626520656d7074792e6101202d206074696d65706f696e74603a205468652074696d65706f696e742028626c6f636b206e756d62657220616e64207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c7c207472616e73616374696f6e20666f7220746869732064697370617463682ed0202d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e002c2023203c7765696768743e28202d20604f285329602ed0202d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e4101202d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f6649012020207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ec0202d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602e34202d204f6e65206576656e742e88202d20492f4f3a2031207265616420604f285329602c206f6e652072656d6f76652e74202d2053746f726167653a2072656d6f766573206f6e65206974656d2e8c202d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d34202d204442205765696768743a190120202020202d20526561643a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c20526566756e64204163636f756e742c2043616c6c731d0120202020202d2057726974653a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c20526566756e64204163636f756e742c2043616c6c73302023203c2f7765696768743e01102c4e65774d756c74697369670c244163636f756e744964244163636f756e7449642043616c6c48617368041d012041206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e205c5b617070726f76696e672c206d756c74697369672c2063616c6c5f686173685c5d404d756c7469736967417070726f76616c10244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449642043616c6c4861736808cc2041206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652eb8205c5b617070726f76696e672c2074696d65706f696e742c206d756c74697369672c2063616c6c5f686173685c5d404d756c7469736967457865637574656414244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449642043616c6c48617368384469737061746368526573756c740459012041206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e205c5b617070726f76696e672c2074696d65706f696e742c206d756c74697369672c2063616c6c5f686173685c5d444d756c746973696743616e63656c6c656410244163636f756e7449645854696d65706f696e743c426c6f636b4e756d6265723e244163636f756e7449642043616c6c486173680461012041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e205c5b63616e63656c6c696e672c2074696d65706f696e742c206d756c74697369672c2063616c6c5f686173685c5d0c2c4465706f736974426173653042616c616e63654f663c543e401f02000000000000000000000000000008710120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061206d756c746973696720657865637574696f6e206f7220746f2073746f72656c20612064697370617463682063616c6c20666f72206c617465722e344465706f736974466163746f723042616c616e63654f663c543e40c00000000000000000000000000000000455012054686520616d6f756e74206f662063757272656e6379206e65656465642070657220756e6974207468726573686f6c64207768656e206372656174696e672061206d756c746973696720657865637574696f6e2e384d61785369676e61746f726965730c75313608640004010120546865206d6178696d756d20616d6f756e74206f66207369676e61746f7269657320616c6c6f77656420666f72206120676976656e206d756c74697369672e38404d696e696d756d5468726573686f6c640480205468726573686f6c64206d7573742062652032206f7220677265617465722e3c416c7265616479417070726f76656404b02043616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e656564656404a02043616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f7269657304ac2054686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f7269657304b02054686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f7264657204110120546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f72696573041101205468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e6404e0204d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e6572043101204f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e74042101204e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74043101204120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e7404f820412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e30576569676874546f6f4c6f7704d420546865206d6178696d756d2077656967687420696e666f726d6174696f6e2070726f76696465642077617320746f6f206c6f772e34416c726561647953746f72656404a420546865206461746120746f2062652073746f72656420697320616c72656164792073746f7265642e126052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100305665633c543a3a486173683e04000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e000000001328486973746f726963616c0000000000141843656e6e7a78011843656e6e7a78102c436f726541737365744964010028543a3a4173736574496410000000000494204173736574204964206f662074686520636f7265206c69717569646974792061737365743844656661756c744665655261746501004c466565526174653c5065724d696c6c696f6e3e400000000000000000000000000000000004642044656661756c742074726164696e6720666565207261746538546f74616c4c69717569646974790101053845786368616e67654b65793c543e28543a3a42616c616e636500400000000000000000000000000000000008e820546f74616c206c697175696469747920686f6c64696e6773206f6620616c6c20696e766573746f727320696e20616e2065786368616e67652e55012069652f20746f74616c5f6c69717569646974792865786368616e676529203d3d2073756d286c69717569646974795f62616c616e63652865786368616e67652c2075736572292920617420616c6c2074696d6573404c697175696469747942616c616e63650102053845786368616e67654b65793c543e30543a3a4163636f756e74496428543a3a42616c616e636502400000000000000000000000000000000008c8204c697175696469747920686f6c64696e6773206f662061207573657220696e20616e2065786368616e676520706f6f6c2ecc204b65793a206028636f72655f61737365745f69642c2074726164655f61737365745f6964292c206163636f756e745f6964600114246275795f61737365741424726563697069656e74504f7074696f6e3c543a3a4163636f756e7449643e3461737365745f746f5f73656c6c4c436f6d706163743c543a3a417373657449643e3061737365745f746f5f6275794c436f6d706163743c543a3a417373657449643e286275795f616d6f756e744c436f6d706163743c543a3a42616c616e63653e306d6178696d756d5f73656c6c4c436f6d706163743c543a3a42616c616e63653e20a420427579206061737365745f746f5f627579602077697468206061737365745f746f5f73656c6c602e2d012043616c6c65722073706563696669657320616e20657861637420606275795f616d6f756e746020616e64206120606d6178696d756d5f73656c6c6020616d6f756e7420746f207061792e0019012060726563697069656e7460202d204163636f756e7420746f2072656365697665206173736574732c2064656661756c747320746f20606f726967696e60206966204e6f6e658c206061737365745f746f5f73656c6c60202d20617373657420494420746f2073656c6c84206061737365745f746f5f62757960202d20617373657420494420746f20627579dc20606275795f616d6f756e7460202d2054686520616d6f756e74206f66206061737365745f746f5f6275796020746f2072656365697665ec20606d6178696d756d5f73656c6c60202d204d6178696d756d206061737365745f746f5f73656c6c602063616c6c65722073686f756c64207061792873656c6c5f61737365741424726563697069656e74504f7074696f6e3c543a3a4163636f756e7449643e3461737365745f746f5f73656c6c4c436f6d706163743c543a3a417373657449643e3061737365745f746f5f6275794c436f6d706163743c543a3a417373657449643e2c73656c6c5f616d6f756e744c436f6d706163743c543a3a42616c616e63653e2c6d696e696d756d5f6275794c436f6d706163743c543a3a42616c616e63653e20a42053656c6c206061737365745f746f5f73656c6c6020666f72206061737365745f746f5f627579602e3d012043616c6c65722073706563696669657320616e206578616374206073656c6c5f616d6f756e746020616e64206120606d696e696d756d5f6275796020616d6f756e7420746f20726563656976652e0019012060726563697069656e7460202d204163636f756e7420746f2072656365697665206173736574732c2064656661756c747320746f20606f726967696e60206966204e6f6e658c206061737365745f746f5f73656c6c60202d20617373657420494420746f2073656c6c84206061737365745f746f5f62757960202d20617373657420494420746f206275791101206073656c6c5f616d6f756e7460202d2054686520616d6f756e74206f66206061737365745f746f5f73656c6c60207468652063616c6c65722073686f756c6420706179d820606d696e696d756d5f62757960202d20546865206d696e696d756d206061737365745f746f5f6275796020746f2072656365697665346164645f6c6971756964697479102061737365745f69644c436f6d706163743c543a3a417373657449643e346d696e5f6c69717569646974794c436f6d706163743c543a3a42616c616e63653e406d61785f61737365745f616d6f756e744c436f6d706163743c543a3a42616c616e63653e2c636f72655f616d6f756e744c436f6d706163743c543a3a42616c616e63653e201901204465706f73697420636f726520617373657420616e642074726164652061737365742061742063757272656e7420726174696f20746f206d696e74206c6971756964697479902052657475726e7320616d6f756e74206f66206c6971756964697479206d696e7465642e002420606f726967696e6080206061737365745f696460202d20546865207472616465206173736574204944bc20606d696e5f6c697175696469747960202d20546865206d696e696d756d206c697175696469747920746f20616464b8206061737365745f616d6f756e7460202d20416d6f756e74206f6620747261646520617373657420746f20616464b02060636f72655f616d6f756e7460202d20416d6f756e74206f6620636f726520617373657420746f206164644072656d6f76655f6c6971756964697479102061737365745f69644c436f6d706163743c543a3a417373657449643e546c69717569646974795f746f5f77697468647261774c436f6d706163743c543a3a42616c616e63653e486d696e5f61737365745f77697468647261774c436f6d706163743c543a3a42616c616e63653e446d696e5f636f72655f77697468647261774c436f6d706163743c543a3a42616c616e63653e183501204275726e2065786368616e67652061737365747320746f20776974686472617720636f726520617373657420616e642074726164652061737365742061742063757272656e7420726174696f0080206061737365745f696460202d20546865207472616465206173736574204944050120606c69717569646974795f746f5f776974686472617760202d20416d6f756e74206f6620757365722773206c697175696469747920746f207769746864726177e420606d696e5f61737365745f776974686472617760202d20546865206d696e696d756d2074726164652061737365742077697468647261776ee020606d696e5f636f72655f776974686472617760202d2020546865206d696e696d756d20636f72652061737365742077697468647261776e307365745f6665655f7261746504306e65775f6665655f726174654c466565526174653c5065724d696c6c696f6e3e04c020536574207468652073706f742065786368616e676520776964652066656520726174652028726f6f74206f6e6c79290110304164644c697175696469747910244163636f756e7449641c42616c616e63651c417373657449641c42616c616e63650401012050726f76696465722c20636f726520617373657420616d6f756e742c2074726164652061737365742069642c20747261646520617373657420616d6f756e743c52656d6f76654c697175696469747910244163636f756e7449641c42616c616e63651c417373657449641c42616c616e63650401012050726f76696465722c20636f726520617373657420616d6f756e742c2074726164652061737365742069642c20747261646520617373657420616d6f756e742c4173736574426f75676874141c417373657449641c41737365744964244163636f756e7449641c42616c616e63651c42616c616e636504e0204173736574536f6c642c204173736574426f756768742c2042757965722c20536f6c64416d6f756e742c20426f75676874416d6f756e74244173736574536f6c64141c417373657449641c41737365744964244163636f756e7449641c42616c616e63651c42616c616e636504e0204173736574536f6c642c204173736574426f756768742c2042757965722c20536f6c64416d6f756e742c20426f75676874416d6f756e74004844456d70747945786368616e6765506f6f6c007c496e73756666696369656e7445786368616e6765506f6f6c52657365727665004c496e73756666696369656e7442616c616e63650054496e73756666696369656e744c69717569646974790074496e73756666696369656e745472616465417373657442616c616e63650070496e73756666696369656e74436f7265417373657442616c616e6365003c43616e6e6f7454726164655a65726f006843616e6e6f744164644c6971756964697479576974685a65726f006c4d696e696d756d427579526571756972656d656e744e6f744d657400704d6178696d756d53656c6c526571756972656d656e744e6f744d657400884d696e696d756d54726164654173736574526571756972656d656e744e6f744d657400844d696e696d756d436f72654173736574526571756972656d656e744e6f744d657400844d696e696d756d4c6971756964697479526571756972656d656e744e6f744d657400884d6178696d756d54726164654173736574526571756972656d656e744e6f744d65740060417373657443616e6e6f7453776170466f72497473656c660038496e76616c69644173736574496400204f766572666c6f77003044697669646542795a65726f00152853796c6f47726f757073012853796c6f47726f7570730c1847726f7570730101021c543a3a486173687047726f75703c543a3a4163636f756e7449642c20543a3a486173683e008c0000000000000000000000000000000000000000000000000000000000000000000000002c4d656d626572736869707301010230543a3a4163636f756e744964305665633c543a3a486173683e00040004c02053746f726573207468652067726f7570206964732074686174206120757365722069732061206d656d626572206f66344d656d626572446576696365730101021c543a3a48617368745665633c28543a3a4163636f756e7449642c204465766963654964293e00040004fc2053746f72657320746865206b6e6f776e206d656d6265722f6465766963654964207475706c657320666f72206120706172746963756c61722067726f7570011c306372656174655f67726f7570102067726f75705f69641c543a3a48617368106d657461104d6574611c696e7669746573645665633c496e766974653c543a3a4163636f756e7449643e3e2867726f75705f6461746158285661756c744b65792c205661756c7456616c75652914ec204372656174657320612067726f7570207769746820616c6c20696e7669746565732c20736574207468652063616c6c65722061732061646d696e0020207765696768743a3501204f2831292e204e6f74653a206e756d626572206f66206d656d62657220696e7669746565206973206361707065642061742031352c20736f206571756976616c656e7420746f204f2831292e88204c696d69746564206e756d626572206f662073746f72616765207772697465732e2c6c656176655f67726f7570082067726f75705f69641c543a3a486173682467726f75705f6b6579404f7074696f6e3c5661756c744b65793e140501204c656176657320612067726f75702e204966206e6f206f6e65206973206c656674206174207468652067726f75702c2064656c657465207468652067726f75700020207765696768743ad0204f286d29207768657265206d20697320746865206e756d626572206f66206d656d6265727320696e20746861742067726f7570e0204c696d69746564206e756d626572206f66207265616420616e64206d6178696d756d206f6620322073746f72616765207772697465732e347570646174655f6d656d626572082067726f75705f69641c543a3a48617368106d657461104d65746114b82055706461746520746865206d6574616461746120666f72207468652063616c6c657220696e20612067726f75700020207765696768743ad0204f286d29207768657265206d20697320746865206e756d626572206f66206d656d6265727320696e20746861742067726f757090204c696d69746564206e756d626572206f66207265616420616e6420312077726974652e447570736572745f67726f75705f6d657461082067726f75705f69641c543a3a48617368106d657461104d65746114ac204d657267652f7570646174652f72656d6f7665206d6574616461746120666f72207468652067726f75700020207765696768743ae0204f286e29207768657265206e20697320746865206e756d626572206f66206d65746164617461206b657920696e2074686520696e707574c8204e756d626572206f66207265616420616e642077726974657320646570656e64696e67206f6e20696e7075742064617461386372656174655f696e7669746573082067726f75705f69641c543a3a486173681c696e7669746573645665633c496e766974653c543a3a4163636f756e7449643e3e14902053656e6420696e7669746573206f757420746f20616c6c2074686520696e76697465650020207765696768743a98204f286e29207768657265206e20697320746865206e756d626572206f6620696e766974656588204c696d69746564206e756d626572206f66207265616420616e6420777269746573346163636570745f696e76697465182067726f75705f69641c543a3a486173681c7061796c6f61646c4163636570745061796c6f61643c543a3a4163636f756e7449643e28696e766974655f6b6579104832353620696e626f785f69640c753332247369676e617475726548656432353531393a3a5369676e61747572652867726f75705f6461746158285661756c744b65792c205661756c7456616c75652914c8204163636570742074686520696e7669746174696f6e20616e64206164642061207573657220746f207468652067726f75700020207765696768743a5901204f286e202b206d29207768657265206e20697320746865206e756d626572206f662067726f7570732c20616e64206d20697320746865206e756d626572206f66206d656d6265727320696e207468652067726f7570d4204c696d69746564206e756d626572206f66207265616420616e642077726974657320746f206d756c7469706c65207461626c6573387265766f6b655f696e7669746573082067726f75705f69641c543a3a486173682c696e766974655f6b657973245665633c483235363e1454205265766f6b6520616e20696e7669746174696f6e0020207765696768743abc204f286e29207768657265206e20746865206e756d626572206f66206578697374696e6720696e7669746174696f6e88204c696d69746564206e756d626572206f66207265616420616e6420777269746573000000162053796c6f45324545012053796c6f4532454504345072654b657942756e646c65730101026028543a3a4163636f756e7449642c20446576696365496429445665633c5072654b657942756e646c653e00040000010c3c72656769737465725f64657669636508246465766963655f696420446576696365496410706b6273445665633c5072654b657942756e646c653e14842052656769737465722061206e65772064657669636520666f72206120757365720020207765696768743ad0204f286729207768657265206720697320746865206e756d626572206f662067726f75707320746865207573657220697320696ee0204d756c7469706c6520726561647320616e642077726974657320646570656e64696e67206f6e207468652075736572207374617465732e387265706c656e6973685f706b627308246465766963655f696420446576696365496410706b6273445665633c5072654b657942756e646c653e14cc204164642061206e6577205072654b65792062756e646c6520666f72206120676976656e20757365722773206465766963652e0020207765696768743a14204f2831292420312077726974652e3477697468647261775f706b62730828726571756573745f69641c543a3a486173682c77616e7465645f706b6273745665633c28543a3a4163636f756e7449642c204465766963654964293e14510120526574726965766520616e642072656d6f766520746865205072656b65792062756e646c6573206f66206120676976656e206c697374206f662075736572206163636f756e747320616e6420646576696365730020207765696768743a9901204f286e202a206b29207768657265206e206973207468652073697a65206f6620696e707574206077616e7465645f706b6273602c20616e64206b20697320746865206e756d626572206578697374696e6720504b425320696e207468652073746f72616765c4204e756d626572206f66207265616420616e64207772697465207363616c65642062792073697a65206f6620696e707574000000172853796c6f446576696365012853796c6f446576696365041c4465766963657301010230543a3a4163636f756e744964345665633c44657669636549643e00040000010000000c4c5573657249644e6f745265676973746572656404190120546865726520617265206e6f2064657669636573207265676973746572656420666f72207573657220286d697373696e6720757365725f696420696e204465766963657329384465766963654964457869737473040d012044657669636520697320616c7265616479207265676973746572656420746f207573657220286465766963655f696420697320616c726561647920696e2075736529544d61784465766963654c696d69745265616368656404ec204120757365722063616e27742068617665206d6f7265207468616e204d41585f4445564943455320726567697374657265642064657669636573182453796c6f496e626f78012453796c6f496e626f78082c4e657874496e646578657301010230543a3a4163636f756e744964244d6573736167654964001000000000001856616c75657301010230543a3a4163636f756e744964645665633c284d65737361676549642c204d657373616765293e000400000108246164645f76616c7565081c706565725f696430543a3a4163636f756e7449641476616c75651c4d6573736167651474204164642061206e65772076616c756520696e746f2073746f726167650020207765696768743a14204f2831292020312077726974653464656c6574655f76616c756573042476616c75655f696473385665633c4d65737361676549643e14702044656c65746520612076616c75652066726f6d2073746f726167650020207765696768743ac0204f286e29207768657265206e206973206e756d626572206f662076616c75657320696e207468652073746f7261676520203120777269746500000c404d61784d6573736167654c656e67746804d02041206d6573736167652063616e6e6f742062652067726561746572207468616e204d41585f4d4553534147455f4c454e475448404d617844656c6574654d65737361676504d82043616e6e6f742064656c657465206d6f7265207468616e204d41585f44454c4554455f4d4553534147455320617420612074696d65444d65737361676549644f766572666c6f7704d82043616e6e6f742061737369676e20616e79206d6f72652069647320746f206d6573736167652064756520746f206f766572666c6f77193053796c6f526573706f6e7365013053796c6f526573706f6e73650424526573706f6e7365730101025c28543a3a4163636f756e7449642c20543a3a486173682958526573706f6e73653c543a3a4163636f756e7449643e0004020001043c72656d6f76655f726573706f6e73650428726571756573745f69641c543a3a48617368148c2052656d6f766573206120726573706f6e73652066726f6d206120726571756573742e0020207765696768743a14204f2831292020312077726974650000001a2453796c6f5661756c74012453796c6f5661756c7404145661756c7401010230543a3a4163636f756e7449646c5665633c285661756c744b65792c205661756c7456616c7565293e000400000108307570736572745f76616c7565080c6b6579205661756c744b65791476616c7565285661756c7456616c7565147420496e73657274206f72207570646174652061207661756c74204b65790020207765696768743a14204f2831292020312077726974653464656c6574655f76616c75657304106b657973345665633c5661756c744b65793e14502052656d6f7665732061207661756c74206b65790020207765696768743a14204f28312920203120777269746500000c1c4d61784b65797304802043616e6e6f742073746f7265206d6f7265207468616e204d41585f4b455953384d617856616c75654c656e67746804c02043616e6e6f742073746f72652076616c7565206c6172676572207468616e204d41585f56414c55455f4c454e475448344d617844656c6574654b65797304c82043616e6e6f742064656c657465206d6f7265207468616e204d41585f44454c4554455f4b45595320617420612074696d651b2c53796c6f5061796d656e74013853796c6f4665655061796d656e740440417574686f72697365645061796572730100445665633c543a3a4163636f756e7449643e0400042901204163636f756e7473207768696368206861766520617574686f7269747920746f2070617920666f722053796c6f2066656573206f6e20626568616c66206f662074686520757365727301084c7365745f7061796d656e745f6163636f756e7404286163636f756e745f696430543a3a4163636f756e744964045d012041646420606163636f756e745f69646020617320616e20617574686f72697a65642053796c6f206665652070617965722e204f6e6c79205375646f2063616e207365742061207061796d656e74206163636f756e742e6c7265766f6b655f7061796d656e745f6163636f756e745f73656c660008310120496620746865206f726967696e206f66207468652063616c6c20697320616e20617574686f72697365642070617965722c207265766f6b652069747320617574686f7269736174696f6e2e1901204e4f54453a2054686973206d61792068616c7420616c6c2053796c6f206f7065726174696f6e7320696620746865726520617265206e6f206f74686572207061796572732e0000001c2c4174746573746174696f6e012c4174746573746174696f6e0c1c4973737565727301010230543a3a4163636f756e744964445665633c543a3a4163636f756e7449643e00040004c82041206d61702066726f6d20686f6c6465727320746f20616c6c20746865697220617474657374696e67206973737565727318546f706963730101027028543a3a4163636f756e7449642c20543a3a4163636f756e74496429545665633c4174746573746174696f6e546f7069633e00040004bc2041206d61702066726f6d2028686f6c6465722c206973737565722920746f20617474657374656420746f706963731856616c756573010102b828543a3a4163636f756e7449642c20543a3a4163636f756e7449642c204174746573746174696f6e546f70696329404174746573746174696f6e56616c75650080000000000000000000000000000000000000000000000000000000000000000004d82041206d61702066726f6d2028686f6c6465722c206973737565722c20746f7069632920746f2061747465737465642076616c7565730108247365745f636c61696d0c18686f6c64657230543a3a4163636f756e74496414746f706963404174746573746174696f6e546f7069631476616c7565404174746573746174696f6e56616c75650c8c20437265617465206f722075706461746520616e206578697374696e6720636c61696df020546865206069737375657260206f662074686520636c61696d20636f6d65732066726f6d207468652065787472696e73696320606f726967696e603d01205468652060746f7069636020616e64206076616c7565602061726520626f746820553235362077686963682063616e20686f6c6420616e792033322d6279746520656e636f64656420646174612e3072656d6f76655f636c61696d0818686f6c64657230543a3a4163636f756e74496414746f706963404174746573746174696f6e546f70696308f02052656d6f7665206120636c61696d2c206f6e6c7920746865206f726967696e616c206973737565722063616e2072656d6f7665206120636c61696d61012049662074686520606973737565726020686173206e6f742079657420697373756564206120636c61696d206f662060746f706963602c20746869732066756e6374696f6e2077696c6c2072657475726e206572726f722e010c30436c61696d4372656174656410244163636f756e744964244163636f756e744964404174746573746174696f6e546f706963404174746573746174696f6e56616c75650030436c61696d52656d6f7665640c244163636f756e744964244163636f756e744964404174746573746174696f6e546f7069630030436c61696d5570646174656410244163636f756e744964244163636f756e744964404174746573746174696f6e546f706963404174746573746174696f6e56616c75650000001d041c40436865636b5370656356657273696f6e38436865636b547856657273696f6e30436865636b47656e6573697338436865636b4d6f7274616c69747928436865636b4e6f6e63652c436865636b576569676874604368617267655472616e73616374696f6e5061796d656e74', }; diff --git a/packages/api/src/types.ts b/packages/api/src/types.ts index 70d51354e..e60e1649f 100644 --- a/packages/api/src/types.ts +++ b/packages/api/src/types.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,39 +12,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { Observable } from 'rxjs'; - import { DecoratedCennznetDerive } from '@cennznet/api/derives'; -import { ChargeTransactionPayment, u64 } from '@cennznet/types'; -import { - Callback, - CallBase, - Codec, - CodecArg, - Constructor, - IExtrinsic as IExtrinsicBase, - IKeyringPair, - RegistryTypes, - SignatureOptions, -} from '@cennznet/types/types'; -import { DeriveCustom } from '@polkadot/api-derive'; import ApiBase from '@polkadot/api/base'; -import { - ApiOptions as ApiOptionsBase, - SignerOptions as SignerOptionsBase, - SubmittableExtrinsic as SubmittableExtrinsicBase, - SubmittableExtrinsics as SubmittableExtrinsicsBase, - SubmittableResultImpl, - SubmittableResultResult, - SubmittableResultSubscription, - UnsubscribePromise, -} from '@polkadot/api/types'; -import { ProviderInterface } from '@polkadot/rpc-provider/types'; -import { AccountId, Address, Hash } from '@cennznet/types/interfaces'; -import { StorageEntry } from '@cennznet/types/primitive'; - +import { ApiOptions as ApiOptionsBase } from '@polkadot/api/types'; export * from '@polkadot/api/types'; export type ApiTypes = 'promise' | 'rxjs'; +import { ProviderInterface } from '@polkadot/rpc-provider/types'; export interface ApiOptions extends Pick> { /** @@ -53,7 +26,6 @@ export interface ApiOptions extends Pick; - sdkRxClass?: Constructor; - types?: RegistryTypes; - derives?: DeriveCustom; -} - -export interface SignerOptions extends SignerOptionsBase { - doughnut?: Uint8Array; - transactionPayment?: ChargeTransactionPayment; -} - -export interface IExtrinsic extends IExtrinsicBase { - sign(account: IKeyringPair, options: SignatureOptions): IExtrinsic; -} - -export type Derives = ReturnType['decorateDerive']> & +export type Derives = ReturnType['_decorateDerive']> & DecoratedCennznetDerive; - -interface StorageEntryBase { - at: (hash: Hash | Uint8Array | string, arg1?: CodecArg, arg2?: CodecArg) => C; - creator: StorageEntry; - hash: (arg1?: CodecArg, arg2?: CodecArg) => H; - key: (arg1?: CodecArg, arg2?: CodecArg) => string; - size: (arg1?: CodecArg, arg2?: CodecArg) => U; -} - -export interface StorageEntryObservable - extends StorageEntryBase, Observable, Observable> { - (arg1?: CodecArg, arg2?: CodecArg): Observable; - - multi: (args: (CodecArg[] | CodecArg)[]) => Observable; -} - -export interface StorageEntryPromiseOverloads { - (arg1?: CodecArg, arg2?: CodecArg): Promise; - - (callback: Callback): UnsubscribePromise; - - (arg: CodecArg, callback: Callback): UnsubscribePromise; - - (arg1: CodecArg, arg2: CodecArg, callback: Callback): UnsubscribePromise; -} - -export interface StorageEntryPromiseMulti { - (args: (CodecArg[] | CodecArg)[]): Promise; - - (args: (CodecArg[] | CodecArg)[], callback: Callback): UnsubscribePromise; -} - -export interface StorageEntryPromise - extends StorageEntryBase, Promise, Promise>, - StorageEntryPromiseOverloads { - multi: StorageEntryPromiseMulti; -} - -export declare type QueryableStorageEntry = ApiType extends 'rxjs' - ? StorageEntryObservable - : StorageEntryPromise; - -export interface SubmittableExtrinsic extends SubmittableExtrinsicBase, IExtrinsic { - send(): SubmittableResultResult; - - send(statusCb: Callback): SubmittableResultSubscription; - - sign(account: IKeyringPair, _options: Partial): this; - - signAndSend( - account: IKeyringPair | string | AccountId | Address, - options?: Partial - ): SubmittableResultResult; - - signAndSend( - account: IKeyringPair | string | AccountId | Address, - statusCb: Callback - ): SubmittableResultSubscription; - - signAndSend( - account: IKeyringPair | string | AccountId | Address, - options: Partial, - statusCb?: Callback - ): SubmittableResultSubscription; -} - -export interface SubmittableExtrinsics extends SubmittableExtrinsicsBase { - (extrinsic: Uint8Array | string): SubmittableExtrinsic; - - [index: string]: SubmittableModuleExtrinsics; -} - -export interface SubmittableExtrinsicFunction extends CallBase { - (...params: any[]): SubmittableExtrinsic; -} - -export interface SubmittableModuleExtrinsics { - [index: string]: SubmittableExtrinsicFunction; -} diff --git a/packages/api/src/util/derives.ts b/packages/api/src/util/derives.ts index 900fdf1d6..7b5e6b6e2 100644 --- a/packages/api/src/util/derives.ts +++ b/packages/api/src/util/derives.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/api/src/util/getProvider.spec.ts b/packages/api/src/util/getProvider.spec.ts index 09dc70a3a..65e200003 100644 --- a/packages/api/src/util/getProvider.spec.ts +++ b/packages/api/src/util/getProvider.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,34 +12,34 @@ // See the License for the specific language governing permissions and // limitations under the License. -import {HttpProvider, WsProvider} from '@polkadot/rpc-provider'; +import { HttpProvider, WsProvider } from '@polkadot/rpc-provider'; -import {getProvider} from './getProvider'; +import { getProvider } from './getProvider'; jest.mock('@polkadot/rpc-provider'); describe('getProvider()', () => { - it('will create a ws provider if the string is a valid url and start with ws or wss', () => { - const providerWss = getProvider('wss://xxxx0.xx.xx:9944'); - const providerWs = getProvider('ws://xxx0x.xx.xx:9944'); + it('will create a ws provider if the string is a valid url and start with ws or wss', () => { + const providerWss = getProvider('wss://xxxx0.xx.xx:9944'); + const providerWs = getProvider('ws://xxx0x.xx.xx:9944'); - expect(providerWss instanceof WsProvider).toEqual(true); - expect(providerWs instanceof WsProvider).toEqual(true); - }); + expect(providerWss instanceof WsProvider).toEqual(true); + expect(providerWs instanceof WsProvider).toEqual(true); + }); - it('will create a http provider if the string is a valid url and start with http or https', () => { - const providerHttps = getProvider('https://xxx.xx.xx:9944'); - const providerHttp = getProvider('http://xxx-xx0x.xx.xx:9944'); + it('will create a http provider if the string is a valid url and start with http or https', () => { + const providerHttps = getProvider('https://xxx.xx.xx:9944'); + const providerHttp = getProvider('http://xxx-xx0x.xx.xx:9944'); - expect(providerHttps instanceof HttpProvider).toEqual(true); - expect(providerHttp instanceof HttpProvider).toEqual(true); - }); + expect(providerHttps instanceof HttpProvider).toEqual(true); + expect(providerHttp instanceof HttpProvider).toEqual(true); + }); - it('will throw error if the string is not a valid url', () => { - expect(() => getProvider('ssss')).toThrow(/Missing protocol: sss/); - }); + it('will throw error if the string is not a valid url', () => { + expect(() => getProvider('ssss')).toThrow(/Missing protocol: sss/); + }); - it('will throw error if the protocol is not a valid protocol', () => { - expect(() => getProvider('xwss://xxx.xx.xx:9944')).toThrow(/Missing protocol: xwss:\/\/xxx.xx.xx:9944/); - }); + it('will throw error if the protocol is not a valid protocol', () => { + expect(() => getProvider('xwss://xxx.xx.xx:9944')).toThrow(/Missing protocol: xwss:\/\/xxx.xx.xx:9944/); + }); }); diff --git a/packages/api/src/util/getProvider.ts b/packages/api/src/util/getProvider.ts index afccb3ac7..d1a0a6da6 100644 --- a/packages/api/src/util/getProvider.ts +++ b/packages/api/src/util/getProvider.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/api/src/util/getTimeout.ts b/packages/api/src/util/getTimeout.ts index 13bd77eee..70357bd6a 100644 --- a/packages/api/src/util/getTimeout.ts +++ b/packages/api/src/util/getTimeout.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,12 +12,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ProviderInterface } from '@polkadot/rpc-provider/types'; -import { isFunction, isObject } from '@polkadot/util'; import { ApiOptions } from '../types'; -export function getTimeout(options: ApiOptions | ProviderInterface = {}): number { - return isObject(options) && isFunction((options as ProviderInterface).send) - ? undefined - : (options as ApiOptions).timeout; +const DEFAULT_TIMEOUT_MS = 10000; + +export function getTimeout(options: ApiOptions): number { + if (options.timeout) { + return options.timeout; + } + return DEFAULT_TIMEOUT_MS; } diff --git a/packages/api/src/util/injectPlugin.ts b/packages/api/src/util/injectPlugin.ts deleted file mode 100644 index b9e6f8295..000000000 --- a/packages/api/src/util/injectPlugin.ts +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import { IPlugin } from '@cennznet/api/types'; -import { mergeDeriveOptions } from '@cennznet/api/util/derives'; -import { TypeRegistry } from '@polkadot/types'; -import { Api } from '../Api'; -import { ApiRx } from '../ApiRx'; -import { ApiOptions } from '../types'; - -export function injectOption(options: ApiOptions, plugins: IPlugin[] = []): void { - for (const plugin of plugins) { - if (plugin.types) { - options.types = Object.assign({}, options.types, plugin.types); - } - if (plugin.derives) { - options.derives = mergeDeriveOptions(options.derives || {}, plugin.derives); - } - } -} - -export function injectPlugins(api: Api | ApiRx, plugins: IPlugin[] = []): void { - const registry = new TypeRegistry(); - for (const plugin of plugins) { - if (plugin.sdkClass && plugin.injectName && api.type === 'promise') { - Object.defineProperty(api, plugin.injectName, { - value: new plugin.sdkClass(registry, api), - }); - } - if (plugin.sdkRxClass && plugin.injectName && api.type === 'rxjs') { - Object.defineProperty(api, plugin.injectName, { - value: new plugin.sdkRxClass(registry, api), - }); - } - } -} - -export function mergePlugins(originPlugins: IPlugin[], incomePlugins: IPlugin[]) { - return incomePlugins.reduce((acc, plugin) => { - if (acc.findIndex(p => p.injectName === plugin.injectName) < 0) { - acc.push(plugin); - } - return acc; - }, originPlugins); -} diff --git a/packages/api/src/util/logging.ts b/packages/api/src/util/logging.ts index cf559a6cc..97667cc94 100644 --- a/packages/api/src/util/logging.ts +++ b/packages/api/src/util/logging.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/api/test/e2e/api.calls.e2e.ts b/packages/api/test/e2e/api.calls.e2e.ts index 4ea941420..a3725879f 100644 --- a/packages/api/test/e2e/api.calls.e2e.ts +++ b/packages/api/test/e2e/api.calls.e2e.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,9 +11,8 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -import {Hash, Block, AccountId, EventRecord, BlockNumber, Balance} from '@cennznet/types/interfaces'; -import {HeaderExtended} from '@polkadot/api-derive'; -import {AssetId, } from '@cennznet/types'; +import { Hash, Block, AccountId, EventRecord, AssetId } from '@cennznet/types' +import { HeaderExtended } from '@polkadot/api-derive'; import initApiPromise from '../../../../jest/initApiPromise'; describe('e2e api calls', () => { @@ -62,11 +61,9 @@ describe('e2e api calls', () => { expect(currentSession.currentEra.toNumber()).toBeGreaterThanOrEqual(0); expect(currentSession.currentIndex.toNumber()).toBeGreaterThanOrEqual(0); expect(currentSession.eraLength.toNumber()).toBeGreaterThanOrEqual(0); - expect(currentSession.eraProgress.toNumber()).toBeGreaterThanOrEqual(0); expect(currentSession.isEpoch).toBe(true); expect(currentSession.sessionLength.toNumber()).toBeGreaterThanOrEqual(0); expect(currentSession.sessionsPerEra.toNumber()).toBeGreaterThanOrEqual(0); - expect(currentSession.sessionProgress.toNumber()).toBeGreaterThanOrEqual(0); expect(currentSession.validatorCount.toNumber()).toBeGreaterThanOrEqual(0); }); }); diff --git a/packages/api/test/e2e/api.create.e2e.ts b/packages/api/test/e2e/api.create.e2e.ts index 6bea97e73..2abfc478d 100644 --- a/packages/api/test/e2e/api.create.e2e.ts +++ b/packages/api/test/e2e/api.create.e2e.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,28 +12,30 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { Metadata } from '@cennznet/types'; import {Api} from '../../src/Api'; import staticMetadata from '../../src/staticMetadata'; import config from '../../../../config'; -import { Metadata } from '@cennznet/types'; describe('e2e api create', () => { let api; let incorrectApi; - it('For Azalea chain - checking if static metadata is same as latest', async () => { - const provider = 'wss://cennznet.unfrastructure.io/public/ws'; // Use Azalea + it('For local chain - checking if static metadata is same as latest', async () => { + const provider = 'ws://localhost:9944'; // Use local dev chain api = await Api.create({provider}); const meta = staticMetadata[`${api.genesisHash.toHex()}-${api.runtimeVersion.specVersion.toNumber()}`]; expect(meta).toBeDefined(); - expect(api.runtimeMetadata.toJSON()).toEqual(new Metadata(api.registry, meta).toJSON()); + expect(new Metadata(api.registry, meta).asLatest).toEqual(api.runtimeMetadata.asLatest); }); afterEach(async () => { try { - api.disconnect(); + if (api) { + await api.disconnect(); + } if (incorrectApi) { - incorrectApi.disconnect(); + await incorrectApi.disconnect(); } incorrectApi = null; } catch (e) {} @@ -60,7 +62,8 @@ describe('e2e api create', () => { 'Timed out in 1 ms.'); }); - it('Use custom metadata and test it is used when creating API instance', async () => { + // TODO - enable and update this test after runtime upgrade on Azalea + it.skip('Use custom metadata and test it is used when creating API instance', async () => { const provider = 'wss://cennznet.unfrastructure.io/public/ws'; // Use Azalea const meta = '0x6d6574610b7c1853797374656d011853797374656d3c304163636f756e744e6f6e6365010102244163636f756e74496414496e64657800200000000000000000003845787472696e736963436f756e7400000c7533320400004c416c6c45787472696e7369637357656967687400001857656967687404000040416c6c45787472696e736963734c656e00000c75333204000024426c6f636b486173680101052c426c6f636b4e756d626572104861736800800000000000000000000000000000000000000000000000000000000000000000003445787472696e736963446174610101050c75333214427974657300040000184e756d62657201002c426c6f636b4e756d62657210000000000028506172656e744861736801001048617368800000000000000000000000000000000000000000000000000000000000000000003845787472696e73696373526f6f740100104861736880000000000000000000000000000000000000000000000000000000000000000000184469676573740100204469676573744f66040000184576656e74730100405665633c4576656e745265636f72643e040000284576656e74436f756e740100284576656e74496e6465781000000000002c4576656e74546f706963730101021048617368745665633c28426c6f636b4e756d6265722c4576656e74496e646578293e00040000484c61737452756e74696d65557067726164650000584c61737452756e74696d6555706772616465496e666f04000038457865637574696f6e5068617365000014506861736504000001242866696c6c5f626c6f636b04185f726174696f1c50657262696c6c001872656d61726b041c5f72656d61726b14427974657300387365745f686561705f7061676573041470616765730c75363400207365745f636f64650410636f6465144279746573005c7365745f636f64655f776974686f75745f636865636b730410636f6465144279746573005c7365745f6368616e6765735f747269655f636f6e666967044c6368616e6765735f747269655f636f6e666967804f7074696f6e3c4368616e67657354726965436f6e66696775726174696f6e3e002c7365745f73746f7261676504146974656d73345665633c4b657956616c75653e00306b696c6c5f73746f7261676504106b657973205665633c4b65793e002c6b696c6c5f70726566697804187072656669780c4b657900010c4045787472696e7369635375636365737304304469737061746368496e666f003c45787472696e7369634661696c6564083444697370617463684572726f72304469737061746368496e666f002c436f6465557064617465640000000c3c496e76616c6964537065634e616d6500685370656356657273696f6e4e65656473546f496e63726561736500744661696c6564546f4578747261637452756e74696d6556657273696f6e001c5574696c697479000114146261746368041463616c6c73245665633c43616c6c3e001861735f7375620814696e6465780c7531361063616c6c1043616c6c002061735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573385665633c4163636f756e7449643e3c6d617962655f74696d65706f696e74444f7074696f6e3c54696d65706f696e743e1063616c6c1043616c6c0040617070726f76655f61735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573385665633c4163636f756e7449643e3c6d617962655f74696d65706f696e74444f7074696f6e3c54696d65706f696e743e2463616c6c5f686173681c5b75383b33325d003c63616e63656c5f61735f6d756c746910247468726573686f6c640c753136446f746865725f7369676e61746f72696573385665633c4163636f756e7449643e2474696d65706f696e742454696d65706f696e742463616c6c5f686173681c5b75383b33325d000118404261746368496e746572727570746564080c7533323444697370617463684572726f7200384261746368436f6d706c6574656400002c4e65774d756c746973696708244163636f756e744964244163636f756e74496400404d756c7469736967417070726f76616c0c244163636f756e7449642454696d65706f696e74244163636f756e74496400404d756c7469736967457865637574656410244163636f756e7449642454696d65706f696e74244163636f756e744964384469737061746368526573756c7400444d756c746973696743616e63656c6c65640c244163636f756e7449642454696d65706f696e74244163636f756e74496400000010426162650001000000002454696d657374616d70012454696d657374616d70080c4e6f770100184d6f6d656e742000000000000000000024446964557064617465010010626f6f6c04000001040c736574040c6e6f773c436f6d706163743c4d6f6d656e743e000004344d696e696d756d506572696f64184d6f6d656e7420c40900000000000000002c4174746573746174696f6e000108247365745f636c61696d0c18686f6c646572244163636f756e74496414746f706963404174746573746174696f6e546f7069631476616c7565404174746573746174696f6e56616c7565003072656d6f76655f636c61696d0818686f6c646572244163636f756e74496414746f706963404174746573746174696f6e546f70696300010c30436c61696d4372656174656410244163636f756e744964244163636f756e744964404174746573746174696f6e546f706963404174746573746174696f6e56616c75650030436c61696d52656d6f7665640c244163636f756e744964244163636f756e744964404174746573746174696f6e546f7069630030436c61696d5570646174656410244163636f756e744964244163636f756e744964404174746573746174696f6e546f706963404174746573746174696f6e56616c7565000000485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7404444e6578744665654d756c7469706c6965720100284d756c7469706c69657220000000000000000000000008485472616e73616374696f6e426173654665652442616c616e63654f66400010a5d4e8000000000000000000000000485472616e73616374696f6e427974654665652442616c616e63654f664000e40b5402000000000000000000000000003047656e657269634173736574013047656e6572696341737365742434546f74616c49737375616e63650101051c417373657449641c42616c616e6365004000000000000000000000000000000000002c4672656542616c616e63650102051c41737365744964244163636f756e7449641c42616c616e6365024000000000000000000000000000000000003c526573657276656442616c616e63650102051c41737365744964244163636f756e7449641c42616c616e6365024000000000000000000000000000000000002c4e6578744173736574496401001c417373657449641000000000002c5065726d697373696f6e730101051c41737365744964485065726d697373696f6e56657273696f6e7300100000000000144c6f636b73010102244163636f756e744964405665633c42616c616e63654c6f636b3e00040000385374616b696e674173736574496401001c417373657449641000000000003c5370656e64696e674173736574496401001c417373657449641000000000002441737365744d6574610101051c41737365744964244173736574496e666f0008000400011c186372656174650c146f776e6572244163636f756e7449641c6f7074696f6e733041737365744f7074696f6e7310696e666f244173736574496e666f00207472616e736665720c2061737365745f696440436f6d706163743c417373657449643e08746f244163636f756e74496418616d6f756e7440436f6d706163743c42616c616e63653e00447570646174655f7065726d697373696f6e082061737365745f696440436f6d706163743c417373657449643e386e65775f7065726d697373696f6e405065726d697373696f6e4c617465737400447570646174655f61737365745f696e666f082061737365745f696440436f6d706163743c417373657449643e10696e666f244173736574496e666f00106d696e740c2061737365745f696440436f6d706163743c417373657449643e08746f244163636f756e74496418616d6f756e741c42616c616e636500106275726e0c2061737365745f696440436f6d706163743c417373657449643e18746172676574244163636f756e74496418616d6f756e741c42616c616e6365003c6372656174655f72657365727665640c2061737365745f69641c417373657449641c6f7074696f6e733041737365744f7074696f6e7310696e666f244173736574496e666f0001181c437265617465640c1c41737365744964244163636f756e7449643041737365744f7074696f6e73002c5472616e73666572726564101c41737365744964244163636f756e744964244163636f756e7449641c42616c616e636500445065726d697373696f6e55706461746564081c41737365744964405065726d697373696f6e4c617465737400404173736574496e666f55706461746564081c41737365744964244173736574496e666f00184d696e7465640c1c41737365744964244163636f756e7449641c42616c616e636500184275726e65640c1c41737365744964244163636f756e7449641c42616c616e6365000038404173736574496445786861757374656400285a65726f416d6f756e7400484e6f5570646174655065726d697373696f6e00404e6f4d696e745065726d697373696f6e00404e6f4275726e5065726d697373696f6e0050546f74616c4d696e74696e674f766572666c6f77004c467265654d696e74696e674f766572666c6f770054546f74616c4275726e696e67556e646572666c6f770050467265654275726e696e67556e646572666c6f77003441737365744964457869737473003c417373657449644e6f744578697374004c496e73756666696369656e7442616c616e636500405472616e736665724f766572666c6f7700544c69717569646974795265737472696374696f6e73001c5374616b696e6700014810626f6e640c28636f6e74726f6c6c6572304c6f6f6b7570536f757263651476616c756548436f6d706163743c42616c616e63654f663e1470617965654452657761726444657374696e6174696f6e0028626f6e645f657874726104386d61785f6164646974696f6e616c48436f6d706163743c42616c616e63654f663e0018756e626f6e64041476616c756548436f6d706163743c42616c616e63654f663e004477697468647261775f756e626f6e64656400002076616c6964617465041470726566733856616c696461746f72507265667300206e6f6d696e617465041c74617267657473445665633c4c6f6f6b7570536f757263653e00146368696c6c0000247365745f7061796565041470617965654452657761726444657374696e6174696f6e00387365745f636f6e74726f6c6c65720428636f6e74726f6c6c6572304c6f6f6b7570536f75726365004c7365745f76616c696461746f725f636f756e74040c6e657730436f6d706163743c7533323e0034666f7263655f6e6f5f65726173000034666f7263655f6e65775f6572610000407365745f6d696e696d756d5f626f6e64041476616c75652442616c616e63654f6600447365745f696e76756c6e657261626c6573042876616c696461746f7273385665633c4163636f756e7449643e0034666f7263655f756e7374616b6504147374617368244163636f756e7449640050666f7263655f6e65775f6572615f616c7761797300005463616e63656c5f64656665727265645f736c617368080c65726120457261496e64657834736c6173685f696e6469636573205665633c7533323e00187265626f6e64041476616c756548436f6d706163743c42616c616e63654f663e00011c18526577617264083452657761726442616c616e63653452657761726442616c616e6365002852657761726446656573083452657761726442616c616e63650c7533320014536c61736808244163636f756e7449641c42616c616e63650058496e76756c6e657261626c654e6f74536c617368656408244163636f756e7449641c50657262696c6c00684f6c64536c617368696e675265706f7274446973636172646564043053657373696f6e496e6465780040536574496e76756c6e657261626c657304385665633c4163636f756e7449643e00385365744d696e696d756d426f6e64041c42616c616e63650000001c53657373696f6e000108207365745f6b65797308106b657973104b6579731470726f6f66144279746573002870757267655f6b65797300000104284e657753657373696f6e043053657373696f6e496e64657800000028417574686f7273686970000104287365745f756e636c657304286e65775f756e636c65732c5665633c4865616465723e000000001c436f756e63696c0001142c7365745f6d656d62657273082c6e65775f6d656d62657273385665633c4163636f756e7449643e147072696d65444f7074696f6e3c4163636f756e7449643e001c65786563757465042070726f706f73616c2050726f706f73616c001c70726f706f736508247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c2050726f706f73616c0010766f74650c2070726f706f73616c104861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c0014636c6f7365082070726f706f73616c104861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e00011c2050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e740014566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740020417070726f766564041048617368002c446973617070726f7665640410486173680020457865637574656408104861736810626f6f6c00384d656d626572457865637574656408104861736810626f6f6c0018436c6f7365640c10486173682c4d656d626572436f756e742c4d656d626572436f756e7400000048546563686e6963616c436f6d6d69747465650001142c7365745f6d656d62657273082c6e65775f6d656d62657273385665633c4163636f756e7449643e147072696d65444f7074696f6e3c4163636f756e7449643e001c65786563757465042070726f706f73616c2050726f706f73616c001c70726f706f736508247468726573686f6c6450436f6d706163743c4d656d626572436f756e743e2070726f706f73616c2050726f706f73616c0010766f74650c2070726f706f73616c104861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e1c617070726f766510626f6f6c0014636c6f7365082070726f706f73616c104861736814696e64657858436f6d706163743c50726f706f73616c496e6465783e00011c2050726f706f73656410244163636f756e7449643450726f706f73616c496e64657810486173682c4d656d626572436f756e740014566f74656414244163636f756e744964104861736810626f6f6c2c4d656d626572436f756e742c4d656d626572436f756e740020417070726f766564041048617368002c446973617070726f7665640410486173680020457865637574656408104861736810626f6f6c00384d656d626572457865637574656408104861736810626f6f6c0018436c6f7365640c10486173682c4d656d626572436f756e742c4d656d626572436f756e7400000024456c656374696f6e7300011810766f74650814766f746573385665633c4163636f756e7449643e1476616c756548436f6d706163743c42616c616e63654f663e003072656d6f76655f766f7465720000507265706f72745f646566756e63745f766f7465720418746172676574304c6f6f6b7570536f7572636500407375626d69745f63616e64696461637900004872656e6f756e63655f63616e64696461637900003472656d6f76655f6d656d626572040c77686f304c6f6f6b7570536f757263650001141c4e65775465726d04605665633c284163636f756e7449642c42616c616e6365293e0024456d7074795465726d0000304d656d6265724b69636b656404244163636f756e744964003c4d656d62657252656e6f756e63656404244163636f756e7449640034566f7465725265706f727465640c244163636f756e744964244163636f756e74496410626f6f6c0000004c546563686e6963616c4d656d6265727368697000011c286164645f6d656d626572040c77686f244163636f756e744964003472656d6f76655f6d656d626572040c77686f244163636f756e744964002c737761705f6d656d626572081872656d6f7665244163636f756e7449640c616464244163636f756e744964003472657365745f6d656d62657273041c6d656d62657273385665633c4163636f756e7449643e00286368616e67655f6b6579040c6e6577244163636f756e74496400247365745f7072696d65040c77686f244163636f756e744964002c636c6561725f7072696d65000001182c4d656d62657241646465640000344d656d62657252656d6f7665640000384d656d62657273537761707065640000304d656d6265727352657365740000284b65794368616e67656400001444756d6d79042c5068616e746f6d446174610000003c46696e616c697479547261636b65720001042866696e616c5f68696e74041068696e7450436f6d706163743c426c6f636b4e756d6265723e000000001c4772616e647061000104487265706f72745f6d69736265686176696f72041c5f7265706f727414427974657300010c384e6577417574686f7269746965730434417574686f726974794c697374001850617573656400001c526573756d6564000000002054726561737572790001203470726f706f73655f7370656e64081476616c756548436f6d706163743c42616c616e63654f663e2c62656e6566696369617279304c6f6f6b7570536f75726365003c72656a6563745f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e0040617070726f76655f70726f706f73616c042c70726f706f73616c5f696458436f6d706163743c50726f706f73616c496e6465783e00387265706f72745f617765736f6d650818726561736f6e1442797465730c77686f244163636f756e744964002c726574726163745f7469700410686173681048617368001c7469705f6e65770c18726561736f6e1442797465730c77686f244163636f756e744964247469705f76616c75652442616c616e63654f66000c7469700810686173681048617368247469705f76616c75652442616c616e63654f660024636c6f73655f746970041068617368104861736800012c2050726f706f736564043450726f706f73616c496e64657800205370656e64696e67041c42616c616e6365001c417761726465640c3450726f706f73616c496e6465781c42616c616e6365244163636f756e744964002052656a6563746564083450726f706f73616c496e6465781c42616c616e636500144275726e74041c42616c616e63650020526f6c6c6f766572041c42616c616e6365001c4465706f736974041c42616c616e636500184e65775469700410486173680028546970436c6f73696e670410486173680024546970436c6f7365640c1048617368244163636f756e7449641c42616c616e6365003054697052657472616374656404104861736800000024436f6e7472616374730001143c7570646174655f7363686564756c6504207363686564756c65205363686564756c6500207075745f636f646508246761735f6c696d697430436f6d706163743c4761733e10636f6465144279746573001063616c6c101064657374304c6f6f6b7570536f757263651476616c756548436f6d706163743c42616c616e63654f663e246761735f6c696d697430436f6d706163743c4761733e1064617461144279746573002c696e7374616e74696174651024656e646f776d656e7448436f6d706163743c42616c616e63654f663e246761735f6c696d697430436f6d706163743c4761733e24636f64655f6861736820436f6465486173681064617461144279746573003c636c61696d5f737572636861726765081064657374244163636f756e744964286175785f73656e646572444f7074696f6e3c4163636f756e7449643e000124205472616e736665720c244163636f756e744964244163636f756e7449641c42616c616e63650030496e7374616e74696174656408244163636f756e744964244163636f756e744964001c4576696374656408244163636f756e74496410626f6f6c0020526573746f72656414244163636f756e744964244163636f756e74496410486173681c42616c616e636510626f6f6c0028436f646553746f726564041048617368003c5363686564756c6555706461746564040c753332004c44656c656761746564446973706174636865640c244163636f756e74496420446f7567686e757410626f6f6c00284469737061746368656408244163636f756e74496410626f6f6c0044436f6e7472616374457865637574696f6e08244163636f756e744964144279746573000000105375646f00010c107375646f041063616c6c1043616c6c001c7365745f6b6579040c6e6577304c6f6f6b7570536f75726365001c7375646f5f6173080c77686f304c6f6f6b7570536f757263651063616c6c1043616c6c00010c1453756469640410626f6f6c00284b65794368616e67656404244163636f756e74496400285375646f4173446f6e650410626f6f6c00000020496d4f6e6c696e6500010424686561727462656174082468656172746265617424486561727462656174285f7369676e6174757265245369676e617475726500010c444865617274626561745265636569766564042c417574686f726974794964001c416c6c476f6f6400002c536f6d654f66666c696e6504605665633c4964656e74696669636174696f6e5475706c653e00000048417574686f72697479446973636f76657279000100000000204f6666656e63657300010001041c4f6666656e636508104b696e64384f706171756554696d65536c6f740000006052616e646f6d6e657373436f6c6c656374697665466c69700001000000002853796c6f47726f757073012853796c6f47726f7570730c1847726f75707301010210486173681447726f7570008c0000000000000000000000000000000000000000000000000000000000000000000000002c4d656d6265727368697073010102244163636f756e744964245665633c486173683e00040000344d656d626572446576696365730101021048617368645665633c284163636f756e7449642c4465766963654964293e00040000011c306372656174655f67726f7570102067726f75705f69641048617368106d657461104d6574611c696e76697465732c5665633c496e766974653e2867726f75705f6461746154285661756c744b65792c5661756c7456616c756529002c6c656176655f67726f7570082067726f75705f696410486173682467726f75705f6b6579404f7074696f6e3c5661756c744b65793e00347570646174655f6d656d626572082067726f75705f69641048617368106d657461104d65746100447570736572745f67726f75705f6d657461082067726f75705f69641048617368106d657461104d65746100386372656174655f696e7669746573082067726f75705f696410486173681c696e76697465732c5665633c496e766974653e00346163636570745f696e76697465182067726f75705f696410486173681c7061796c6f6164344163636570745061796c6f616428696e766974655f6b6579104832353620696e626f785f69640c753332247369676e617475726548656432353531393a3a5369676e61747572652867726f75705f6461746154285661756c744b65792c5661756c7456616c75652900387265766f6b655f696e7669746573082067726f75705f696410486173682c696e766974655f6b657973245665633c483235363e000000002053796c6f45324545012053796c6f4532454504345072654b657942756e646c657301010250284163636f756e7449642c446576696365496429445665633c5072654b657942756e646c653e00040000010c3c72656769737465725f64657669636508246465766963655f696420446576696365496410706b6273445665633c5072654b657942756e646c653e00387265706c656e6973685f706b627308246465766963655f696420446576696365496410706b6273445665633c5072654b657942756e646c653e003477697468647261775f706b62730828726571756573745f696410486173682c77616e7465645f706b6273645665633c284163636f756e7449642c4465766963654964293e000000002853796c6f446576696365012853796c6f446576696365041c44657669636573010102244163636f756e744964345665633c44657669636549643e00040000010000000c4c5573657249644e6f74526567697374657265640038446576696365496445786973747300544d61784465766963654c696d697452656163686564002453796c6f496e626f78012453796c6f496e626f78082c4e657874496e6465786573010102244163636f756e744964244d6573736167654964001000000000001856616c756573010102244163636f756e744964605665633c284d65737361676549642c4d657373616765293e000400000108246164645f76616c7565081c706565725f6964244163636f756e7449641476616c75651c4d657373616765003464656c6574655f76616c756573042476616c75655f696473385665633c4d65737361676549643e0000000c404d61784d6573736167654c656e67746800404d617844656c6574654d65737361676500444d65737361676549644f766572666c6f77003053796c6f526573706f6e7365013053796c6f526573706f6e73650424526573706f6e73657301010240284163636f756e7449642c486173682920526573706f6e73650004020001043c72656d6f76655f726573706f6e73650428726571756573745f69641048617368000000002453796c6f5661756c74012453796c6f5661756c7404145661756c74010102244163636f756e744964685665633c285661756c744b65792c5661756c7456616c7565293e000400000108307570736572745f76616c7565080c6b6579205661756c744b65791476616c7565285661756c7456616c7565003464656c6574655f76616c75657304106b657973345665633c5661756c744b65793e0000000c1c4d61784b65797300384d617856616c75654c656e67746800344d617844656c6574654b657973002843656e6e7a7853706f74012843656e6e7a7853706f74102c436f72654173736574496401001c417373657449641000000000003844656661756c744665655261746501001c4665655261746540000000000000000000000000000000000038546f74616c4c69717569646974790101052c45786368616e67654b65791c42616c616e636500400000000000000000000000000000000000404c697175696469747942616c616e63650102052c45786368616e67654b6579244163636f756e7449641c42616c616e6365024000000000000000000000000000000000000114246275795f61737365741424726563697069656e74444f7074696f6e3c4163636f756e7449643e3461737365745f746f5f73656c6c40436f6d706163743c417373657449643e3061737365745f746f5f62757940436f6d706163743c417373657449643e286275795f616d6f756e7440436f6d706163743c42616c616e63653e306d6178696d756d5f73656c6c40436f6d706163743c42616c616e63653e002873656c6c5f61737365741424726563697069656e74444f7074696f6e3c4163636f756e7449643e3461737365745f746f5f73656c6c40436f6d706163743c417373657449643e3061737365745f746f5f62757940436f6d706163743c417373657449643e2c73656c6c5f616d6f756e7440436f6d706163743c42616c616e63653e2c6d696e696d756d5f62757940436f6d706163743c42616c616e63653e00346164645f6c6971756964697479102061737365745f696440436f6d706163743c417373657449643e346d696e5f6c697175696469747940436f6d706163743c42616c616e63653e406d61785f61737365745f616d6f756e7440436f6d706163743c42616c616e63653e2c636f72655f616d6f756e7440436f6d706163743c42616c616e63653e004072656d6f76655f6c6971756964697479102061737365745f696440436f6d706163743c417373657449643e546c69717569646974795f746f5f776974686472617740436f6d706163743c42616c616e63653e486d696e5f61737365745f776974686472617740436f6d706163743c42616c616e63653e446d696e5f636f72655f776974686472617740436f6d706163743c42616c616e63653e00307365745f6665655f7261746504306e65775f6665655f726174651c4665655261746500010c304164644c697175696469747910244163636f756e7449641c42616c616e63651c417373657449641c42616c616e6365003c52656d6f76654c697175696469747910244163636f756e7449641c42616c616e63651c417373657449641c42616c616e6365003441737365745075726368617365141c417373657449641c41737365744964244163636f756e7449641c42616c616e63651c42616c616e636500004844456d70747945786368616e6765506f6f6c007c496e73756666696369656e7445786368616e6765506f6f6c52657365727665004c496e73756666696369656e7442616c616e63650054496e73756666696369656e744c69717569646974790074496e73756666696369656e745472616465417373657442616c616e63650070496e73756666696369656e74436f7265417373657442616c616e6365003c43616e6e6f7454726164655a65726f006843616e6e6f744164644c6971756964697479576974685a65726f006c4d696e696d756d427579526571756972656d656e744e6f744d657400704d6178696d756d53656c6c526571756972656d656e744e6f744d657400884d696e696d756d54726164654173736574526571756972656d656e744e6f744d657400844d696e696d756d436f72654173736574526571756972656d656e744e6f744d657400844d696e696d756d4c6971756964697479526571756972656d656e744e6f744d657400884d6178696d756d54726164654173736574526571756972656d656e744e6f744d65740060417373657443616e6e6f7453776170466f72497473656c660038496e76616c69644173736574496400204f766572666c6f77003044697669646542795a65726f001c5363616c696e6700000000000420544f7074696f6e5369676e6564457874656e73696f6e30436865636b56657273696f6e30436865636b47656e6573697320436865636b45726128436865636b4e6f6e63652c436865636b576569676874604368617267655472616e73616374696f6e5061796d656e7448436865636b426c6f636b4761734c696d6974'; const genesisHash_runtimeVersion = '0x0d0971c150a9741b8719b3c6c9c2e96ec5b2e3fb83641af868e6650f3e263ef0-36'; diff --git a/packages/api/test/e2e/cennzx.e2e.ts b/packages/api/test/e2e/cennzx.e2e.ts index d6337776b..cd06755ef 100644 --- a/packages/api/test/e2e/cennzx.e2e.ts +++ b/packages/api/test/e2e/cennzx.e2e.ts @@ -1,8 +1,21 @@ +// Copyright 2019-2020 Centrality Investments Limited +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + import testKeyring from '@polkadot/keyring/testing'; -import {cryptoWaitReady} from '@polkadot/util-crypto'; +import { cryptoWaitReady } from '@polkadot/util-crypto'; import initApiPromise from '../../../../jest/initApiPromise'; -import {Balance} from '@cennznet/types/interfaces'; -import {generateTransactionPayment} from '@cennznet/types/runtime/transaction-payment/TransactionPayment'; +import { Balance } from '@cennznet/types'; const CENNZ = '16000'; const CENTRAPAY = '16001'; const PLUG = '16003'; @@ -91,7 +104,7 @@ describe('CENNZX RPC calls testing', () => { it('Query estimated fee in CENTRAPAY(default fee currency)', async done => { const assetBalanceBefore: Balance = await api.query.genericAsset.freeBalance(CENTRAPAY, alice.address); const extrinsic = api.tx.genericAsset - .transfer(PLUG, bob.address, 10000); + .transfer(CENNZ, bob.address, 10000); const feeFromQuery = await api.derive.fees.estimateFee({extrinsic, userFeeAssetId:CENTRAPAY}); await extrinsic.signAndSend(alice, async ({events, status}) => { @@ -108,20 +121,23 @@ describe('CENNZX RPC calls testing', () => { it('Query estimated fee in different currency (CENNZ)', async done => { const maxPayment = '50000000000000000'; - const transactionPayment = generateTransactionPayment({tip:0, assetId:CENNZ, maxPayment}); - const extrinsic = api.tx.genericAsset - .transfer(PLUG, bob.address, 10000); + const assetId = api.registry.createType('AssetId', CENNZ); + const feeExchange = api.registry.createType('FeeExchange', {assetId, maxPayment}, 0); + const transactionPayment = api.registry.createType('ChargeTransactionPayment', {tip: 0, feeExchange}); + const extrinsic = api.tx.treasury.reportAwesome('Fantastic Work', alice.address); + const feeFromQuery = await api.derive.fees.estimateFee({extrinsic, userFeeAssetId: CENNZ, maxPayment}); await extrinsic.signAndSend(alice, {transactionPayment}, async ({events, status}) => { if (status.isFinalized) { events.forEach(({phase, event: {data, method, section}}) => { - if (method === 'AssetPurchase') { + if (method === 'AssetBought') { const price = data[3]; + console.log('\t', phase.toString(), `: ${section}.${method}`, data.toString()); + expect(feeFromQuery).toEqual(price); + done(); } - console.log('\t', phase.toString(), `: ${section}.${method}`, data.toString()); }); - done(); } }); }); @@ -137,7 +153,7 @@ describe('CENNZX RPC calls testing', () => { console.log('Amount of core in PLUG pool:', poolCoreAssetBalance.toString()); // How much CENTRAPAY will it cost to buy 100 (amount) PLUG await expect(api.rpc.cennzx.buyPrice(CENTRAPAY, amount, PLUG)).rejects.toThrow( - 'buyPrice(AssetToBuy: AssetId, Amount: Balance, AssetToPay: AssetId): Balance:: 2: Cannot exchange for requested amount.:' + '2: Cannot exchange for requested amount.:' ); done(); }); @@ -147,7 +163,7 @@ describe('CENNZX RPC calls testing', () => { // when I sell 1000(amount) PLUG, how much of CENTRAPAY will I get in return await expect(api.rpc.cennzx .sellPrice(PLUG, amount, CENTRAPAY)).rejects.toThrow( - 'sellPrice(AssetToSell: AssetId, Amount: Balance, AssetToPayout: AssetId): Balance:: 2: Cannot exchange by requested amount.' + '2: Cannot exchange by requested amount.' ); done(); }); @@ -159,7 +175,7 @@ describe('CENNZX RPC calls testing', () => { const extrinsic = api.tx.genericAsset .transfer(CENNZ, bob.address, 10000); const feeFromQuery = await api.derive.fees.estimateFee({extrinsic, userFeeAssetId:PLUG, maxPayment}); - expect(feeFromQuery).toEqual(new Error('buyPrice(AssetToBuy: AssetId, Amount: Balance, AssetToPay: AssetId): Balance:: 2: Cannot exchange for requested amount.: ')); + expect(feeFromQuery).toEqual(new Error('2: Cannot exchange for requested amount.: ')); done(); }); }); diff --git a/packages/api/test/e2e/doughnut.e2e.ts b/packages/api/test/e2e/doughnut.e2e.ts deleted file mode 100644 index c9fd0ead9..000000000 --- a/packages/api/test/e2e/doughnut.e2e.ts +++ /dev/null @@ -1,266 +0,0 @@ -// Copyright 2020 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import { hexToU8a } from '@polkadot/util'; -import { CENNZnut as encodeCennznut } from '@cennznet/cennznut-wasm'; -import { Doughnut as DoughnutMaker } from '@plugnet/doughnut-wasm'; -import { Api } from '../../src/Api'; -import { Keypair } from '@polkadot/util-crypto/types'; -import testKeyring from '@polkadot/keyring/testing'; -import { KeyringPair } from '@polkadot/keyring/types'; -import initApiPromise from '../../../../jest/initApiPromise'; -import { cryptoWaitReady } from '@polkadot/util-crypto'; -import Doughnut from '@cennznet/types/Doughnut'; - -const [CENNZ, CPAY] = [16_000, 16_001]; - -describe('Doughnut for CennznetExtrinsic', () => { - let aliceKeyPair = { - secretKey: hexToU8a('0x98319d4ff8a9508c4bb0cf0b5a78d760a0b2082c02775e6e82370816fedfff48925a225d97aa00682d6a59b95b18780c10d7032336e88f3442b42361f4a66011'), - publicKey: hexToU8a('0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d'), - address: '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY' - }; - - let bobKeyPair = { - secretKey: hexToU8a('0x081ff694633e255136bdb456c20a5fc8fed21f8b964c11bb17ff534ce80ebd5941ae88f85d0c1bfc37be41c904e1dfc01de8c8067b0d6d5df25dd1ac0894a325'), - publicKey: hexToU8a('0x8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48'), - address: '5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty' - }; - - let api: Api; - let bob, charlie, dave; - - beforeAll(async () => { - api = await initApiPromise(); - await cryptoWaitReady(); - const keyring = testKeyring({ type: 'sr25519' }); - bob = keyring.addFromUri('//Bob'); - charlie = keyring.addFromUri('//Charlie'); - dave = keyring.addFromUri('//Dave'); - }); - - afterAll(async () => { - await api.disconnect(); - }) - - it('Delegates a GA transfer from alice to charlie when extrinsic is signed by bob', async done => { - - let doughnut = makeDoughnut( - api.registry, - { - issuer: aliceKeyPair, - holder: bob, - permissions: { 'cennznet': makeCennznut('generic-asset', 'transfer') }, - } - ); - const receiver = dave.address; - const amount = 8_767_535; - - const tx = api.tx.genericAsset.transfer(CENNZ, receiver, amount); - await tx.signAndSend(bob, { doughnut }, async ({ events, status }) => { - if (status.isFinalized) { - expect( - events.find(event => event.event.data.method === 'ExtrinsicSuccess') - ).toBeTruthy(); - done(); - } - }); - }); - - it('Fails when charlie uses bob\'s doughnut', async () => { - let doughnut = makeDoughnut( - api.registry, - { - issuer: aliceKeyPair, - holder: bob, - permissions: { 'cennznet': makeCennznut('generic-asset', 'transfer') }, - } - ); - const tx = api.tx.genericAsset.transfer(CPAY, charlie.address, 10_000); - - await expect(tx.signAndSend(charlie, { doughnut }, () => { })) - .rejects - // https://github.com/cennznet/cennznet/wiki/Transaction-Error-Codes#doughnut-usage - .toThrow('submitAndWatchExtrinsic(extrinsic: Extrinsic): ExtrinsicStatus:: 1010: Invalid Transaction: {"Custom":180}') - }); - - it('Fails when cennznut does not authorize the extrinsic method', async done => { - let doughnut = makeDoughnut( - api.registry, - { - issuer: aliceKeyPair, - holder: bob, - permissions: { 'cennznet': makeCennznut('generic-asset', 'mint') }, - } - ); - const tx = api.tx.genericAsset.transfer(CPAY, charlie.address, 10_000); - - await tx.signAndSend(bob, { doughnut }, async ({ events, status }) => { - if (status.isFinalized) { - expect( - events.find(event => event.event.data.method === 'ExtrinsicFailed') - ).toBeTruthy(); - done(); - } - }); - }); - - it('Fails when cennznut does not authorize the extrinsic module', async done => { - let badDoughnut = makeDoughnut( - api.registry, - { - issuer: aliceKeyPair, - holder: bob, - permissions: { 'cennznet': makeCennznut('balance', 'transfer') }, - } - ); - - const tx = api.tx.genericAsset.transfer(CPAY, charlie.address, 10_000); - await tx.signAndSend(bob, { doughnut: badDoughnut }, async ({ events, status }) => { - if (status.isFinalized) { - expect( - events.find(event => event.event.data.method === 'ExtrinsicFailed') - ).toBeTruthy(); - done(); - } - }); - }); - - it('Fails when doughnut expires', async done => { - let doughnut = await makeDoughnut( - api.registry, - { - issuer: aliceKeyPair, - holder: bob, - permissions: {'cennznet': makeCennznut('balance', 'transfer')}, - expiry: 100, - }, - ); - - const tx = api.tx.genericAsset.transfer(CENNZ, charlie.address, 10_000); - await expect(tx.signAndSend(bob, { doughnut }, () => { - // https://github.com/cennznet/cennznet/wiki/Transaction-Error-Codes#doughnut-usage - })).rejects.toThrow('submitAndWatchExtrinsic(extrinsic: Extrinsic): ExtrinsicStatus:: 1010: Invalid Transaction: {"Custom":181}'); - done(); - }); - - it('Fails when doughnut not signed', async done => { - let doughnut = await makeDoughnut( - api.registry, - { - issuer: aliceKeyPair, - holder: bob, - permissions: {'cennznet': makeCennznut('balance', 'transfer')}, - isSigned: false, - }, - ); - - const tx = api.tx.genericAsset.transfer(CENNZ, charlie.address, 10_000); - await expect(tx.signAndSend(bob, { doughnut }, () => { - // https://github.com/cennznet/cennznet/wiki/Transaction-Error-Codes#doughnut-usage - })).rejects.toThrow('submitAndWatchExtrinsic(extrinsic: Extrinsic): ExtrinsicStatus:: 1010: Invalid Transaction: {"Custom":172}'); - done(); - }); - - it('Fails when doughnut notBefore is in the future ', async done => { - let doughnut = await makeDoughnut( - api.registry, - { - issuer: aliceKeyPair, - holder: bob, - permissions: {'cennznet': makeCennznut('balance', 'transfer')}, - notBefore: (new Date().getTime() / 1000) + 100, - }, - ); - - const tx = api.tx.genericAsset.transfer(CENNZ, charlie.address, 10_000); - await expect(tx.signAndSend(bob, { doughnut }, () => { - // https://github.com/cennznet/cennznet/wiki/Transaction-Error-Codes#doughnut-usage - })).rejects.toThrow('submitAndWatchExtrinsic(extrinsic: Extrinsic): ExtrinsicStatus:: 1010: Invalid Transaction: {"Custom":182}'); - done(); - }); - - it('Fails when doughnut is not signed by issuer', async done => { - let doughnut = await makeDoughnut( - api.registry, - { - issuer: aliceKeyPair, - holder: bob, - permissions: {'cennznet': makeCennznut('balance', 'transfer')}, - signer: bobKeyPair - }, - ); - - const tx = api.tx.genericAsset.transfer(CENNZ, charlie.address, 10_000); - await expect(tx.signAndSend(bob, { doughnut }, () => { - // https://github.com/cennznet/cennznet/wiki/Transaction-Error-Codes#doughnut-usage - })).rejects.toThrow('submitAndWatchExtrinsic(extrinsic: Extrinsic): ExtrinsicStatus:: 1010: Invalid Transaction: {"Custom":170}'); - done(); - }); -}); - -interface DoughnutArgs { - issuer: Keypair, - holder: KeyringPair, - permissions: Record, - expiry?: number, - isSigned?: boolean, - notBefore?: number, - signer?: Keypair -} - -/// Helper for creating CENNZnuts which takes module/section name and method name to be same for doughnut permissioning -function makeCennznut(module: string, method: string): Uint8Array { - const moduleVec = [ - [ - module, { - 'name': module, - 'methods': [ - [ - method, { - 'name': method, - 'constraints': null, - }, - ], - ], - }, - ], - ]; - const contractVec = []; - const cennznut = new encodeCennznut(moduleVec, contractVec); - return cennznut.encode(); -} - -// Helper for creating v0 Doughnuts where user can pass expiry time for doughnut to be valid and -// 'not before' which would mean doughnut is not applied before this block -function makeDoughnut(registry, - { issuer, holder, permissions, expiry = (new Date().getTime() / 1000) + 600, isSigned = true, notBefore = 1, signer }: DoughnutArgs): Doughnut { - const d = new DoughnutMaker( - issuer.publicKey, - holder.publicKey, - expiry, // default expire in 10 minutes - notBefore, // default 'not before' is set to 1 - ); - for (const key in permissions) { - d.addDomain(key, permissions[key]); - } - if (signer) { - d.signSr25519(new Uint8Array(signer.secretKey)); - } - else if (isSigned) { - d.signSr25519(new Uint8Array(issuer.secretKey)); - } - let encoded = d.encode(); - return new Doughnut(registry, encoded) -} diff --git a/packages/api/test/e2e/queries.e2e.ts b/packages/api/test/e2e/queries.e2e.ts index 68552f84a..7250c7778 100644 --- a/packages/api/test/e2e/queries.e2e.ts +++ b/packages/api/test/e2e/queries.e2e.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,9 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { AssetInfo, AssetOptions, BalanceLock, Vec, WithdrawReasons } from '@cennznet/types'; +import { AssetInfo, AssetOptions, Hash, Vec, BalanceLock, WithdrawReasons } from "@cennznet/types"; import testKeyring from '@polkadot/keyring/testing'; -import { Hash } from '@cennznet/types/interfaces'; import { u8aToString } from '@polkadot/util'; import { cryptoWaitReady } from '@polkadot/util-crypto'; @@ -57,7 +56,6 @@ describe('e2e queries', () => { }); it('Checks transaction payment', async done => { - const assetBalance = await api.query.genericAsset.freeBalance(16001, bob.address); console.log('Balance before ', assetBalance.toString()); const ex = await api.tx.genericAsset @@ -87,27 +85,16 @@ describe('e2e queries', () => { const keyring = testKeyring({ type: 'sr25519' }); // Lookup from keyring (assuming we have added all, on --dev this would be `//Alice`) const sudoPair = keyring.getPair(sudoKey.toString()); - + const owner = api.registry.createType('Owner', 0); // Owner type is enum with 0 as none/null + const permissions = api.registry.createType('PermissionsV1', { update: owner, mint: owner, burn: owner}); + const option = {initialIssuance : 0, permissions}; + const assetOption: AssetOptions = api.registry.createType('AssetOptions', option); + const assetInfo: AssetInfo = api.registry.createType('AssetInfo', {symbol: 'SYLO', decimalPlaces: 3}); await api.tx.sudo .sudo(api.tx.genericAsset .create(alice.address, - new AssetOptions( - api.registry, - { - initialIssuance: 0, - permissions: { - update: null, - mint: null, - burn: null, - }, - }), - new AssetInfo( - api.registry, - { - symbol: 'SYLO', - decimalPlaces: 3 - } - ) + assetOption, + assetInfo )) .signAndSend(sudoPair); }, 12000); @@ -151,8 +138,11 @@ describe('e2e queries', () => { const balanceLocks: Vec = await api.query.genericAsset.locks(stashId); expect(balanceLocks.isEmpty).toBeFalsy(); let reasons: WithdrawReasons = balanceLocks[0].reasons; - expect(reasons.isAll()).toBeTruthy(); - + expect(reasons.isTransactionPayment).toBeTruthy(); + expect(reasons.isTransfer).toBeTruthy(); + expect(reasons.isTip).toBeTruthy(); + expect(reasons.isReserve).toBeTruthy(); + expect(reasons.isFee).toBeTruthy(); done(); }); }); diff --git a/packages/api/test/e2e/rxapi.create.e2e.ts b/packages/api/test/e2e/rxapi.create.e2e.ts index 4f27acfaf..ce4fb535d 100644 --- a/packages/api/test/e2e/rxapi.create.e2e.ts +++ b/packages/api/test/e2e/rxapi.create.e2e.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -16,22 +16,14 @@ import {ApiRx} from '../../src/ApiRx'; import initApiRx from '../../../../jest/initApiRx'; describe('e2e rx api create', () => { - let apiRx; - let incorrectApiRx; - - beforeAll(async () => { - const incorrectEndPoint = 'wss://rimu.centrality.cloud/'; - - apiRx = await initApiRx(); - incorrectApiRx = await ApiRx.create({provider: incorrectEndPoint}); - }); + const incorrectEndPoint = 'wss://rimu.centrality.cloud/'; afterAll(async done => { - apiRx = null; - incorrectApiRx = null; done(); }); + it('Should create an Api instance with the timeout option', async done => { + const apiRx = await initApiRx(); const api = await apiRx.toPromise(); api.rpc.chain.getBlockHash().subscribe(hash => { @@ -41,6 +33,7 @@ describe('e2e rx api create', () => { }); it('Should create Api without timeout if timeout is 0', async done => { + const apiRx = await initApiRx(); const api = await apiRx.toPromise(); api.rpc.chain.getBlockHash().subscribe(hash => { expect(hash).toBeDefined(); @@ -49,12 +42,12 @@ describe('e2e rx api create', () => { }); it('Should get error if the connection fails', async () => { + const incorrectApiRx = await ApiRx.create({provider: incorrectEndPoint}); await expect(incorrectApiRx.toPromise()).rejects.toThrow(/Connection fail/); }); it('Should get rejected if it is not resolved in a specific period of time', async () => { - incorrectApiRx = await ApiRx.create({timeout: -1}); - + const incorrectApiRx = await ApiRx.create({timeout: -1}); await expect(incorrectApiRx.toPromise()).rejects.toThrow(/Timeout has occurred/); }); }); diff --git a/packages/api/test/e2e/rxapi.queries.e2e.ts b/packages/api/test/e2e/rxapi.queries.e2e.ts index f6abb2858..816422390 100644 --- a/packages/api/test/e2e/rxapi.queries.e2e.ts +++ b/packages/api/test/e2e/rxapi.queries.e2e.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,12 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -/** - * Get more fund from https://cennznet-faucet-ui.centrality.me/ if the sender account does not have enough fund - */ -import {Hash} from '@cennznet/types/interfaces'; -import {combineLatest} from 'rxjs'; -import {switchMap} from 'rxjs/operators'; +import { Hash } from '@cennznet/types'; +import { combineLatest } from 'rxjs'; +import { switchMap } from 'rxjs/operators'; import initApiRx from '../../../../jest/initApiRx'; describe('e2e queries', () => { diff --git a/packages/api/test/e2e/staking.e2e.ts b/packages/api/test/e2e/staking.e2e.ts index 93950e0ee..fedd0b067 100644 --- a/packages/api/test/e2e/staking.e2e.ts +++ b/packages/api/test/e2e/staking.e2e.ts @@ -12,8 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { Option } from '@cennznet/types'; -import { AccountId, Forcing, RewardDestination, StakingLedger, ValidatorPrefs } from '@cennznet/types/interfaces'; +import { AccountId, Forcing, RewardDestination, StakingLedger, ValidatorPrefs, Option } from '@cennznet/types'; import { Keyring } from '@polkadot/keyring'; import { cryptoWaitReady } from '@polkadot/util-crypto'; @@ -45,7 +44,7 @@ describe('Staking Operations', () => { // Fund stash and controller const stakingId = await api.query.genericAsset.stakingAssetId(); const spendingId = await api.query.genericAsset.spendingAssetId(); - let nonce = await api.query.system.accountNonce(alice.address); + let nonce = await api.rpc.system.accountNextIndex(alice.address); // How much to fund stash and controller with const initialEndowment = 100_000_000; @@ -183,8 +182,9 @@ describe('Staking Operations', () => { // Payee account set to any account await api.tx.staking.setPayee({ account: rewardDestinationAddress }).signAndSend(controller); // Subscribe to payee changes - await api.query.staking.payee(stash.address, (payee: RewardDestination) => - (payee.asAccount.toString() === rewardDestinationAddress) ? done() : null); + await api.query.staking.payee(stash.address, (payee: RewardDestination) => { + (payee.isAccount && payee.asAccount.toString() === rewardDestinationAddress) ? done() : null + }); }); test('setController changes controller account', async done => { diff --git a/packages/api/test/e2e/tx.e2e.ts b/packages/api/test/e2e/tx.e2e.ts index 8263fca03..3cba50e89 100644 --- a/packages/api/test/e2e/tx.e2e.ts +++ b/packages/api/test/e2e/tx.e2e.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { AssetInfo, AssetOptions } from '@cennznet/types'; +import { AssetInfo, AssetOptions } from "@cennznet/types"; import { SubmittableResult } from '@polkadot/api'; import { Keyring } from '@polkadot/keyring'; import { KeyringPair } from '@polkadot/keyring/types'; @@ -45,7 +45,7 @@ describe('e2e transactions', () => { describe('Send', () => { it('Makes a tx using immortal era', async done => { - const nonce = await api.query.system.accountNonce(bob.address); + const nonce = await api.rpc.system.accountNextIndex(bob.address); await api.tx.genericAsset .transfer(stakingAssetId, alice.address, 100) .signAndSend(bob, { nonce }, @@ -59,7 +59,7 @@ describe('e2e transactions', () => { }); it('Makes a tx via send', async done => { - const nonce = await api.query.system.accountNonce(bob.address); + const nonce = await api.rpc.system.accountNextIndex(bob.address); const tx = api.tx.genericAsset .transfer(stakingAssetId, alice.address, 1) .sign(bob, { nonce }); @@ -73,7 +73,7 @@ describe('e2e transactions', () => { }); it('Makes a tx', async done => { - const nonce = await api.query.system.accountNonce(bob.address); + const nonce = await api.rpc.system.accountNextIndex(bob.address); await api.tx.genericAsset .transfer(stakingAssetId, alice.address, 1) .signAndSend(bob, { nonce }, async ({ events, status }: SubmittableResult) => { @@ -102,37 +102,24 @@ describe('e2e transactions', () => { // Amount of test asset to create const initialIssuance = 900_000_000_000_000; - - let createAssetTx = api.tx.genericAsset.create( - assetOwner.address, - new AssetOptions( - api.registry, - { - initialIssuance, - permissions: { - update: assetOwner.address, - }, - }), - new AssetInfo( - api.registry, - { - symbol: 'TEST', - decimalPlaces: 4 - } - ) - ); + const owner = api.registry.createType('Owner', assetOwner.address, 1); // Owner type is enum with 0 as none/null + const permissions = api.registry.createType('PermissionsV1', { update: owner, mint: owner, burn: owner}); + const option = {initialIssuance , permissions}; + const assetOption: AssetOptions = api.registry.createType('AssetOptions', option); + const assetInfo: AssetInfo = api.registry.createType('AssetInfo', {symbol: 'TEST', decimalPlaces: 4}); + let createAssetTx = api.tx.genericAsset.create(assetOwner.address, assetOption, assetInfo); // Lookup from keyring (assuming we have added all, on --dev this would be `//Alice`) const sudoAddress = await api.query.sudo.key(); const sudoKeypair = keyring.getPair(sudoAddress.toString()); // when the new asset is created it will have this ID. - feeAssetId = (await api.query.genericAsset.nextAssetId()); + feeAssetId = await api.query.genericAsset.nextAssetId(); // 1) Create the new fee asset // 2) Mint CPAY to assetOwner to fund subsequent pool liquidity and further transactions. const assetCreated = new Promise(async (resolve, reject) => { - let nonce = (await api.query.system.accountNonce(sudoAddress)); + let nonce = await api.rpc.system.accountNextIndex(sudoAddress); await api.tx.sudo.sudo(createAssetTx).signAndSend(sudoKeypair, { nonce: nonce++ }); await api.tx.genericAsset.mint(spendingAssetId, assetOwner.address, initialIssuance).signAndSend( sudoKeypair, { nonce: nonce++ }, ({ status }) => status.isInBlock ? resolve() : null @@ -147,23 +134,18 @@ describe('e2e transactions', () => { await api.tx.cennzx .addLiquidity(feeAssetId, minimumLiquidity, feeInvestment, coreInvestment) - .signAndSend(assetOwner, ({ status }) => status.isInBlock ? done() : null); + .signAndSend(assetOwner, ({ events, status }) => status.isInBlock ? done() :null ); + }); }); it('Uses keypair to sign', async done => { - const feeExchange = { - FeeExchangeV1: { - assetId: feeAssetId, - maxPayment: 50_000_000_000, - } - }; - const transactionPayment = { - tip: 2, - feeExchange - }; - const nonce = await api.query.system.accountNonce(assetOwner.address); + const maxPayment = 50_000_000_000; + const assetId = api.registry.createType('AssetId', feeAssetId); + const feeExchange = api.registry.createType('FeeExchange', {assetId, maxPayment}, 0); + const transactionPayment = api.registry.createType('ChargeTransactionPayment', {tip: 0, feeExchange}); + const nonce = await api.rpc.system.accountNextIndex(assetOwner.address); await api.tx.genericAsset .transfer(spendingAssetId, bob.address, 100) .signAndSend( @@ -173,18 +155,13 @@ describe('e2e transactions', () => { ); }); - it('Use signer', async done => { - const feeExchange = { - FeeExchangeV1: { - assetId: feeAssetId, - maxPayment: 50_000_000_000, - } - }; - const transactionPayment = { - tip: 2, - feeExchange, - }; - const nonce = await api.query.system.accountNonce(assetOwner.address); + it('Use tip along with fee exchange', async done => { + + const maxPayment = 50_000_000_000; + const assetId = api.registry.createType('AssetId', feeAssetId); + const feeExchange = api.registry.createType('FeeExchange', {assetId, maxPayment}, 0); + const transactionPayment = api.registry.createType('ChargeTransactionPayment', {tip: 2, feeExchange}); + const nonce = await api.rpc.system.accountNextIndex(assetOwner.address); const tx = api.tx.genericAsset.transfer(spendingAssetId, bob.address, 100); await tx.signAndSend( assetOwner, @@ -194,17 +171,9 @@ describe('e2e transactions', () => { }); it('Update asset info', async done => { - const nonce = await api.query.system.accountNonce(assetOwner.address); - await api.tx.genericAsset.updateAssetInfo( - feeAssetId, - new AssetInfo( - api.registry, - { - symbol: 'NEW_ASSET_ID', - decimalPlaces: 5 - } - ) - ).signAndSend(assetOwner, { nonce }, async ({ events, status }) => { + const nonce = await api.rpc.system.accountNextIndex(assetOwner.address); + const assetInfo: AssetInfo = api.registry.createType('AssetInfo', {symbol: 'NEW_ASSET_ID', decimalPlaces: 5}); + await api.tx.genericAsset.updateAssetInfo( feeAssetId, assetInfo).signAndSend(assetOwner, { nonce }, async ({ events, status }) => { if (status.isInBlock) { for (const { event: { method, section, data } } of events) { if (section === 'genericAsset' && method == 'AssetInfoUpdated') { diff --git a/packages/types/package.json b/packages/types/package.json index 94283cf5d..d94fd1d9f 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -17,19 +17,16 @@ "scripts": { "test": "echo \"Error: run tests from root\" && exit 1" }, - "optionalDependencies": { - "@plugnet/doughnut-wasm": "^0.2.0" - }, "dependencies": { "@cennznet/util": "^1.2.1", - "@polkadot/keyring": "2.3.1", - "@polkadot/types": "^1.1.1", - "@polkadot/util": "^2.3.1", + "@polkadot/keyring": "^3.6.1", + "@polkadot/types": "^2.3.1", + "@polkadot/util": "^3.5.1", "memoizee": "^0.4.14", "typescript": "^2.9.2" }, "devDependencies": { - "@polkadot/api": "^1.1.1", - "@polkadot/rpc-provider": "^1.1.1" + "@polkadot/api": "^2.3.1", + "@polkadot/rpc-provider": "^2.3.1" } } diff --git a/packages/types/src/Doughnut.ts b/packages/types/src/Doughnut.ts deleted file mode 100644 index b38966b73..000000000 --- a/packages/types/src/Doughnut.ts +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import logger from '@cennznet/api/util/logging'; -import { Raw } from '@cennznet/types'; -import { AnyU8a, Registry } from '@cennznet/types/types'; - -/** - * A v0 Doughnut certificate - * It is attached to an extrinsic in it's binary encoded form. - **/ -export default class Doughnut extends Raw { - get encodedLength(): number { - return this.toU8a().length; - } - - constructor(registry: Registry, value?: AnyU8a) { - // This function doubles as the SCALE codec decode function. - // [[value]] can be a concatenation of encoded fields e.g. [sender][method][doughnut][era][nonce] - // NOT only doughnut bytes. - // We must ensure that any doughnut specific bytes are consumed - // so that the buffer [[value]] may be passed along to decode other types successfully - let doughnut; - // @ts-ignore - if (DOUGHNUT_SUPPORT === true) { - // Added the above flag to support conditional compilation for exclusion/inclusion of wasm packages - const DoughnutCodec = require('@plugnet/doughnut-wasm'); - doughnut = DoughnutCodec.Doughnut.decode(value as Uint8Array); - doughnut = doughnut.encode(); - } else { - // fallback - logger.warn('Doughnut need not be attached'); - doughnut = null; - } - super(registry, doughnut); - } -} diff --git a/packages/types/src/extrinsic/Extrinsic.ts b/packages/types/src/extrinsic/Extrinsic.ts deleted file mode 100644 index 9aff263dc..000000000 --- a/packages/types/src/extrinsic/Extrinsic.ts +++ /dev/null @@ -1,290 +0,0 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors -// This software may be modified and distributed under the terms -// of the Apache-2.0 license. See the LICENSE file for details. - -// tslint:disable member-ordering no-magic-numbers - -import { ExtrinsicPayloadValueV2 } from '@cennznet/types/extrinsic/v2/ExtrinsicPayload'; -import { ClassOf, Compact } from '@cennznet/types'; -import Base from '@polkadot/types/codec/Base'; -import { - Address, - Balance, - Call, - EcdsaSignature, - Ed25519Signature, - Sr25519Signature, - FunctionMetadataLatest, -} from '@cennznet/types/interfaces'; -import { AnyU8a, ArgsDef, Codec, IExtrinsic, IExtrinsicEra, IKeyringPair, Registry } from '@cennznet/types/types'; -import { assert, isHex, isU8a, u8aConcat, u8aToHex, u8aToU8a } from '@polkadot/util'; -import { ChargeTransactionPayment, Index } from '../runtime'; -import { BIT_SIGNED, BIT_UNSIGNED, DEFAULT_VERSION } from './constants'; -import { SignatureOptions } from './types'; -import ExtrinsicV2, { ExtrinsicValueV2 } from './v2/Extrinsic'; - -export type ExtrinsicImpl = ExtrinsicV2; -export type ExtrinsicValue = ExtrinsicValueV2; -export type ExtrinsicPayloadValue = ExtrinsicPayloadValueV2; - -export interface ExtrinsicOptions { - version?: number; -} - -/** - * @name Extrinsic - * @description - * Representation of an Extrinsic in the system. It contains the actual call, - * (optional) signature and encodes with an actual length prefix - * - * {@link https://github.com/paritytech/wiki/blob/master/Extrinsic.md#the-extrinsic-format-for-node}. - * - * Can be: - * - signed, to create a transaction - * - left as is, to create an inherent - */ -export default class Extrinsic extends Base implements IExtrinsic { - constructor( - registry: Registry, - value: Extrinsic | AnyU8a | Call | ExtrinsicValue | undefined, - { version }: ExtrinsicOptions = {} - ) { - super(registry, Extrinsic.decodeExtrinsic(registry, value, version)); - } - - private static newFromValue(registry: Registry, value: any, version: number): ExtrinsicImpl { - if (value instanceof Extrinsic || value.constructor.name === 'Submittable') { - return value.raw; - } - - const isSigned = (version & BIT_SIGNED) === BIT_SIGNED; - return new ExtrinsicV2(registry, value, { isSigned }); - } - - static decodeExtrinsic( - registry: Registry, - value: Extrinsic | AnyU8a | Call | ExtrinsicValue | undefined, - version: number = DEFAULT_VERSION - ): ExtrinsicV2 { - if (Array.isArray(value) || isHex(value)) { - // Instead of the block below, it should simply be: - // return Extrinsic.decodeExtrinsic(hexToU8a(value as string)); - const u8a = u8aToU8a(value); - - // HACK 11 Jan 2019 - before https://github.com/paritytech/substrate/pull/1388 - // extrinsics didn't have the length, cater for both approaches - const [offset, length] = Compact.decodeU8a(u8a); - const withPrefix = u8a.length === offset + length.toNumber(); - - return Extrinsic.decodeExtrinsic(registry, withPrefix ? u8a : Compact.addLengthPrefix(u8a), version); - } else if (isU8a(value)) { - if (!value.length) { - return Extrinsic.newFromValue(registry, new Uint8Array(), version); - } - - const [offset, length] = Compact.decodeU8a(value); - const total = offset + length.toNumber(); - - assert( - total <= value.length, - `Extrinsic: required length less than remainder, expected at least ${total}, found ${value.length}` - ); - - return Extrinsic.decodeU8a(registry, value.subarray(offset, total)); - } else if (value instanceof ClassOf(registry, 'Call')) { - return Extrinsic.newFromValue(registry, { method: value }, version); - } - - return Extrinsic.newFromValue(registry, value, version); - } - - private static decodeU8a(registry: Registry, value: Uint8Array): ExtrinsicV2 { - return Extrinsic.newFromValue(registry, value.subarray(1), value[0]); - } - /** - * @description The arguments passed to for the call, exposes args so it is compatible with [[Call]] - */ - get args(): Codec[] { - return this.method.args; - } - - /** - * @description Thge argument defintions, compatible with [[Call]] - */ - get argsDef(): ArgsDef { - return this.method.argsDef; - } - - /** - * @description The actual `[sectionIndex, methodIndex]` as used in the Call - */ - get callIndex(): Uint8Array { - return this.method.callIndex; - } - - /** - * @description The actual data for the Call - */ - get data(): Uint8Array { - return this.method.data; - } - - /** - * @description The era for this extrinsic - */ - get era(): IExtrinsicEra { - return (this.raw as ExtrinsicImpl).signature.era; - } - - /** - * @description The length of the value when encoded as a Uint8Array - */ - get encodedLength(): number { - return this.toU8a().length; - } - - /** - * @description `true` is method has `Origin` argument (compatibility with [Call]) - */ - get hasOrigin(): boolean { - return this.method.hasOrigin; - } - - /** - * @description `true` id the extrinsic is signed - */ - get isSigned(): boolean { - return (this.raw as ExtrinsicImpl).signature.isSigned; - } - - /** - * @description The length of the actual data, excluding prefix - */ - get length(): number { - return this.toU8a(true).length; - } - - /** - * @description The [[FunctionMetadataLatest]] that describes the extrinsic - */ - get meta(): FunctionMetadataLatest { - return this.method.meta; - } - - /** - * @description The [[Call]] this extrinsic wraps - */ - get method(): Call { - return (this.raw as ExtrinsicImpl).method; - } - - /** - * @description The nonce for this extrinsic - */ - get nonce(): Compact { - return (this.raw as ExtrinsicImpl).signature.nonce; - } - - /** - * @description The [[ExtrinsicSignature]] - */ - get signature(): EcdsaSignature | Ed25519Signature | Sr25519Signature { - return (this.raw as ExtrinsicImpl).signature.signature; - } - - /** - * @description The [[Address]] that signed - */ - get signer(): Address { - return (this.raw as ExtrinsicImpl).signature.signer; - } - - /** - * @description Extrinsic fee metadata e.g. tip, fee exchange parameters - */ - get tip(): Compact { - return (this.raw as ExtrinsicImpl).signature.transactionPayment.tip as Compact; - } - - /** - * @description Extrinsic fee metadata e.g. tip, fee exchange parameters - */ - get transactionPayment(): ChargeTransactionPayment { - return (this.raw as ExtrinsicImpl).signature.transactionPayment; - } - - /** - * @description Returns the raw transaction version (not flagged with signing information) - */ - get type(): number { - return (this.raw as ExtrinsicImpl).version; - } - - /** - * @description Returns the encoded version flag - */ - get version(): number { - return this.type | (this.isSigned ? BIT_SIGNED : BIT_UNSIGNED); - } - - /** - * @description Add an [[ExtrinsicSignature]] to the extrinsic (already generated) - */ - addSignature( - signer: Address | Uint8Array | string, - signature: Uint8Array | string, - payload: ExtrinsicPayloadValue | Uint8Array | string - ): Extrinsic { - (this.raw as ExtrinsicV2).addSignature(signer, signature, payload as ExtrinsicPayloadValueV2); - - return this; - } - - /** - * @description Sign the extrinsic with a specific keypair - */ - sign(account: IKeyringPair, options: SignatureOptions): Extrinsic { - (this.raw as ExtrinsicImpl).sign(account, options); - - return this; - } - - /** - * @describe Adds a fake signature to the extrinsic - */ - signFake(signer: Address | Uint8Array | string, options: SignatureOptions): Extrinsic { - (this.raw as ExtrinsicImpl).signFake(signer, options); - - return this; - } - - /** - * @description Returns a hex string representation of the value - */ - toHex(): string { - return u8aToHex(this.toU8a()); - } - - /** - * @description Converts the Object to JSON, typically used for RPC transfers - */ - toJSON(): string { - return this.toHex(); - } - - /** - * @description Returns the base runtime type name for this instance - */ - toRawType(): string { - return 'Extrinsic'; - } - - /** - * @description Encodes the value as a Uint8Array as per the SCALE specifications - * @param isBare true when the value has none of the type-specific prefixes (internal) - */ - toU8a(isBare?: boolean): Uint8Array { - const encoded = u8aConcat(new Uint8Array([this.version]), this.raw.toU8a()); - return isBare ? encoded : Compact.addLengthPrefix(encoded); - } -} diff --git a/packages/types/src/extrinsic/ExtrinsicPayload.ts b/packages/types/src/extrinsic/ExtrinsicPayload.ts deleted file mode 100644 index 906aaa676..000000000 --- a/packages/types/src/extrinsic/ExtrinsicPayload.ts +++ /dev/null @@ -1,144 +0,0 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors -// This software may be modified and distributed under the terms -// of the Apache-2.0 license. See the LICENSE file for details. - -// tslint:disable member-ordering no-magic-numbers - -import { Compact, Raw, u32 } from '@cennznet/types'; -import Base from '@polkadot/types/codec/Base'; -import { Balance, Hash } from '@cennznet/types/interfaces'; -import { IExtrinsicEra, IKeyringPair, Registry } from '@cennznet/types/types'; - -import { u8aToHex } from '@polkadot/util'; - -import { ChargeTransactionPayment, Index } from '../runtime'; -import { DEFAULT_VERSION } from './constants'; -import { ExtrinsicPayloadValue } from './types'; -import ExtrinsicPayloadV2, { ExtrinsicPayloadValueV2 } from './v2/ExtrinsicPayload'; - -interface ExtrinsicPayloadOptions { - version?: number; -} - -// all our known types that can be returned -type ExtrinsicPayloadVx = ExtrinsicPayloadV2; - -/** - * @name ExtrinsicPayload - * @description - * A signing payload for an [[Extrinsic]]. For the final encoding, it is variable length based - * on the contents included - */ -export default class ExtrinsicPayload extends Base { - constructor( - registry: Registry, - value: Partial | Uint8Array | string | undefined, - { version }: ExtrinsicPayloadOptions = {} - ) { - super(registry, ExtrinsicPayload.decodeExtrinsicPayload(registry, value as ExtrinsicPayloadValue, version)); - } - - static decodeExtrinsicPayload( - registry: Registry, - value: ExtrinsicPayload | ExtrinsicPayloadValue | ExtrinsicPayloadValueV2 | Uint8Array | string | undefined, - version: number = DEFAULT_VERSION - ): ExtrinsicPayloadVx { - if (value instanceof ExtrinsicPayload) { - return value.raw; - } - - return new ExtrinsicPayloadV2(registry, value as ExtrinsicPayloadValueV2); - } - - /** - * @description The block [[Hash]] the signature applies to (mortal/immortal) - */ - get blockHash(): Hash { - return this.raw.blockHash; - } - - /** - * @description The [[ExtrinsicEra]] - */ - get era(): IExtrinsicEra { - return this.raw.era; - } - - /** - * @description The genesis block [[Hash]] the signature applies to - */ - get genesisHash(): Hash { - return (this.raw as ExtrinsicPayloadV2).genesisHash; - } - - /** - * @description The [[U8a]] contained in the payload - */ - get method(): Raw { - return this.raw.method; - } - - /** - * @description The [[Index]] - */ - get nonce(): Compact { - return this.raw.nonce; - } - - /** - * @description The specVersion as a [[u32]] for this payload - */ - get specVersion(): u32 { - return (this.raw as ExtrinsicPayloadV2).specVersion; - } - - /** - * @description The tip [[Balance]] given to the transaction - */ - get tip(): Compact { - return (this.raw as ExtrinsicPayloadV2).tip; - } - - /** - * @description The fee payment metadata (includes. tip) - */ - get transactionPayment(): ChargeTransactionPayment { - return (this.raw as ExtrinsicPayloadV2).transactionPayment; - } - - /** - * @description Compares the value of the input to see if there is a match - */ - eq(other?: any): boolean { - return this.raw.eq(other); - } - - /** - * @description Sign the payload with the keypair - */ - sign(signerPair: IKeyringPair): { signature: string } { - const signature = this.raw.sign(signerPair); - - // This is extensible, so we could quite readily extend to send back extra - // information, such as for instance the payload, i.e. `payload: this.toHex()` - // For the case here we sign via the extrinsic, we ignore the return, so generally - // this is applicable for external signing - return { - signature: u8aToHex(signature), - }; - } - - /** - * @description Converts the Object to JSON, typically used for RPC transfers - */ - toJSON(): any { - return this.toHex(); - } - - /** - * @description Returns the string representation of the value - */ - toString(): string { - return this.toHex(); - } -} diff --git a/packages/types/src/extrinsic/constants.ts b/packages/types/src/extrinsic/constants.ts deleted file mode 100644 index 50cdbc16d..000000000 --- a/packages/types/src/extrinsic/constants.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors -// This software may be modified and distributed under the terms -// of the Apache-2.0 license. See the LICENSE file for details. - -export const BIT_SIGNED = 0b10000000; -export const BIT_UNSIGNED = 0; -export const UNMASK_VERSION = 0b01111111; - -export const EMPTY_U8A = new Uint8Array(); - -export const DEFAULT_VERSION = 4; - -export const IMMORTAL_ERA = new Uint8Array([0]); diff --git a/packages/types/src/extrinsic/types.spec.ts b/packages/types/src/extrinsic/types.spec.ts deleted file mode 100644 index 2663525f2..000000000 --- a/packages/types/src/extrinsic/types.spec.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { TypeRegistry, createType } from '@cennznet/types'; -import { Phase } from './types'; - -const registry = new TypeRegistry(); -registry.register(Phase); - -describe('Extrinsic Phase', () => { - it('decodes phase: Initialization', () => { - const phase = createType(registry, 'Phase', 2); - expect(phase.toString()).toEqual('Initialization'); - }); -}); diff --git a/packages/types/src/extrinsic/types.ts b/packages/types/src/extrinsic/types.ts deleted file mode 100644 index 532c5bba5..000000000 --- a/packages/types/src/extrinsic/types.ts +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import { Enum, Option, Vec } from '@cennznet/types'; -import { InterfaceRegistry } from '@polkadot/types/interfaceRegistry'; -import { AnyNumber, AnyU8a, IExtrinsicEra, IMethod, ITuple, RuntimeVersionInterface } from '@cennznet/types/types'; -import { SignatureOptions as SignatureOptionsBase } from '@polkadot/types/types'; -import { AccountId } from '@cennznet/types/interfaces'; -import Doughnut from '../Doughnut'; -import { AssetId, AssetInfo } from '../runtime/ga'; -import { ChargeTransactionPayment, FeeExchange } from '../runtime/transaction-payment'; - -export interface ExtrinsicOptions { - isSigned?: boolean; -} - -export interface ExtrinsicSignatureOptions { - isSigned?: boolean; - doughnut?: Doughnut; - transactionPayment?: ChargeTransactionPayment; -} - -export interface ExtrinsicV2SignatureOptions { - blockHash?: AnyU8a; - era?: IExtrinsicEra; - doughnut?: Option; - genesisHash?: AnyU8a; - nonce?: AnyNumber; - runtimeVersion?: RuntimeVersionInterface; - tip?: AnyNumber; - feeExchange?: any; - transactionPayment?: ChargeTransactionPayment; -} - -export interface ExtrinsicExtraValue { - era?: Uint8Array; - nonce?: AnyNumber; - tip?: AnyNumber; -} - -export interface ExtrinsicPayloadValue { - blockHash: AnyU8a; - era: AnyU8a | IExtrinsicEra; - genesisHash: AnyU8a; - method: AnyU8a | IMethod; - nonce: AnyNumber; - specVersion: AnyNumber; - tip: AnyNumber; - doughnut?: AnyU8a | Doughnut; - transactionPayment?: AnyU8a | ChargeTransactionPayment; -} - -export type ChargeTransactionValue = AnyU8a; - -export type FeeExchangeValue = { - assetId: AnyNumber; - maxPayment: AnyNumber; -}; - -export interface SignatureOptions extends SignatureOptionsBase { - doughnut?: AnyU8a | Doughnut; - transactionPayment?: AnyU8a | ChargeTransactionPayment; -} - -// Adding here as the @polkadot/types version used here -// is lagging behind current CENNZnet node -export class Phase extends Enum.with({ - ApplyExtrinsic: 'u32', - Finalization: 'Null', - Initialization: 'Null', -}) {} - -// Merge the staking types RewardDestination to support arbitrary account -declare module '@polkadot/types/interfaces/staking/types' { - interface RewardDestination { - readonly isAccount: boolean; - readonly asAccount: AccountId; - } -} - -export type CennznetInterfaceTypes = keyof InterfaceRegistry; - -// Merge the [[InterfaceRegistry]] definition from `@polkadot/types/interfaceRegistry` with CENNZnet types -declare module '@polkadot/types/interfaceRegistry' { - interface InterfaceRegistry { - // Add types that only CENNZnet knows about. - // TS will merge them into the polkadot provided [[InterfaceRegistry]] - Doughnut: Doughnut; - 'Option': Option; - ChargeTransactionPayment; - FeeExchange: FeeExchange; - 'Option': Option; - 'Vec<(AssetId, AssetInfo)>': Vec>; - } -} diff --git a/packages/types/src/extrinsic/v2/Extrinsic.ts b/packages/types/src/extrinsic/v2/Extrinsic.ts deleted file mode 100644 index 834158e9c..000000000 --- a/packages/types/src/extrinsic/v2/Extrinsic.ts +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright 2019 Centrality Investments Limited & @polkadot/types authors & contributors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// tslint:disable member-ordering no-magic-numbers - -import { ClassOf, createType, Struct } from '@cennznet/types'; -import { Address, Call } from '@polkadot/types/interfaces/runtime'; -import { IExtrinsicImpl, IKeyringPair, Registry } from '@cennznet/types/types'; -import { SignatureOptions } from '@polkadot/types/types'; -import { isU8a } from '@polkadot/util'; -import { ExtrinsicOptions } from '../types'; - -import { ExtrinsicPayloadValueV2 } from './ExtrinsicPayload'; -import ExtrinsicSignatureV2 from './ExtrinsicSignature'; - -export interface ExtrinsicValueV2 { - signature?: ExtrinsicSignatureV2; - method?: Call; -} - -const TRANSACTION_VERSION = 4; - -/** - * @name ExtrinsicV2 - * @description - * The second generation of compact extrinsics - */ -export default class ExtrinsicV2 extends Struct implements IExtrinsicImpl { - constructor( - registry: Registry, - value?: Uint8Array | ExtrinsicValueV2 | Call, - { isSigned }: Partial = {} - ) { - super( - registry, - { - signature: ExtrinsicSignatureV2, - method: 'Call', - }, - ExtrinsicV2.decodeExtrinsic(registry, value, isSigned) - ); - } - - static decodeExtrinsic( - registry: Registry, - value?: Call | Uint8Array | ExtrinsicValueV2, - isSigned = false - ): ExtrinsicValueV2 { - if (!value) { - return {}; - } else if (value instanceof ExtrinsicV2) { - return value; - } else if (value instanceof ClassOf(registry, 'Call')) { - return { method: value as Call }; - } else if (isU8a(value)) { - // here we decode manually since we need to pull through the version information - const signature = new ExtrinsicSignatureV2(registry, value, { isSigned }); - const method = createType(registry, 'Call', value.subarray(signature.encodedLength)); - - return { - method, - signature, - }; - } - - return value as ExtrinsicValueV2 | {}; - } - - /** - * @description The length of the value when encoded as a Uint8Array - */ - get encodedLength(): number { - return this.toU8a().length; - } - - /** - * @description The [[Call]] this extrinsic wraps - */ - get method(): Call { - return this.get('method') as Call; - } - - /** - * @description The [[ExtrinsicSignatureV2]] - */ - get signature(): ExtrinsicSignatureV2 { - return this.get('signature') as ExtrinsicSignatureV2; - } - - /** - * @description The version for the signature - */ - get version(): number { - return TRANSACTION_VERSION; - } - - /** - * @description Add an [[ExtrinsicSignatureV2]] to the extrinsic (already generated) - */ - addSignature( - signer: Address | Uint8Array | string, - signature: Uint8Array | string, - payload: ExtrinsicPayloadValueV2 | Uint8Array | string - ): ExtrinsicV2 { - this.signature.addSignature(signer, signature, payload); - - return this; - } - - /** - * @describe Adds a fake signature to the extrinsic - */ - signFake(signer: Address | Uint8Array | string, options: SignatureOptions): ExtrinsicV2 { - this.signature.signFake(this.method, signer, options); - - return this; - } - /** - * @description Sign the extrinsic with a specific keypair - */ - sign(account: IKeyringPair, options: SignatureOptions): ExtrinsicV2 { - this.signature.sign(this.method, account, options); - - return this; - } -} diff --git a/packages/types/src/extrinsic/v2/ExtrinsicPayload.ts b/packages/types/src/extrinsic/v2/ExtrinsicPayload.ts deleted file mode 100644 index 416d05948..000000000 --- a/packages/types/src/extrinsic/v2/ExtrinsicPayload.ts +++ /dev/null @@ -1,150 +0,0 @@ -// Copyright 2019 Centrality Investments Limited & @polkadot/types authors & contributors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// tslint:disable member-ordering no-magic-numbers -import { Bytes, Compact, Struct, u32, Option } from '@cennznet/types'; -import { ExtrinsicEra } from '@cennznet/types/primitive'; -import { sign } from '@polkadot/types/primitive/Extrinsic/util'; -import { AnyNumber, AnyU8a, IExtrinsicEra, IKeyringPair, IMethod, Registry } from '@cennznet/types/types'; - -import { Balance, Hash } from '@cennznet/types/interfaces'; -import Doughnut from '../../Doughnut'; -import { ChargeTransactionPayment, Index } from '../../runtime'; -import { CennznetInterfaceTypes } from '../types'; - -export interface ExtrinsicPayloadValueV2 { - blockHash: AnyU8a; - doughnut: Option; - era: AnyU8a | IExtrinsicEra; - genesisHash: AnyU8a; - method: AnyU8a | IMethod; - nonce: AnyNumber; - specVersion: AnyNumber; - tip: AnyNumber; - transactionPayment?: ChargeTransactionPayment; -} - -// The base of an extrinsic payload -export const BasePayloadV2: Record = { - method: 'Bytes', - doughnut: 'Option', - era: 'ExtrinsicEra', - nonce: 'Compact', - transactionPayment: 'ChargeTransactionPayment', -}; - -// These fields are signed here as part of the extrinsic signature but are NOT encoded in -// the final extrinsic payload itself. -// The CENNZnet node will populate these fields from on-chain data and check the signature compares -// hence 'implicit' -export const PayloadImplicitAddonsV2: Record = { - specVersion: 'u32', - // system::CheckGenesis - genesisHash: 'Hash', - // system::CheckEra - blockHash: 'Hash', -}; - -// The full definition for the extrinsic payload. -// It will be encoded (+ hashed if len > 256) and then signed to make the extrinsic signature -export const FullPayloadV2: Record = { - ...BasePayloadV2, - ...PayloadImplicitAddonsV2, -}; -/** - * @name ExtrinsicPayloadV2 - * @description - * A signing payload for an [[Extrinsic]]. For the final encoding, it is variable length based - * on the contents included - * - * 1-8 bytes: The Transaction Compact as provided in the transaction itself. - * 2+ bytes: The Function Descriptor as provided in the transaction itself. - * 1/2 bytes: The Transaction Era as provided in the transaction itself. - * 32 bytes: The hash of the authoring block implied by the Transaction Era and the current block. - */ -export default class ExtrinsicPayloadV2 extends Struct { - constructor(registry: Registry, value?: ExtrinsicPayloadValueV2 | Uint8Array | string) { - super(registry, FullPayloadV2, value); - } - - /** - * @description The block [[Hash]] the signature applies to (mortal/immortal) - */ - get blockHash(): Hash { - return this.get('blockHash') as Hash; - } - - /** - * @description The genesis [[Hash]] the signature applies to (mortal/immortal) - */ - get genesisHash(): Hash { - return this.get('genesisHash') as Hash; - } - - /** - * @description The [[Bytes]] contained in the payload - */ - get method(): Bytes { - return this.get('method') as Bytes; - } - - /** - * @description The [[ExtrinsicEra]] - */ - get era(): ExtrinsicEra { - return this.get('era') as ExtrinsicEra; - } - - /** - * @description The [[Index]] - */ - get nonce(): Compact { - return this.get('nonce') as Compact; - } - - /** - * @description The specVersion for this signature - */ - get specVersion(): u32 { - return this.get('specVersion') as u32; - } - - /** - * @description tip (here for compatibility with [[IExtrinsic]] definition) - */ - get tip(): Compact { - return this.transactionPayment.tip as Compact; - } - - /** - * @description The transaction fee metadata e.g tip, fee exchange - */ - get transactionPayment(): ChargeTransactionPayment { - return this.get('transactionPayment') as ChargeTransactionPayment; - } - - /** - * @description The [[Doughnut]] - */ - get doughnut(): Option { - return this.get('doughnut') as Option; - } - - /** - * @description Sign the payload with the keypair - */ - sign(signerPair: IKeyringPair): Uint8Array { - return sign(signerPair, this.toU8a({ method: true }), { withType: true }); - } -} diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 1fce873ea..74883e999 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -1,18 +1,3 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - export * from '@polkadot/types'; - -export * from './extrinsic'; -export * from './runtime'; +export * from './interfaces/types'; +export * from './types'; diff --git a/packages/types/src/injects.ts b/packages/types/src/injects.ts deleted file mode 100644 index 54d707a10..000000000 --- a/packages/types/src/injects.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -import Doughnut from './Doughnut'; -import * as extrinsicTypes from './extrinsic'; -import metadata from './metaDataTypes'; -import * as runtimeTypes from './runtime'; - -export default { - ...runtimeTypes, - ...extrinsicTypes, - ...metadata, - Address: 'AccountId', - 'ed25519::Signature': 'H512', - RewardBalance: 'Balance', - Doughnut, -}; diff --git a/packages/types/src/interfaces.ts b/packages/types/src/interfaces.ts deleted file mode 100644 index 84063f1c5..000000000 --- a/packages/types/src/interfaces.ts +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -export * from '@polkadot/types/interfaces'; diff --git a/packages/types/src/interfaces/attestation/definitions.ts b/packages/types/src/interfaces/attestation/definitions.ts new file mode 100644 index 000000000..88d79d548 --- /dev/null +++ b/packages/types/src/interfaces/attestation/definitions.ts @@ -0,0 +1,7 @@ +export default { + rpc: {}, + types: { + AttestationTopic: 'u256', + AttestationValue: 'u256', + }, +}; diff --git a/packages/types/src/interfaces/attestation/index.ts b/packages/types/src/interfaces/attestation/index.ts new file mode 100644 index 000000000..2d307291c --- /dev/null +++ b/packages/types/src/interfaces/attestation/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from './types'; diff --git a/packages/types/src/interfaces/attestation/types.ts b/packages/types/src/interfaces/attestation/types.ts new file mode 100644 index 000000000..a224623d9 --- /dev/null +++ b/packages/types/src/interfaces/attestation/types.ts @@ -0,0 +1,12 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import { u256 } from '@polkadot/types/primitive'; + +/** @name AttestationTopic */ +export interface AttestationTopic extends u256 {} + +/** @name AttestationValue */ +export interface AttestationValue extends u256 {} + +export type PHANTOM_ATTESTATION = 'attestation'; diff --git a/packages/types/src/interfaces/augment-api-consts.ts b/packages/types/src/interfaces/augment-api-consts.ts new file mode 100644 index 000000000..edf6ef939 --- /dev/null +++ b/packages/types/src/interfaces/augment-api-consts.ts @@ -0,0 +1,220 @@ +// Auto-generated via `yarn polkadot-types-from-chain`, do not edit +/* eslint-disable */ + +import { Codec } from '@polkadot/types/types'; +import { Vec } from '@polkadot/types/codec'; +import { u16, u32, u64 } from '@polkadot/types/primitive'; +import { + BalanceOf, + BlockNumber, + ModuleId, + Moment, + Percent, + Permill, + RuntimeDbWeight, + Weight, +} from '@polkadot/types/interfaces/runtime'; +import { SessionIndex } from '@polkadot/types/interfaces/session'; +import { EraIndex } from '@polkadot/types/interfaces/staking'; +import { WeightToFeeCoefficient } from '@polkadot/types/interfaces/support'; +import { ApiTypes } from '@polkadot/api/types'; + +declare module '@polkadot/api/types/consts' { + export interface AugmentedConsts { + babe: { + [key: string]: Codec; + /** + * The number of **slots** that an epoch takes. We couple sessions to + * epochs, i.e. we start a new session once the new epoch begins. + **/ + epochDuration: u64 & AugmentedConst; + /** + * The expected average block time at which BABE should be creating + * blocks. Since BABE is probabilistic it is not trivial to figure out + * what the expected average block time should be based on the slot + * duration and the security parameter `c` (where `1 - c` represents + * the probability of a slot being empty). + **/ + expectedBlockTime: Moment & AugmentedConst; + }; + finalityTracker: { + [key: string]: Codec; + /** + * The delay after which point things become suspicious. Default is 1000. + **/ + reportLatency: BlockNumber & AugmentedConst; + /** + * The number of recent samples to keep from this chain. Default is 101. + **/ + windowSize: BlockNumber & AugmentedConst; + }; + identity: { + [key: string]: Codec; + /** + * The amount held on deposit for a registered identity. + **/ + basicDeposit: BalanceOf & AugmentedConst; + /** + * The amount held on deposit per additional field for a registered identity. + **/ + fieldDeposit: BalanceOf & AugmentedConst; + /** + * Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O + * required to access an identity, but can be pretty high. + **/ + maxAdditionalFields: u32 & AugmentedConst; + /** + * Maxmimum number of registrars allowed in the system. Needed to bound the complexity + * of, e.g., updating judgements. + **/ + maxRegistrars: u32 & AugmentedConst; + /** + * The maximum number of sub-accounts allowed per identified account. + **/ + maxSubAccounts: u32 & AugmentedConst; + /** + * The amount held on deposit for a registered subaccount. This should account for the fact + * that one storage item's value will increase by the size of an account ID, and there will be + * another trie item whose value is the size of an account ID plus 32 bytes. + **/ + subAccountDeposit: BalanceOf & AugmentedConst; + }; + multisig: { + [key: string]: Codec; + /** + * The base amount of currency needed to reserve for creating a multisig execution or to store + * a dispatch call for later. + **/ + depositBase: BalanceOf & AugmentedConst; + /** + * The amount of currency needed per unit threshold when creating a multisig execution. + **/ + depositFactor: BalanceOf & AugmentedConst; + /** + * The maximum amount of signatories allowed for a given multisig. + **/ + maxSignatories: u16 & AugmentedConst; + }; + // @ts-ignore // staking also exist in polkadot at ../node_modules/@polkadot/api/augment/consts.d.ts + staking: { + [key: string]: Codec; + /** + * Number of eras that staked funds must remain bonded for. + **/ + bondingDuration: EraIndex & AugmentedConst; + /** + * Number of sessions per era. + **/ + sessionsPerEra: SessionIndex & AugmentedConst; + }; + system: { + [key: string]: Codec; + /** + * The base weight of executing a block, independent of the transactions in the block. + **/ + blockExecutionWeight: Weight & AugmentedConst; + /** + * The maximum number of blocks to allow in mortal eras. + **/ + blockHashCount: BlockNumber & AugmentedConst; + /** + * The weight of runtime database operations the runtime can invoke. + **/ + dbWeight: RuntimeDbWeight & AugmentedConst; + /** + * The base weight of an Extrinsic in the block, independent of the of extrinsic being executed. + **/ + extrinsicBaseWeight: Weight & AugmentedConst; + /** + * The maximum length of a block (in bytes). + **/ + maximumBlockLength: u32 & AugmentedConst; + /** + * The maximum weight of a block. + **/ + maximumBlockWeight: Weight & AugmentedConst; + }; + timestamp: { + [key: string]: Codec; + /** + * The minimum period between blocks. Beware that this is different to the *expected* period + * that the block production apparatus provides. Your chosen consensus system will generally + * work with this to determine a sensible block time. e.g. For Aura, it will be double this + * period on default settings. + **/ + minimumPeriod: Moment & AugmentedConst; + }; + transactionPayment: { + [key: string]: Codec; + /** + * The fee to be paid for making a transaction; the per-byte portion. + **/ + transactionByteFee: BalanceOf & AugmentedConst; + /** + * The polynomial that is applied in order to derive fee from weight. + **/ + weightToFee: Vec & AugmentedConst; + }; + treasury: { + [key: string]: Codec; + /** + * Percentage of the curator fee that will be reserved upfront as deposit for bounty curator. + **/ + bountyCuratorDeposit: Permill & AugmentedConst; + /** + * The amount held on deposit for placing a bounty proposal. + **/ + bountyDepositBase: BalanceOf & AugmentedConst; + /** + * The delay period for which a bounty beneficiary need to wait before claim the payout. + **/ + bountyDepositPayoutDelay: BlockNumber & AugmentedConst; + bountyValueMinimum: BalanceOf & AugmentedConst; + /** + * Percentage of spare funds (if any) that are burnt per spend period. + **/ + burn: Permill & AugmentedConst; + /** + * The amount held on deposit per byte within the tip report reason or bounty description. + **/ + dataDepositPerByte: BalanceOf & AugmentedConst; + /** + * Maximum acceptable reason length. + **/ + maximumReasonLength: u32 & AugmentedConst; + /** + * The treasury's module id, used for deriving its sovereign account ID. + **/ + moduleId: ModuleId & AugmentedConst; + /** + * Fraction of a proposal's value that should be bonded in order to place the proposal. + * An accepted proposal gets these back. A rejected proposal does not. + **/ + proposalBond: Permill & AugmentedConst; + /** + * Minimum amount of funds that should be placed in a deposit for making a proposal. + **/ + proposalBondMinimum: BalanceOf & AugmentedConst; + /** + * Period between successive spends. + **/ + spendPeriod: BlockNumber & AugmentedConst; + /** + * The period for which a tip remains open after is has achieved threshold tippers. + **/ + tipCountdown: BlockNumber & AugmentedConst; + /** + * The amount of the final tip which goes to the original reporter of the tip. + **/ + tipFindersFee: Percent & AugmentedConst; + /** + * The amount held on deposit for placing a tip report. + **/ + tipReportDepositBase: BalanceOf & AugmentedConst; + }; + } + + export interface QueryableConsts extends AugmentedConsts { + [key: string]: QueryableModuleConsts; + } +} diff --git a/packages/types/src/interfaces/augment-api-query.ts b/packages/types/src/interfaces/augment-api-query.ts new file mode 100644 index 000000000..dce1b0d86 --- /dev/null +++ b/packages/types/src/interfaces/augment-api-query.ts @@ -0,0 +1,906 @@ +// Auto-generated via `yarn polkadot-types-from-chain`, do not edit +/* eslint-disable */ + +import { AnyNumber, ITuple, Observable } from '@polkadot/types/types'; +import { Option, U8aFixed, Vec } from '@polkadot/types/codec'; +import { Bytes, Data, bool, u32, u64 } from '@polkadot/types/primitive'; +import { ExchangeKey, FeeRate } from './cennzx'; +import { AssetInfo } from './ga'; +import { RewardBalanceOf } from './staking'; +import { DeviceId, Group, Message, MessageId, PreKeyBundle, Response, VaultKey, VaultValue } from './sylo'; +import { UncleEntryItem } from '@polkadot/types/interfaces/authorship'; +import { + BabeAuthorityWeight, + MaybeRandomness, + NextConfigDescriptor, + Randomness, +} from '@polkadot/types/interfaces/babe'; +import { BalanceLock } from '@polkadot/types/interfaces/balances'; +import { ProposalIndex } from '@polkadot/types/interfaces/collective'; +import { AuthorityId } from '@polkadot/types/interfaces/consensus'; +import { PermissionVersions } from '@polkadot/types/interfaces/genericAsset'; +import { SetId, StoredPendingChange, StoredState } from '@polkadot/types/interfaces/grandpa'; +import { RegistrarInfo, Registration } from '@polkadot/types/interfaces/identity'; +import { AuthIndex } from '@polkadot/types/interfaces/imOnline'; +import { + DeferredOffenceOf, + Kind, + OffenceDetails, + OpaqueTimeSlot, + ReportIdOf, +} from '@polkadot/types/interfaces/offences'; +import { + AccountId, + AssetId, + Balance, + BalanceOf, + BlockNumber, + ExtrinsicsWeight, + Hash, + KeyTypeId, + Moment, + OpaqueCall, + Perbill, + Releases, + ValidatorId, +} from '@polkadot/types/interfaces/runtime'; +import { Scheduled, TaskAddress } from '@polkadot/types/interfaces/scheduler'; +import { Keys, SessionIndex } from '@polkadot/types/interfaces/session'; +import { + EraIndex, + EraPoints, + Exposure, + Forcing, + MomentOf, + Nominations, + RewardDestination, + SlashingSpans, + SpanIndex, + SpanRecord, + StakingLedger, + UnappliedSlash, + ValidatorPrefs, +} from '@polkadot/types/interfaces/staking'; +import { + AccountInfo, + DigestOf, + EventIndex, + EventRecord, + LastRuntimeUpgradeInfo, + Phase, +} from '@polkadot/types/interfaces/system'; +import { Bounty, BountyIndex, OpenTip, TreasuryProposal } from '@polkadot/types/interfaces/treasury'; +import { Multiplier } from '@polkadot/types/interfaces/txpayment'; +import { Multisig } from '@polkadot/types/interfaces/utility'; +import { ApiTypes } from '@polkadot/api/types'; + +declare module '@polkadot/api/types/storage' { + export interface AugmentedQueries { + authorship: { + [key: string]: QueryableStorageEntry; + /** + * Author of current block. + **/ + author: AugmentedQuery Observable>> & QueryableStorageEntry; + /** + * Whether uncles were already set in this block. + **/ + didSetUncles: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Uncles + **/ + uncles: AugmentedQuery Observable>> & QueryableStorageEntry; + }; + babe: { + [key: string]: QueryableStorageEntry; + /** + * Current epoch authorities. + **/ + authorities: AugmentedQuery Observable>>> & + QueryableStorageEntry; + /** + * Current slot number. + **/ + currentSlot: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Current epoch index. + **/ + epochIndex: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * The slot at which the first epoch actually started. This is 0 + * until the first block of the chain. + **/ + genesisSlot: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Temporary value (cleared at block finalization) which is `Some` + * if per-block initialization has already been called for current block. + **/ + initialized: AugmentedQuery Observable>> & QueryableStorageEntry; + /** + * How late the current block is compared to its parent. + * + * This entry is populated as part of block execution and is cleaned up + * on block finalization. Querying this storage entry outside of block + * execution context should always yield zero. + **/ + lateness: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Next epoch configuration, if changed. + **/ + nextEpochConfig: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * Next epoch randomness. + **/ + nextRandomness: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * The epoch randomness for the *current* epoch. + * + * # Security + * + * This MUST NOT be used for gambling, as it can be influenced by a + * malicious validator in the short term. It MAY be used in many + * cryptographic protocols, however, so long as one remembers that this + * (like everything else on-chain) it is public. For example, it can be + * used where a number is needed that cannot have been chosen by an + * adversary, for purposes such as public-coin zero-knowledge proofs. + **/ + randomness: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Randomness under construction. + * + * We make a tradeoff between storage accesses and list length. + * We store the under-construction randomness in segments of up to + * `UNDER_CONSTRUCTION_SEGMENT_LENGTH`. + * + * Once a segment reaches this length, we begin the next one. + * We reset all segments and return to `0` at the beginning of every + * epoch. + **/ + segmentIndex: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay. + **/ + underConstruction: AugmentedQuery Observable>> & + QueryableStorageEntry; + }; + cennzx: { + [key: string]: QueryableStorageEntry; + /** + * Asset Id of the core liquidity asset + **/ + coreAssetId: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Default trading fee rate + **/ + defaultFeeRate: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Liquidity holdings of a user in an exchange pool. + * Key: `(core_asset_id, trade_asset_id), account_id` + **/ + liquidityBalance: AugmentedQueryDoubleMap< + ApiType, + (key1: ExchangeKey, key2: AccountId | string | Uint8Array) => Observable + > & + QueryableStorageEntry; + /** + * Total liquidity holdings of all investors in an exchange. + * ie/ total_liquidity(exchange) == sum(liquidity_balance(exchange, user)) at all times + **/ + totalLiquidity: AugmentedQuery Observable> & + QueryableStorageEntry; + }; + finalityTracker: { + [key: string]: QueryableStorageEntry; + initialized: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * The median. + **/ + median: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Ordered recent hints. + **/ + orderedHints: AugmentedQuery Observable>> & QueryableStorageEntry; + /** + * Recent hints. + **/ + recentHints: AugmentedQuery Observable>> & QueryableStorageEntry; + /** + * Final hint to apply in the block. `None` means "same as parent". + **/ + update: AugmentedQuery Observable>> & QueryableStorageEntry; + }; + genericAsset: { + [key: string]: QueryableStorageEntry; + /** + * The info for assets + **/ + assetMeta: AugmentedQuery Observable> & + QueryableStorageEntry; + /** + * The free balance of a given asset under an account. + * + * TWOX-NOTE: `AssetId` is trusted. + **/ + freeBalance: AugmentedQueryDoubleMap< + ApiType, + (key1: AssetId | AnyNumber | Uint8Array, key2: AccountId | string | Uint8Array) => Observable + > & + QueryableStorageEntry; + /** + * Any liquidity locks on some account balances. + **/ + locks: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * Next available ID for user-created asset. + **/ + nextAssetId: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Permission options for a given asset. + * + * TWOX-NOTE: `AssetId` is trusted. + **/ + permissions: AugmentedQuery Observable> & + QueryableStorageEntry; + /** + * The reserved balance of a given asset under an account. + * + * TWOX-NOTE: `AssetId` is trusted. + **/ + reservedBalance: AugmentedQueryDoubleMap< + ApiType, + (key1: AssetId | AnyNumber | Uint8Array, key2: AccountId | string | Uint8Array) => Observable + > & + QueryableStorageEntry; + /** + * The identity of the asset which is the one that is designated for paying the chain's transaction fee. + **/ + spendingAssetId: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * The identity of the asset which is the one that is designated for the chain's staking system. + **/ + stakingAssetId: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Total issuance of a given asset. + * + * TWOX-NOTE: `AssetId` is trusted. + **/ + totalIssuance: AugmentedQuery Observable> & + QueryableStorageEntry; + }; + grandpa: { + [key: string]: QueryableStorageEntry; + /** + * The number of changes (both in terms of keys and underlying economic responsibilities) + * in the "set" of Grandpa validators from genesis. + **/ + currentSetId: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * next block number where we can force a change. + **/ + nextForced: AugmentedQuery Observable>> & QueryableStorageEntry; + /** + * Pending change: (signaled at, scheduled change). + **/ + pendingChange: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * A mapping from grandpa set ID to the index of the *most recent* session for which its + * members were responsible. + * + * TWOX-NOTE: `SetId` is not under user control. + **/ + setIdSession: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * `true` if we are currently stalled. + **/ + stalled: AugmentedQuery Observable>>> & + QueryableStorageEntry; + /** + * State of the current authority set. + **/ + state: AugmentedQuery Observable> & QueryableStorageEntry; + }; + identity: { + [key: string]: QueryableStorageEntry; + /** + * Information that is pertinent to identify the entity behind an account. + * + * TWOX-NOTE: OK ― `AccountId` is a secure hash. + **/ + identityOf: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * The set of registrars. Not expected to get very big as can only be added through a + * special origin (likely a council motion). + * + * The index into this can be cast to `RegistrarIndex` to get a valid value. + **/ + registrars: AugmentedQuery Observable>>> & + QueryableStorageEntry; + /** + * Alternative "sub" identities of this account. + * + * The first item is the deposit, the second is a vector of the accounts. + * + * TWOX-NOTE: OK ― `AccountId` is a secure hash. + **/ + subsOf: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable]>> + > & + QueryableStorageEntry; + /** + * The super-identity of an alternative "sub" identity together with its name, within that + * context. If the account is not some other account's sub-identity, then just `None`. + **/ + superOf: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable>> + > & + QueryableStorageEntry; + }; + imOnline: { + [key: string]: QueryableStorageEntry; + /** + * For each session index, we keep a mapping of `T::ValidatorId` to the + * number of blocks authored by the given authority. + **/ + authoredBlocks: AugmentedQueryDoubleMap< + ApiType, + (key1: SessionIndex | AnyNumber | Uint8Array, key2: ValidatorId | string | Uint8Array) => Observable + > & + QueryableStorageEntry; + /** + * The block number after which it's ok to send heartbeats in current session. + * + * At the beginning of each session we set this to a value that should + * fall roughly in the middle of the session duration. + * The idea is to first wait for the validators to produce a block + * in the current session, so that the heartbeat later on will not be necessary. + **/ + heartbeatAfter: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * The current set of keys that may issue a heartbeat. + **/ + keys: AugmentedQuery Observable>> & QueryableStorageEntry; + /** + * For each session index, we keep a mapping of `AuthIndex` to + * `offchain::OpaqueNetworkState`. + **/ + receivedHeartbeats: AugmentedQueryDoubleMap< + ApiType, + ( + key1: SessionIndex | AnyNumber | Uint8Array, + key2: AuthIndex | AnyNumber | Uint8Array + ) => Observable> + > & + QueryableStorageEntry; + }; + multisig: { + [key: string]: QueryableStorageEntry; + calls: AugmentedQuery< + ApiType, + (arg: U8aFixed | string | Uint8Array) => Observable>> + > & + QueryableStorageEntry; + /** + * The set of open multisig operations. + **/ + multisigs: AugmentedQueryDoubleMap< + ApiType, + (key1: AccountId | string | Uint8Array, key2: U8aFixed | string | Uint8Array) => Observable> + > & + QueryableStorageEntry; + }; + offences: { + [key: string]: QueryableStorageEntry; + /** + * A vector of reports of the same kind that happened at the same time slot. + **/ + concurrentReportsIndex: AugmentedQueryDoubleMap< + ApiType, + (key1: Kind | string | Uint8Array, key2: OpaqueTimeSlot | string | Uint8Array) => Observable> + > & + QueryableStorageEntry; + /** + * Deferred reports that have been rejected by the offence handler and need to be submitted + * at a later time. + **/ + deferredOffences: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * The primary structure that holds all offence records keyed by report identifiers. + **/ + reports: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * Enumerates all reports of a kind along with the time they happened. + * + * All reports are sorted by the time of offence. + * + * Note that the actual type of this mapping is `Vec`, this is because values of + * different types are not supported at the moment so we are doing the manual serialization. + **/ + reportsByKindIndex: AugmentedQuery Observable> & + QueryableStorageEntry; + }; + randomnessCollectiveFlip: { + [key: string]: QueryableStorageEntry; + /** + * Series of block headers from the last 81 blocks that acts as random seed material. This + * is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of + * the oldest hash. + **/ + randomMaterial: AugmentedQuery Observable>> & QueryableStorageEntry; + }; + scheduler: { + [key: string]: QueryableStorageEntry; + /** + * Items to be executed, indexed by the block number that they should be executed on. + **/ + agenda: AugmentedQuery< + ApiType, + (arg: BlockNumber | AnyNumber | Uint8Array) => Observable>> + > & + QueryableStorageEntry; + /** + * Lookup from identity to the block number and index of the task. + **/ + lookup: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * Storage version of the pallet. + * + * New networks start with last version. + **/ + storageVersion: AugmentedQuery Observable> & QueryableStorageEntry; + }; + session: { + [key: string]: QueryableStorageEntry; + /** + * Current index of the session. + **/ + currentIndex: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Indices of disabled validators. + * + * The set is cleared when `on_session_ending` returns a new set of identities. + **/ + disabledValidators: AugmentedQuery Observable>> & QueryableStorageEntry; + /** + * The owner of a key. The key is the `KeyTypeId` + the encoded key. + **/ + keyOwner: AugmentedQuery< + ApiType, + ( + arg: ITuple<[KeyTypeId, Bytes]> | [KeyTypeId | AnyNumber | Uint8Array, Bytes | string | Uint8Array] + ) => Observable> + > & + QueryableStorageEntry; + /** + * The next session keys for a validator. + **/ + nextKeys: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * True if the underlying economic identities or weighting behind the validators + * has changed in the queued validator set. + **/ + queuedChanged: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * The queued keys for the next session. When the next session begins, these keys + * will be used to determine the validator's session keys. + **/ + queuedKeys: AugmentedQuery Observable>>> & + QueryableStorageEntry; + /** + * The current set of validators. + **/ + validators: AugmentedQuery Observable>> & QueryableStorageEntry; + }; + // @ts-ignore // staking also exist in polkadot at ../node_modules/@polkadot/api/augment/query.d.ts:583:9 + staking: { + [key: string]: QueryableStorageEntry; + /** + * Map from all locked "stash" accounts to the controller account. + **/ + bonded: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * A mapping from still-bonded eras to the first session index of that era. + **/ + bondedEras: AugmentedQuery Observable>>> & + QueryableStorageEntry; + /** + * The amount of currency given to reporters of a slash event which was + * canceled by extraordinary circumstances (e.g. governance). + **/ + canceledSlashPayout: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * The currently elected validator set keyed by stash account ID. + **/ + currentElected: AugmentedQuery Observable>> & QueryableStorageEntry; + /** + * The current era index. + **/ + currentEra: AugmentedQuery Observable> & QueryableStorageEntry; + currentEraDuration: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Total transaction payment rewards for elected validators + **/ + currentEraFeeRewards: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Rewards for the current era. Using indices of current elected set. + **/ + currentEraPointsEarned: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * The start of the current era. + **/ + currentEraStart: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * The session index at which the current era started. + **/ + currentEraStartSessionIndex: AugmentedQuery Observable> & + QueryableStorageEntry; + /** + * The earliest era for which we have a pending, unapplied slash. + **/ + earliestUnappliedSlash: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * True if the next session change will be a new era regardless of index. + **/ + forceEra: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Any validators that may never be slashed or forcibly kicked. It's a Vec since they're + * easy to initialize and the performance hit is minimal (we expect no more than four + * invulnerables) and restricted to testnets. + **/ + invulnerables: AugmentedQuery Observable>> & QueryableStorageEntry; + /** + * Map from all (unlocked) "controller" accounts to the info regarding the staking. + **/ + ledger: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * Minimum amount to bond. + **/ + minimumBond: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Minimum number of staking participants before emergency conditions are imposed. + **/ + minimumValidatorCount: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * The map from nominator stash key to the set of stash keys of all validators to nominate. + * + * NOTE: is private so that we can ensure upgraded before all typical accesses. + * Direct storage APIs can still bypass this protection. + **/ + nominators: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * All slashing events on nominators, mapped by era to the highest slash value of the era. + **/ + nominatorSlashInEra: AugmentedQueryDoubleMap< + ApiType, + ( + key1: EraIndex | AnyNumber | Uint8Array, + key2: AccountId | string | Uint8Array + ) => Observable> + > & + QueryableStorageEntry; + /** + * Where the reward payment should be made. Keyed by stash. + **/ + payee: AugmentedQuery Observable> & + QueryableStorageEntry; + /** + * Slashing spans for stash accounts. + **/ + slashingSpans: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable> + > & + QueryableStorageEntry; + /** + * The percentage of the slash that is distributed to reporters. + * + * The rest of the slashed value is handled by the `Slash`. + **/ + slashRewardFraction: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * The amount of balance actively at stake for each validator slot, currently. + * + * This is used to derive rewards and punishments. + **/ + slotStake: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Records information about the maximum slash of a stash within a slashing span, + * as well as how much reward has been paid out. + **/ + spanSlash: AugmentedQuery< + ApiType, + ( + arg: ITuple<[AccountId, SpanIndex]> | [AccountId | string | Uint8Array, SpanIndex | AnyNumber | Uint8Array] + ) => Observable + > & + QueryableStorageEntry; + /** + * Nominators for a particular account that is in action right now. You can't iterate + * through validators here, but you can find them in the Session module. + * + * This is keyed by the stash account. + **/ + stakers: AugmentedQuery Observable> & + QueryableStorageEntry; + /** + * The version of storage for upgrade. + **/ + storageVersion: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * All unapplied slashes that are queued for later. + **/ + unappliedSlashes: AugmentedQuery< + ApiType, + (arg: EraIndex | AnyNumber | Uint8Array) => Observable> + > & + QueryableStorageEntry; + /** + * The ideal number of staking participants. + **/ + validatorCount: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * The map from (wannabe) validator stash key to the preferences of that validator. + **/ + validators: AugmentedQuery Observable> & + QueryableStorageEntry; + /** + * All slashing events on validators, mapped by era to the highest slash proportion + * and slash value of the era. + **/ + validatorSlashInEra: AugmentedQueryDoubleMap< + ApiType, + ( + key1: EraIndex | AnyNumber | Uint8Array, + key2: AccountId | string | Uint8Array + ) => Observable>> + > & + QueryableStorageEntry; + }; + sudo: { + [key: string]: QueryableStorageEntry; + /** + * The `AccountId` of the sudo key. + **/ + key: AugmentedQuery Observable> & QueryableStorageEntry; + }; + syloDevice: { + [key: string]: QueryableStorageEntry; + devices: AugmentedQuery Observable>> & + QueryableStorageEntry; + }; + syloE2Ee: { + [key: string]: QueryableStorageEntry; + preKeyBundles: AugmentedQuery< + ApiType, + ( + arg: ITuple<[AccountId, DeviceId]> | [AccountId | string | Uint8Array, DeviceId | AnyNumber | Uint8Array] + ) => Observable> + > & + QueryableStorageEntry; + }; + syloGroups: { + [key: string]: QueryableStorageEntry; + groups: AugmentedQuery Observable> & + QueryableStorageEntry; + /** + * Stores the known member/deviceId tuples for a particular group + **/ + memberDevices: AugmentedQuery< + ApiType, + (arg: Hash | string | Uint8Array) => Observable>> + > & + QueryableStorageEntry; + /** + * Stores the group ids that a user is a member of + **/ + memberships: AugmentedQuery Observable>> & + QueryableStorageEntry; + }; + syloInbox: { + [key: string]: QueryableStorageEntry; + nextIndexes: AugmentedQuery Observable> & + QueryableStorageEntry; + values: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable>> + > & + QueryableStorageEntry; + }; + syloPayment: { + [key: string]: QueryableStorageEntry; + /** + * Accounts which have authority to pay for Sylo fees on behalf of the users + **/ + authorisedPayers: AugmentedQuery Observable>> & QueryableStorageEntry; + }; + syloResponse: { + [key: string]: QueryableStorageEntry; + responses: AugmentedQuery< + ApiType, + ( + arg: ITuple<[AccountId, Hash]> | [AccountId | string | Uint8Array, Hash | string | Uint8Array] + ) => Observable + > & + QueryableStorageEntry; + }; + syloVault: { + [key: string]: QueryableStorageEntry; + vault: AugmentedQuery< + ApiType, + (arg: AccountId | string | Uint8Array) => Observable>> + > & + QueryableStorageEntry; + }; + system: { + [key: string]: QueryableStorageEntry; + /** + * The full account information for a particular account ID. + **/ + account: AugmentedQuery Observable> & + QueryableStorageEntry; + /** + * Total length (in bytes) for all extrinsics put together, for the current block. + **/ + allExtrinsicsLen: AugmentedQuery Observable>> & QueryableStorageEntry; + /** + * Map of block numbers to block hashes. + **/ + blockHash: AugmentedQuery Observable> & + QueryableStorageEntry; + /** + * The current weight for the block. + **/ + blockWeight: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Digest of the current block, also part of the block header. + **/ + digest: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * The number of events in the `Events` list. + **/ + eventCount: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Events deposited for the current block. + **/ + events: AugmentedQuery Observable>> & QueryableStorageEntry; + /** + * Mapping between a topic (represented by T::Hash) and a vector of indexes + * of events in the `>` list. + * + * All topic vectors have deterministic storage locations depending on the topic. This + * allows light-clients to leverage the changes trie storage tracking mechanism and + * in case of changes fetch the list of events of interest. + * + * The value has the type `(T::BlockNumber, EventIndex)` because if we used only just + * the `EventIndex` then in case if the topic has the same contents on the next block + * no notification will be triggered thus the event might be lost. + **/ + eventTopics: AugmentedQuery< + ApiType, + (arg: Hash | string | Uint8Array) => Observable>> + > & + QueryableStorageEntry; + /** + * The execution phase of the block. + **/ + executionPhase: AugmentedQuery Observable>> & QueryableStorageEntry; + /** + * Total extrinsics count for the current block. + **/ + extrinsicCount: AugmentedQuery Observable>> & QueryableStorageEntry; + /** + * Extrinsics data for the current block (maps an extrinsic's index to its data). + **/ + extrinsicData: AugmentedQuery Observable> & + QueryableStorageEntry; + /** + * Extrinsics root of the current block, also part of the block header. + **/ + extrinsicsRoot: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened. + **/ + lastRuntimeUpgrade: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * The current block number being processed. Set by `execute_block`. + **/ + number: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Hash of the previous block. + **/ + parentHash: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * True if we have upgraded so that `type RefCount` is `u32`. False (default) if not. + **/ + upgradedToU32RefCount: AugmentedQuery Observable> & QueryableStorageEntry; + }; + timestamp: { + [key: string]: QueryableStorageEntry; + /** + * Did the timestamp get updated in this block? + **/ + didUpdate: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Current time for the current block. + **/ + now: AugmentedQuery Observable> & QueryableStorageEntry; + }; + transactionPayment: { + [key: string]: QueryableStorageEntry; + nextFeeMultiplier: AugmentedQuery Observable> & QueryableStorageEntry; + storageVersion: AugmentedQuery Observable> & QueryableStorageEntry; + }; + treasury: { + [key: string]: QueryableStorageEntry; + /** + * Proposal indices that have been approved but not yet awarded. + **/ + approvals: AugmentedQuery Observable>> & QueryableStorageEntry; + /** + * Bounties that have been made. + **/ + bounties: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * Bounty indices that have been approved but not yet funded. + **/ + bountyApprovals: AugmentedQuery Observable>> & QueryableStorageEntry; + /** + * Number of bounty proposals that have been made. + **/ + bountyCount: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * The description of each bounty. + **/ + bountyDescriptions: AugmentedQuery< + ApiType, + (arg: BountyIndex | AnyNumber | Uint8Array) => Observable> + > & + QueryableStorageEntry; + /** + * Number of proposals that have been made. + **/ + proposalCount: AugmentedQuery Observable> & QueryableStorageEntry; + /** + * Proposals that have been made. + **/ + proposals: AugmentedQuery< + ApiType, + (arg: ProposalIndex | AnyNumber | Uint8Array) => Observable> + > & + QueryableStorageEntry; + /** + * Simple preimage lookup from the reason's hash to the original data. Again, has an + * insecure enumerable hash since the key is guaranteed to be the result of a secure hash. + **/ + reasons: AugmentedQuery Observable>> & + QueryableStorageEntry; + /** + * Tips that are not yet completed. Keyed by the hash of `(reason, who)` from the value. + * This has the insecure enumerable hash function since the key itself is already + * guaranteed to be a secure hash. + **/ + tips: AugmentedQuery Observable>> & + QueryableStorageEntry; + }; + } + + export interface QueryableStorage extends AugmentedQueries { + [key: string]: QueryableModuleStorage; + } +} diff --git a/packages/types/src/interfaces/augment-api-tx.ts b/packages/types/src/interfaces/augment-api-tx.ts new file mode 100644 index 000000000..4287a222a --- /dev/null +++ b/packages/types/src/interfaces/augment-api-tx.ts @@ -0,0 +1,2144 @@ +// Auto-generated via `yarn polkadot-types-from-chain`, do not edit +/* eslint-disable */ + +import { AnyNumber, ITuple } from '@polkadot/types/types'; +import { Compact, Option, U8aFixed, Vec } from '@polkadot/types/codec'; +import { Bytes, Data, bool, u16, u32, u64 } from '@polkadot/types/primitive'; +import { FeeRate } from './cennzx'; +import { AssetInfo } from './ga'; +import { AcceptPayload, DeviceId, Invite, Message, MessageId, Meta, PreKeyBundle, VaultKey, VaultValue } from './sylo'; +import { BabeEquivocationProof } from '@polkadot/types/interfaces/babe'; +import { ProposalIndex } from '@polkadot/types/interfaces/collective'; +import { Extrinsic, Signature } from '@polkadot/types/interfaces/extrinsics'; +import { AssetOptions, PermissionLatest } from '@polkadot/types/interfaces/genericAsset'; +import { GrandpaEquivocationProof, KeyOwnerProof } from '@polkadot/types/interfaces/grandpa'; +import { IdentityFields, IdentityInfo, IdentityJudgement, RegistrarIndex } from '@polkadot/types/interfaces/identity'; +import { Heartbeat } from '@polkadot/types/interfaces/imOnline'; +import { + AccountId, + AccountIndex, + Address, + AssetId, + Balance, + BalanceOf, + BlockNumber, + Call, + ChangesTrieConfiguration, + H256, + Hash, + Header, + KeyValue, + LookupSource, + Moment, + OpaqueCall, + Perbill, + Weight, +} from '@polkadot/types/interfaces/runtime'; +import { Period, Priority } from '@polkadot/types/interfaces/scheduler'; +import { Keys } from '@polkadot/types/interfaces/session'; +import { EraIndex, RewardDestination, ValidatorPrefs } from '@polkadot/types/interfaces/staking'; +import { Key } from '@polkadot/types/interfaces/system'; +import { BountyIndex } from '@polkadot/types/interfaces/treasury'; +import { Timepoint } from '@polkadot/types/interfaces/utility'; +import { ApiTypes, SubmittableExtrinsic } from '@polkadot/api/types'; + +declare module '@polkadot/api/types/submittable' { + export interface AugmentedSubmittables { + authorship: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Provide a set of uncles. + **/ + setUncles: AugmentedSubmittable< + ( + newUncles: + | Vec
+ | ( + | Header + | { parentHash?: any; number?: any; stateRoot?: any; extrinsicsRoot?: any; digest?: any } + | string + | Uint8Array + )[] + ) => SubmittableExtrinsic + >; + }; + babe: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Report authority equivocation/misbehavior. This method will verify + * the equivocation proof and validate the given key ownership proof + * against the extracted offender. If both are valid, the offence will + * be reported. + **/ + reportEquivocation: AugmentedSubmittable< + ( + equivocationProof: + | BabeEquivocationProof + | { offender?: any; slotNumber?: any; firstHeader?: any; secondHeader?: any } + | string + | Uint8Array, + keyOwnerProof: KeyOwnerProof | { session?: any; trieNodes?: any; validatorCount?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Report authority equivocation/misbehavior. This method will verify + * the equivocation proof and validate the given key ownership proof + * against the extracted offender. If both are valid, the offence will + * be reported. + * This extrinsic must be called unsigned and it is expected that only + * block authors will call it (validated in `ValidateUnsigned`), as such + * if the block author is defined it will be defined as the equivocation + * reporter. + **/ + reportEquivocationUnsigned: AugmentedSubmittable< + ( + equivocationProof: + | BabeEquivocationProof + | { offender?: any; slotNumber?: any; firstHeader?: any; secondHeader?: any } + | string + | Uint8Array, + keyOwnerProof: KeyOwnerProof | { session?: any; trieNodes?: any; validatorCount?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + }; + cennzx: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Deposit core asset and trade asset at current ratio to mint liquidity + * Returns amount of liquidity minted. + * + * `origin` + * `asset_id` - The trade asset ID + * `min_liquidity` - The minimum liquidity to add + * `asset_amount` - Amount of trade asset to add + * `core_amount` - Amount of core asset to add + **/ + addLiquidity: AugmentedSubmittable< + ( + assetId: Compact | AnyNumber | Uint8Array, + minLiquidity: Compact | AnyNumber | Uint8Array, + maxAssetAmount: Compact | AnyNumber | Uint8Array, + coreAmount: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Buy `asset_to_buy` with `asset_to_sell`. + * Caller specifies an exact `buy_amount` and a `maximum_sell` amount to pay. + * + * `recipient` - Account to receive assets, defaults to `origin` if None + * `asset_to_sell` - asset ID to sell + * `asset_to_buy` - asset ID to buy + * `buy_amount` - The amount of `asset_to_buy` to receive + * `maximum_sell` - Maximum `asset_to_sell` caller should pay + **/ + buyAsset: AugmentedSubmittable< + ( + recipient: Option | null | object | string | Uint8Array, + assetToSell: Compact | AnyNumber | Uint8Array, + assetToBuy: Compact | AnyNumber | Uint8Array, + buyAmount: Compact | AnyNumber | Uint8Array, + maximumSell: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Burn exchange assets to withdraw core asset and trade asset at current ratio + * + * `asset_id` - The trade asset ID + * `liquidity_to_withdraw` - Amount of user's liquidity to withdraw + * `min_asset_withdraw` - The minimum trade asset withdrawn + * `min_core_withdraw` - The minimum core asset withdrawn + **/ + removeLiquidity: AugmentedSubmittable< + ( + assetId: Compact | AnyNumber | Uint8Array, + liquidityToWithdraw: Compact | AnyNumber | Uint8Array, + minAssetWithdraw: Compact | AnyNumber | Uint8Array, + minCoreWithdraw: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Sell `asset_to_sell` for `asset_to_buy`. + * Caller specifies an exact `sell_amount` and a `minimum_buy` amount to receive. + * + * `recipient` - Account to receive assets, defaults to `origin` if None + * `asset_to_sell` - asset ID to sell + * `asset_to_buy` - asset ID to buy + * `sell_amount` - The amount of `asset_to_sell` the caller should pay + * `minimum_buy` - The minimum `asset_to_buy` to receive + **/ + sellAsset: AugmentedSubmittable< + ( + recipient: Option | null | object | string | Uint8Array, + assetToSell: Compact | AnyNumber | Uint8Array, + assetToBuy: Compact | AnyNumber | Uint8Array, + sellAmount: Compact | AnyNumber | Uint8Array, + minimumBuy: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Set the spot exchange wide fee rate (root only) + **/ + setFeeRate: AugmentedSubmittable<(newFeeRate: FeeRate | AnyNumber | Uint8Array) => SubmittableExtrinsic>; + }; + finalityTracker: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Hint that the author of this block thinks the best finalized + * block is the given number. + **/ + finalHint: AugmentedSubmittable< + (hint: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + }; + genericAsset: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Burns an asset, decreases its total issuance. Deduct the money from target account + * The `origin` must have `burn` permissions. + * + * Weights: + * O(1) Limited number of reads/writes. + **/ + burn: AugmentedSubmittable< + ( + assetId: Compact | AnyNumber | Uint8Array, + target: AccountId | string | Uint8Array, + amount: Balance | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Create a new kind of asset and nominates the owner of this asset. + * The asset_id will be the next unoccupied asset_id + * Accounts who will have the permissions to mint/burn/change permission are passed in via 'options' + * origin of this call must be root. + * + * Weights: + * O(1) Limited number of read and writes. + * Should not be called often. + **/ + create: AugmentedSubmittable< + ( + owner: AccountId | string | Uint8Array, + options: AssetOptions | { initialIssuance?: any; permissions?: any } | string | Uint8Array, + info: AssetInfo | { symbol?: any; decimalPlaces?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Create a new asset with reserved asset_id. + * Internally calls create_asset with an asset_id + * Requires Root call. + * + * Weights: + * O(1) Limited read/writes + **/ + createReserved: AugmentedSubmittable< + ( + assetId: AssetId | AnyNumber | Uint8Array, + options: AssetOptions | { initialIssuance?: any; permissions?: any } | string | Uint8Array, + info: AssetInfo | { symbol?: any; decimalPlaces?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Mints an asset, increases its total issuance. Deposits the newly minted currency into target account + * The origin must have `mint` permissions. + * + * Weights: + * O(1) limited number of read/writes + **/ + mint: AugmentedSubmittable< + ( + assetId: Compact | AnyNumber | Uint8Array, + to: AccountId | string | Uint8Array, + amount: Balance | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Transfer some liquid free balance to another account. + * + * `transfer` will set the `FreeBalance` of the sender and receiver. + * It will decrease the total issuance of the system by the `TransferFee`. + * If the sender's account is below the existential deposit as a result + * of the transfer, the account will be reaped. + * + * The dispatch origin for this call must be `Signed` by the transactor. + * + * # + * - Dependent on arguments but not critical, given proper implementations for + * input config types. See related functions below. + * - It contains a limited number of reads and writes internally and no complex computation. + * + * # + **/ + transfer: AugmentedSubmittable< + ( + assetId: Compact | AnyNumber | Uint8Array, + to: AccountId | string | Uint8Array, + amount: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Updates asset info for a given `asset_id`. + * + * The `origin` must have `update` permission. + * + * weights: + * O(1) limited number of read and writes + * Expected to not be called frequently + **/ + updateAssetInfo: AugmentedSubmittable< + ( + assetId: Compact | AnyNumber | Uint8Array, + info: AssetInfo | { symbol?: any; decimalPlaces?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Updates permissions(mint/burn/change permission) for a given `asset_id` and an account. + * + * The `origin` must have `update` permission. + * + * weights: + * O(1) limited number of read and writes + * Expected to not be called frequently + **/ + updatePermission: AugmentedSubmittable< + ( + assetId: Compact | AnyNumber | Uint8Array, + newPermission: PermissionLatest | { update?: any; mint?: any; burn?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + }; + grandpa: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Note that the current authority set of the GRANDPA finality gadget has + * stalled. This will trigger a forced authority set change at the beginning + * of the next session, to be enacted `delay` blocks after that. The delay + * should be high enough to safely assume that the block signalling the + * forced change will not be re-orged (e.g. 1000 blocks). The GRANDPA voters + * will start the new authority set using the given finalized block as base. + * Only callable by root. + **/ + noteStalled: AugmentedSubmittable< + ( + delay: BlockNumber | AnyNumber | Uint8Array, + bestFinalizedBlockNumber: BlockNumber | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Report voter equivocation/misbehavior. This method will verify the + * equivocation proof and validate the given key ownership proof + * against the extracted offender. If both are valid, the offence + * will be reported. + **/ + reportEquivocation: AugmentedSubmittable< + ( + equivocationProof: GrandpaEquivocationProof | { setId?: any; equivocation?: any } | string | Uint8Array, + keyOwnerProof: KeyOwnerProof | { session?: any; trieNodes?: any; validatorCount?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Report voter equivocation/misbehavior. This method will verify the + * equivocation proof and validate the given key ownership proof + * against the extracted offender. If both are valid, the offence + * will be reported. + * + * This extrinsic must be called unsigned and it is expected that only + * block authors will call it (validated in `ValidateUnsigned`), as such + * if the block author is defined it will be defined as the equivocation + * reporter. + **/ + reportEquivocationUnsigned: AugmentedSubmittable< + ( + equivocationProof: GrandpaEquivocationProof | { setId?: any; equivocation?: any } | string | Uint8Array, + keyOwnerProof: KeyOwnerProof | { session?: any; trieNodes?: any; validatorCount?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + }; + identity: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Add a registrar to the system. + * + * The dispatch origin for this call must be `T::RegistrarOrigin`. + * + * - `account`: the account of the registrar. + * + * Emits `RegistrarAdded` if successful. + * + * # + * - `O(R)` where `R` registrar-count (governance-bounded and code-bounded). + * - One storage mutation (codec `O(R)`). + * - One event. + * # + **/ + addRegistrar: AugmentedSubmittable<(account: AccountId | string | Uint8Array) => SubmittableExtrinsic>; + /** + * Add the given account to the sender's subs. + * + * Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated + * to the sender. + * + * The dispatch origin for this call must be _Signed_ and the sender must have a registered + * sub identity of `sub`. + **/ + addSub: AugmentedSubmittable< + ( + sub: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, + data: + | Data + | { None: any } + | { Raw: any } + | { BlakeTwo256: any } + | { Sha256: any } + | { Keccak256: any } + | { ShaThree256: any } + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Cancel a previous request. + * + * Payment: A previously reserved deposit is returned on success. + * + * The dispatch origin for this call must be _Signed_ and the sender must have a + * registered identity. + * + * - `reg_index`: The index of the registrar whose judgement is no longer requested. + * + * Emits `JudgementUnrequested` if successful. + * + * # + * - `O(R + X)`. + * - One balance-reserve operation. + * - One storage mutation `O(R + X)`. + * - One event + * # + **/ + cancelRequest: AugmentedSubmittable< + (regIndex: RegistrarIndex | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + /** + * Clear an account's identity info and all sub-accounts and return all deposits. + * + * Payment: All reserved balances on the account are returned. + * + * The dispatch origin for this call must be _Signed_ and the sender must have a registered + * identity. + * + * Emits `IdentityCleared` if successful. + * + * # + * - `O(R + S + X)` + * - where `R` registrar-count (governance-bounded). + * - where `S` subs-count (hard- and deposit-bounded). + * - where `X` additional-field-count (deposit-bounded and code-bounded). + * - One balance-unreserve operation. + * - `2` storage reads and `S + 2` storage deletions. + * - One event. + * # + **/ + clearIdentity: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Remove an account's identity and sub-account information and slash the deposits. + * + * Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by + * `Slash`. Verification request deposits are not returned; they should be cancelled + * manually using `cancel_request`. + * + * The dispatch origin for this call must match `T::ForceOrigin`. + * + * - `target`: the account whose identity the judgement is upon. This must be an account + * with a registered identity. + * + * Emits `IdentityKilled` if successful. + * + * # + * - `O(R + S + X)`. + * - One balance-reserve operation. + * - `S + 2` storage mutations. + * - One event. + * # + **/ + killIdentity: AugmentedSubmittable< + ( + target: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Provide a judgement for an account's identity. + * + * The dispatch origin for this call must be _Signed_ and the sender must be the account + * of the registrar whose index is `reg_index`. + * + * - `reg_index`: the index of the registrar whose judgement is being made. + * - `target`: the account whose identity the judgement is upon. This must be an account + * with a registered identity. + * - `judgement`: the judgement of the registrar of index `reg_index` about `target`. + * + * Emits `JudgementGiven` if successful. + * + * # + * - `O(R + X)`. + * - One balance-transfer operation. + * - Up to one account-lookup operation. + * - Storage: 1 read `O(R)`, 1 mutate `O(R + X)`. + * - One event. + * # + **/ + provideJudgement: AugmentedSubmittable< + ( + regIndex: Compact | AnyNumber | Uint8Array, + target: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, + judgement: + | IdentityJudgement + | { Unknown: any } + | { FeePaid: any } + | { Reasonable: any } + | { KnownGood: any } + | { OutOfDate: any } + | { LowQuality: any } + | { Erroneous: any } + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Remove the sender as a sub-account. + * + * Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated + * to the sender (*not* the original depositor). + * + * The dispatch origin for this call must be _Signed_ and the sender must have a registered + * super-identity. + * + * NOTE: This should not normally be used, but is provided in the case that the non- + * controller of an account is maliciously registered as a sub-account. + **/ + quitSub: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Remove the given account from the sender's subs. + * + * Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated + * to the sender. + * + * The dispatch origin for this call must be _Signed_ and the sender must have a registered + * sub identity of `sub`. + **/ + removeSub: AugmentedSubmittable< + ( + sub: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Alter the associated name of the given sub-account. + * + * The dispatch origin for this call must be _Signed_ and the sender must have a registered + * sub identity of `sub`. + **/ + renameSub: AugmentedSubmittable< + ( + sub: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, + data: + | Data + | { None: any } + | { Raw: any } + | { BlakeTwo256: any } + | { Sha256: any } + | { Keccak256: any } + | { ShaThree256: any } + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Request a judgement from a registrar. + * + * Payment: At most `max_fee` will be reserved for payment to the registrar if judgement + * given. + * + * The dispatch origin for this call must be _Signed_ and the sender must have a + * registered identity. + * + * - `reg_index`: The index of the registrar whose judgement is requested. + * - `max_fee`: The maximum fee that may be paid. This should just be auto-populated as: + * + * ```nocompile + * Self::registrars().get(reg_index).unwrap().fee + * ``` + * + * Emits `JudgementRequested` if successful. + * + * # + * - `O(R + X)`. + * - One balance-reserve operation. + * - Storage: 1 read `O(R)`, 1 mutate `O(X + R)`. + * - One event. + * # + **/ + requestJudgement: AugmentedSubmittable< + ( + regIndex: Compact | AnyNumber | Uint8Array, + maxFee: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Change the account associated with a registrar. + * + * The dispatch origin for this call must be _Signed_ and the sender must be the account + * of the registrar whose index is `index`. + * + * - `index`: the index of the registrar whose fee is to be set. + * - `new`: the new account ID. + * + * # + * - `O(R)`. + * - One storage mutation `O(R)`. + * - Benchmark: 8.823 + R * 0.32 µs (min squares analysis) + * # + **/ + setAccountId: AugmentedSubmittable< + ( + index: Compact | AnyNumber | Uint8Array, + updated: AccountId | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Set the fee required for a judgement to be requested from a registrar. + * + * The dispatch origin for this call must be _Signed_ and the sender must be the account + * of the registrar whose index is `index`. + * + * - `index`: the index of the registrar whose fee is to be set. + * - `fee`: the new fee. + * + * # + * - `O(R)`. + * - One storage mutation `O(R)`. + * - Benchmark: 7.315 + R * 0.329 µs (min squares analysis) + * # + **/ + setFee: AugmentedSubmittable< + ( + index: Compact | AnyNumber | Uint8Array, + fee: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Set the field information for a registrar. + * + * The dispatch origin for this call must be _Signed_ and the sender must be the account + * of the registrar whose index is `index`. + * + * - `index`: the index of the registrar whose fee is to be set. + * - `fields`: the fields that the registrar concerns themselves with. + * + * # + * - `O(R)`. + * - One storage mutation `O(R)`. + * - Benchmark: 7.464 + R * 0.325 µs (min squares analysis) + * # + **/ + setFields: AugmentedSubmittable< + ( + index: Compact | AnyNumber | Uint8Array, + fields: IdentityFields + ) => SubmittableExtrinsic + >; + /** + * Set an account's identity information and reserve the appropriate deposit. + * + * If the account already has identity information, the deposit is taken as part payment + * for the new deposit. + * + * The dispatch origin for this call must be _Signed_. + * + * - `info`: The identity information. + * + * Emits `IdentitySet` if successful. + * + * # + * - `O(X + X' + R)` + * - where `X` additional-field-count (deposit-bounded and code-bounded) + * - where `R` judgements-count (registrar-count-bounded) + * - One balance reserve operation. + * - One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`). + * - One event. + * # + **/ + setIdentity: AugmentedSubmittable< + ( + info: + | IdentityInfo + | { + additional?: any; + display?: any; + legal?: any; + web?: any; + riot?: any; + email?: any; + pgpFingerprint?: any; + image?: any; + twitter?: any; + } + | string + | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Set the sub-accounts of the sender. + * + * Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned + * and an amount `SubAccountDeposit` will be reserved for each item in `subs`. + * + * The dispatch origin for this call must be _Signed_ and the sender must have a registered + * identity. + * + * - `subs`: The identity's (new) sub-accounts. + * + * # + * - `O(P + S)` + * - where `P` old-subs-count (hard- and deposit-bounded). + * - where `S` subs-count (hard- and deposit-bounded). + * - At most one balance operations. + * - DB: + * - `P + S` storage mutations (codec complexity `O(1)`) + * - One storage read (codec complexity `O(P)`). + * - One storage write (codec complexity `O(S)`). + * - One storage-exists (`IdentityOf::contains_key`). + * # + **/ + setSubs: AugmentedSubmittable< + ( + subs: + | Vec> + | [ + AccountId | string | Uint8Array, + ( + | Data + | { None: any } + | { Raw: any } + | { BlakeTwo256: any } + | { Sha256: any } + | { Keccak256: any } + | { ShaThree256: any } + | string + | Uint8Array + ) + ][] + ) => SubmittableExtrinsic + >; + }; + imOnline: { + [key: string]: SubmittableExtrinsicFunction; + /** + * # + * - Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) + * and E is length of `heartbeat.network_state.external_address` + * - `O(K)`: decoding of length `K` + * - `O(E)`: decoding/encoding of length `E` + * - DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`, + * `ReceivedHeartbeats` + * - DbWrites: `ReceivedHeartbeats` + * # + **/ + heartbeat: AugmentedSubmittable< + ( + heartbeat: + | Heartbeat + | { blockNumber?: any; networkState?: any; sessionIndex?: any; authorityIndex?: any; validatorsLen?: any } + | string + | Uint8Array, + signature: Signature | string | Uint8Array + ) => SubmittableExtrinsic + >; + }; + multisig: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Register approval for a dispatch to be made from a deterministic composite account if + * approved by a total of `threshold - 1` of `other_signatories`. + * + * Payment: `DepositBase` will be reserved if this is the first approval, plus + * `threshold` times `DepositFactor`. It is returned once this dispatch happens or + * is cancelled. + * + * The dispatch origin for this call must be _Signed_. + * + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is + * not the first approval, then it must be `Some`, with the timepoint (block number and + * transaction index) of the first approval transaction. + * - `call_hash`: The hash of the call to be executed. + * + * NOTE: If this is the final approval, you will want to use `as_multi` instead. + * + * # + * - `O(S)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One encode & hash, both of complexity `O(S)`. + * - Up to one binary search and insert (`O(logS + S)`). + * - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove. + * - One event. + * - Storage: inserts one item, value size bounded by `MaxSignatories`, with a + * deposit taken for its lifetime of + * `DepositBase + threshold * DepositFactor`. + * ---------------------------------- + * - DB Weight: + * - Read: Multisig Storage, [Caller Account] + * - Write: Multisig Storage, [Caller Account] + * # + **/ + approveAsMulti: AugmentedSubmittable< + ( + threshold: u16 | AnyNumber | Uint8Array, + otherSignatories: Vec | (AccountId | string | Uint8Array)[], + maybeTimepoint: Option | null | object | string | Uint8Array, + callHash: U8aFixed | string | Uint8Array, + maxWeight: Weight | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Register approval for a dispatch to be made from a deterministic composite account if + * approved by a total of `threshold - 1` of `other_signatories`. + * + * If there are enough, then dispatch the call. + * + * Payment: `DepositBase` will be reserved if this is the first approval, plus + * `threshold` times `DepositFactor`. It is returned once this dispatch happens or + * is cancelled. + * + * The dispatch origin for this call must be _Signed_. + * + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is + * not the first approval, then it must be `Some`, with the timepoint (block number and + * transaction index) of the first approval transaction. + * - `call`: The call to be executed. + * + * NOTE: Unless this is the final approval, you will generally want to use + * `approve_as_multi` instead, since it only requires a hash of the call. + * + * Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise + * on success, result is `Ok` and the result from the interior call, if it was executed, + * may be found in the deposited `MultisigExecuted` event. + * + * # + * - `O(S + Z + Call)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len. + * - One encode & hash, both of complexity `O(S)`. + * - Up to one binary search and insert (`O(logS + S)`). + * - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove. + * - One event. + * - The weight of the `call`. + * - Storage: inserts one item, value size bounded by `MaxSignatories`, with a + * deposit taken for its lifetime of + * `DepositBase + threshold * DepositFactor`. + * ------------------------------- + * - DB Weight: + * - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`) + * - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`) + * - Plus Call Weight + * # + **/ + asMulti: AugmentedSubmittable< + ( + threshold: u16 | AnyNumber | Uint8Array, + otherSignatories: Vec | (AccountId | string | Uint8Array)[], + maybeTimepoint: Option | null | object | string | Uint8Array, + call: OpaqueCall | string | Uint8Array, + storeCall: bool | boolean | Uint8Array, + maxWeight: Weight | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Immediately dispatch a multi-signature call using a single approval from the caller. + * + * The dispatch origin for this call must be _Signed_. + * + * - `other_signatories`: The accounts (other than the sender) who are part of the + * multi-signature, but do not participate in the approval process. + * - `call`: The call to be executed. + * + * Result is equivalent to the dispatched result. + * + * # + * O(Z + C) where Z is the length of the call and C its execution weight. + * ------------------------------- + * - DB Weight: None + * - Plus Call Weight + * # + **/ + asMultiThreshold1: AugmentedSubmittable< + ( + otherSignatories: Vec | (AccountId | string | Uint8Array)[], + call: Call | { callIndex?: any; args?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously + * for this operation will be unreserved on success. + * + * The dispatch origin for this call must be _Signed_. + * + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `timepoint`: The timepoint (block number and transaction index) of the first approval + * transaction for this dispatch. + * - `call_hash`: The hash of the call to be executed. + * + * # + * - `O(S)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One encode & hash, both of complexity `O(S)`. + * - One event. + * - I/O: 1 read `O(S)`, one remove. + * - Storage: removes one item. + * ---------------------------------- + * - DB Weight: + * - Read: Multisig Storage, [Caller Account], Refund Account, Calls + * - Write: Multisig Storage, [Caller Account], Refund Account, Calls + * # + **/ + cancelAsMulti: AugmentedSubmittable< + ( + threshold: u16 | AnyNumber | Uint8Array, + otherSignatories: Vec | (AccountId | string | Uint8Array)[], + timepoint: Timepoint | { height?: any; index?: any } | string | Uint8Array, + callHash: U8aFixed | string | Uint8Array + ) => SubmittableExtrinsic + >; + }; + scheduler: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Cancel an anonymously scheduled task. + * + * # + * - S = Number of already scheduled calls + * - Base Weight: 22.15 + 2.869 * S µs + * - DB Weight: + * - Read: Agenda + * - Write: Agenda, Lookup + * - Will use base weight of 100 which should be good for up to 30 scheduled calls + * # + **/ + cancel: AugmentedSubmittable< + ( + when: BlockNumber | AnyNumber | Uint8Array, + index: u32 | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Cancel a named scheduled task. + * + * # + * - S = Number of already scheduled calls + * - Base Weight: 24.91 + 2.907 * S µs + * - DB Weight: + * - Read: Agenda, Lookup + * - Write: Agenda, Lookup + * - Will use base weight of 100 which should be good for up to 30 scheduled calls + * # + **/ + cancelNamed: AugmentedSubmittable<(id: Bytes | string | Uint8Array) => SubmittableExtrinsic>; + /** + * Anonymously schedule a task. + * + * # + * - S = Number of already scheduled calls + * - Base Weight: 22.29 + .126 * S µs + * - DB Weight: + * - Read: Agenda + * - Write: Agenda + * - Will use base weight of 25 which should be good for up to 30 scheduled calls + * # + **/ + schedule: AugmentedSubmittable< + ( + when: BlockNumber | AnyNumber | Uint8Array, + maybePeriodic: Option | null | object | string | Uint8Array, + priority: Priority | AnyNumber | Uint8Array, + call: Call | { callIndex?: any; args?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Anonymously schedule a task after a delay. + * + * # + * Same as [`schedule`]. + * # + **/ + scheduleAfter: AugmentedSubmittable< + ( + after: BlockNumber | AnyNumber | Uint8Array, + maybePeriodic: Option | null | object | string | Uint8Array, + priority: Priority | AnyNumber | Uint8Array, + call: Call | { callIndex?: any; args?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Schedule a named task. + * + * # + * - S = Number of already scheduled calls + * - Base Weight: 29.6 + .159 * S µs + * - DB Weight: + * - Read: Agenda, Lookup + * - Write: Agenda, Lookup + * - Will use base weight of 35 which should be good for more than 30 scheduled calls + * # + **/ + scheduleNamed: AugmentedSubmittable< + ( + id: Bytes | string | Uint8Array, + when: BlockNumber | AnyNumber | Uint8Array, + maybePeriodic: Option | null | object | string | Uint8Array, + priority: Priority | AnyNumber | Uint8Array, + call: Call | { callIndex?: any; args?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Schedule a named task after a delay. + * + * # + * Same as [`schedule_named`]. + * # + **/ + scheduleNamedAfter: AugmentedSubmittable< + ( + id: Bytes | string | Uint8Array, + after: BlockNumber | AnyNumber | Uint8Array, + maybePeriodic: Option | null | object | string | Uint8Array, + priority: Priority | AnyNumber | Uint8Array, + call: Call | { callIndex?: any; args?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + }; + session: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Removes any session key(s) of the function caller. + * This doesn't take effect until the next session. + * + * The dispatch origin of this function must be signed. + * + * # + * - Complexity: `O(1)` in number of key types. + * Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed. + * - DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account` + * - DbWrites: `NextKeys`, `origin account` + * - DbWrites per key id: `KeyOwnder` + * # + **/ + purgeKeys: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Sets the session key(s) of the function caller to `keys`. + * Allows an account to set its session key prior to becoming a validator. + * This doesn't take effect until the next session. + * + * The dispatch origin of this function must be signed. + * + * # + * - Complexity: `O(1)` + * Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed. + * - DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys` + * - DbWrites: `origin account`, `NextKeys` + * - DbReads per key id: `KeyOwner` + * - DbWrites per key id: `KeyOwner` + * # + **/ + setKeys: AugmentedSubmittable<(keys: Keys, proof: Bytes | string | Uint8Array) => SubmittableExtrinsic>; + }; + // @ts-ignore 'staking' was also declared at ../node_modules/@polkadot/api/augment/tx.d.ts:2365:9 + staking: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Take the origin account as a stash and lock up `value` of its balance. `controller` will + * be the account that controls it. + * + * `value` must be more than the `minimum_bond` specified in genesis config. + * + * The dispatch origin for this call must be _Signed_ by the stash account. + * + * # + * - Independent of the arguments. Moderate complexity. + * - O(1). + * - Three extra DB entries. + * + * NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned unless + * the `origin` falls below minimum bond and is removed lazliy in `withdraw_unbonded`. + * # + **/ + bond: AugmentedSubmittable< + ( + controller: AccountId | string | Uint8Array, + value: Compact | AnyNumber | Uint8Array, + payee: RewardDestination | { Stash: any } | { Controller: any } | { Account: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Add some extra amount that have appeared in the stash `free_balance` into the balance up + * for staking. + * + * Use this if there are additional funds in your stash account that you wish to bond. + * Unlike [`bond`] or [`unbond`] this function does not impose any limitation on the amount + * that can be added. + * + * The dispatch origin for this call must be _Signed_ by the stash, not the controller. + * + * # + * - Independent of the arguments. Insignificant complexity. + * - O(1). + * - One DB entry. + * # + **/ + bondExtra: AugmentedSubmittable< + (maxAdditional: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + /** + * Cancel enactment of a deferred slash. Can be called by root origin + * passing the era and indices of the slashes for that era to kill. + * + * # + * - One storage write. + * # + **/ + cancelDeferredSlash: AugmentedSubmittable< + ( + era: EraIndex | AnyNumber | Uint8Array, + slashIndices: Vec | (u32 | AnyNumber | Uint8Array)[] + ) => SubmittableExtrinsic + >; + /** + * Declare no desire to either validate or nominate. + * + * Effects will be felt at the beginning of the next era. + * + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * + * # + * - Independent of the arguments. Insignificant complexity. + * - Contains one read. + * - Writes are limited to the `origin` account key. + * # + **/ + chill: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Force there to be a new era at the end of the next session. After this, it will be + * reset to normal (non-forced) behaviour. + * + * # + * - No arguments. + * # + **/ + forceNewEra: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Force there to be a new era at the end of sessions indefinitely. + * + * # + * - One storage write + * # + **/ + forceNewEraAlways: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Force there to be no new eras indefinitely. + * + * # + * - No arguments. + * # + **/ + forceNoEras: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Force a current staker to become completely unstaked, immediately. + **/ + forceUnstake: AugmentedSubmittable<(stash: AccountId | string | Uint8Array) => SubmittableExtrinsic>; + /** + * Declare the desire to nominate `targets` for the origin controller. + * + * Effects will be felt at the beginning of the next era. + * + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * + * # + * - The transaction's complexity is proportional to the size of `targets`, + * which is capped at `MAX_NOMINATIONS`. + * - Both the reads and writes follow a similar pattern. + * # + **/ + nominate: AugmentedSubmittable< + (targets: Vec | (AccountId | string | Uint8Array)[]) => SubmittableExtrinsic + >; + /** + * Remove all data structure concerning a staker/stash once its balance is zero. + * This is essentially equivalent to `withdraw_unbonded` except it can be called by anyone + * and the target `stash` must have no funds left. + * + * This can be called from any origin. + * + * - `stash`: The stash account to reap. Its balance must be zero. + * + * # + * Complexity: O(S) where S is the number of slashing spans on the account. + * DB Weight: + * - Reads: Stash Account, Bonded, Slashing Spans, Locks + * - Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, Stash Account, Locks + * - Writes Each: SpanSlash * S + * # + **/ + reapStash: AugmentedSubmittable<(stash: AccountId | string | Uint8Array) => SubmittableExtrinsic>; + /** + * Rebond a portion of the stash scheduled to be unlocked. + * + * # + * - Time complexity: O(1). Bounded by `MAX_UNLOCKING_CHUNKS`. + * - Storage changes: Can't increase storage, only decrease it. + * # + **/ + rebond: AugmentedSubmittable< + (value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + /** + * (Re-)set the controller of a stash. + * + * Effects will be felt at the beginning of the next era. + * + * The dispatch origin for this call must be _Signed_ by the stash, not the controller. + * + * # + * - Independent of the arguments. Insignificant complexity. + * - Contains a limited number of reads. + * - Writes are limited to the `origin` account key. + * # + **/ + setController: AugmentedSubmittable< + (controller: AccountId | string | Uint8Array) => SubmittableExtrinsic + >; + /** + * Set the validators who cannot be slashed (if any). + **/ + setInvulnerables: AugmentedSubmittable< + (validators: Vec | (AccountId | string | Uint8Array)[]) => SubmittableExtrinsic + >; + /** + * Set the minimum bond amount. + **/ + setMinimumBond: AugmentedSubmittable< + (value: BalanceOf | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + /** + * (Re-)set the payment target for a controller. + * + * Effects will be felt at the beginning of the next era. + * + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * + * # + * - Independent of the arguments. Insignificant complexity. + * - Contains a limited number of reads. + * - Writes are limited to the `origin` account key. + * # + **/ + setPayee: AugmentedSubmittable< + ( + payee: RewardDestination | { Stash: any } | { Controller: any } | { Account: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * The ideal number of validators. + **/ + setValidatorCount: AugmentedSubmittable< + (updated: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + /** + * Schedule a portion of the stash to be unlocked ready for transfer out after the bond + * period ends. If this leaves an amount actively bonded less than + * T::Currency::minimum_balance(), then it is increased to the full amount. + * + * Once the unlock period is done, you can call `withdraw_unbonded` to actually move + * the funds out of management ready for transfer. + * + * No more than a limited number of unlocking chunks (see `MAX_UNLOCKING_CHUNKS`) + * can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need + * to be called first to remove some of the chunks (if possible). + * + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * + * See also [`Call::withdraw_unbonded`]. + * + * # + * - Independent of the arguments. Limited but potentially exploitable complexity. + * - Contains a limited number of reads. + * - Each call (requires the remainder of the bonded balance to be above `minimum_balance`) + * will cause a new entry to be inserted into a vector (`Ledger.unlocking`) kept in storage. + * The only way to clean the aforementioned storage item is also user-controlled via `withdraw_unbonded`. + * - One DB entry. + * + **/ + unbond: AugmentedSubmittable< + (value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + /** + * Declare the desire to validate for the origin controller. + * + * Effects will be felt at the beginning of the next era. + * + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * + * # + * - Independent of the arguments. Insignificant complexity. + * - Contains a limited number of reads. + * - Writes are limited to the `origin` account key. + * # + **/ + validate: AugmentedSubmittable< + (prefs: ValidatorPrefs | { commission?: any } | string | Uint8Array) => SubmittableExtrinsic + >; + /** + * Remove any unlocked chunks from the `unlocking` queue from our management. + * + * This essentially frees up that balance to be used by the stash account to do + * whatever it wants. + * + * The dispatch origin for this call must be _Signed_ by the controller, not the stash. + * + * See also [`Call::unbond`]. + * + * # + * - Could be dependent on the `origin` argument and how much `unlocking` chunks exist. + * It implies `consolidate_unlocked` which loops over `Ledger.unlocking`, which is + * indirectly user-controlled. See [`unbond`] for more detail. + * - Contains a limited number of reads, yet the size of which could be large based on `ledger`. + * - Writes are limited to the `origin` account key. + * # + **/ + withdrawUnbonded: AugmentedSubmittable<() => SubmittableExtrinsic>; + }; + sudo: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo key. + * + * The dispatch origin for this call must be _Signed_. + * + * # + * - O(1). + * - Limited storage reads. + * - One DB change. + * # + **/ + setKey: AugmentedSubmittable< + ( + updated: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Authenticates the sudo key and dispatches a function call with `Root` origin. + * + * The dispatch origin for this call must be _Signed_. + * + * # + * - O(1). + * - Limited storage reads. + * - One DB write (event). + * - Weight of derivative `call` execution + 10,000. + * # + **/ + sudo: AugmentedSubmittable< + (call: Call | { callIndex?: any; args?: any } | string | Uint8Array) => SubmittableExtrinsic + >; + /** + * Authenticates the sudo key and dispatches a function call with `Signed` origin from + * a given account. + * + * The dispatch origin for this call must be _Signed_. + * + * # + * - O(1). + * - Limited storage reads. + * - One DB write (event). + * - Weight of derivative `call` execution + 10,000. + * # + **/ + sudoAs: AugmentedSubmittable< + ( + who: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, + call: Call | { callIndex?: any; args?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Authenticates the sudo key and dispatches a function call with `Root` origin. + * This function does not check the weight of the call, and instead allows the + * Sudo user to specify the weight of the call. + * + * The dispatch origin for this call must be _Signed_. + * + * # + * - O(1). + * - The weight of this call is defined by the caller. + * # + **/ + sudoUncheckedWeight: AugmentedSubmittable< + ( + call: Call | { callIndex?: any; args?: any } | string | Uint8Array, + weight: Weight | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + }; + syloE2Ee: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Register a new device for a user + * + * weight: + * O(g) where g is the number of groups the user is in + * Multiple reads and writes depending on the user states. + **/ + registerDevice: AugmentedSubmittable< + ( + deviceId: DeviceId | AnyNumber | Uint8Array, + pkbs: Vec | (PreKeyBundle | string | Uint8Array)[] + ) => SubmittableExtrinsic + >; + /** + * Add a new PreKey bundle for a given user's device. + * + * weight: + * O(1) + * 1 write. + **/ + replenishPkbs: AugmentedSubmittable< + ( + deviceId: DeviceId | AnyNumber | Uint8Array, + pkbs: Vec | (PreKeyBundle | string | Uint8Array)[] + ) => SubmittableExtrinsic + >; + /** + * Retrieve and remove the Prekey bundles of a given list of user accounts and devices + * + * weight: + * O(n * k) where n is the size of input `wanted_pkbs`, and k is the number existing PKBS in the storage + * Number of read and write scaled by size of input + **/ + withdrawPkbs: AugmentedSubmittable< + ( + requestId: Hash | string | Uint8Array, + wantedPkbs: + | Vec> + | [AccountId | string | Uint8Array, DeviceId | AnyNumber | Uint8Array][] + ) => SubmittableExtrinsic + >; + }; + syloGroups: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Accept the invitation and add a user to the group + * + * weight: + * O(n + m) where n is the number of groups, and m is the number of members in the group + * Limited number of read and writes to multiple tables + **/ + acceptInvite: AugmentedSubmittable< + ( + groupId: Hash | string | Uint8Array, + payload: AcceptPayload | { accountId?: any } | string | Uint8Array, + inviteKey: H256 | string | Uint8Array, + inboxId: u32 | AnyNumber | Uint8Array, + signature: Signature | string | Uint8Array, + groupData: ITuple<[VaultKey, VaultValue]> | [VaultKey | string | Uint8Array, VaultValue | string | Uint8Array] + ) => SubmittableExtrinsic + >; + /** + * Creates a group with all invitees, set the caller as admin + * + * weight: + * O(1). Note: number of member invitee is capped at 15, so equivalent to O(1). + * Limited number of storage writes. + **/ + createGroup: AugmentedSubmittable< + ( + groupId: Hash | string | Uint8Array, + meta: Meta, + invites: + | Vec + | ( + | Invite + | { peerId?: any; inviteData?: any; inviteKey?: any; meta?: any; roles?: any } + | string + | Uint8Array + )[], + groupData: ITuple<[VaultKey, VaultValue]> | [VaultKey | string | Uint8Array, VaultValue | string | Uint8Array] + ) => SubmittableExtrinsic + >; + /** + * Send invites out to all the invitee + * + * weight: + * O(n) where n is the number of invitee + * Limited number of read and writes + **/ + createInvites: AugmentedSubmittable< + ( + groupId: Hash | string | Uint8Array, + invites: + | Vec + | ( + | Invite + | { peerId?: any; inviteData?: any; inviteKey?: any; meta?: any; roles?: any } + | string + | Uint8Array + )[] + ) => SubmittableExtrinsic + >; + /** + * Leaves a group. If no one is left at the group, delete the group + * + * weight: + * O(m) where m is the number of members in that group + * Limited number of read and maximum of 2 storage writes. + **/ + leaveGroup: AugmentedSubmittable< + ( + groupId: Hash | string | Uint8Array, + groupKey: Option | null | object | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Revoke an invitation + * + * weight: + * O(n) where n the number of existing invitation + * Limited number of read and writes + **/ + revokeInvites: AugmentedSubmittable< + ( + groupId: Hash | string | Uint8Array, + inviteKeys: Vec | (H256 | string | Uint8Array)[] + ) => SubmittableExtrinsic + >; + /** + * Update the metadata for the caller in a group + * + * weight: + * O(m) where m is the number of members in that group + * Limited number of read and 1 write. + **/ + updateMember: AugmentedSubmittable< + (groupId: Hash | string | Uint8Array, meta: Meta) => SubmittableExtrinsic + >; + /** + * Merge/update/remove metadata for the group + * + * weight: + * O(n) where n is the number of metadata key in the input + * Number of read and writes depending on input data + **/ + upsertGroupMeta: AugmentedSubmittable< + (groupId: Hash | string | Uint8Array, meta: Meta) => SubmittableExtrinsic + >; + }; + syloInbox: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Add a new value into storage + * + * weight: + * O(1) + * 1 write + **/ + addValue: AugmentedSubmittable< + (peerId: AccountId | string | Uint8Array, value: Message | string | Uint8Array) => SubmittableExtrinsic + >; + /** + * Delete a value from storage + * + * weight: + * O(n) where n is number of values in the storage + * 1 write + **/ + deleteValues: AugmentedSubmittable< + (valueIds: Vec | (MessageId | AnyNumber | Uint8Array)[]) => SubmittableExtrinsic + >; + }; + syloPayment: { + [key: string]: SubmittableExtrinsicFunction; + /** + * If the origin of the call is an authorised payer, revoke its authorisation. + * NOTE: This may halt all Sylo operations if there are no other payers. + **/ + revokePaymentAccountSelf: AugmentedSubmittable<() => SubmittableExtrinsic>; + /** + * Add `account_id` as an authorized Sylo fee payer. Only Sudo can set a payment account. + **/ + setPaymentAccount: AugmentedSubmittable< + (accountId: AccountId | string | Uint8Array) => SubmittableExtrinsic + >; + }; + syloResponse: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Removes a response from a request. + * + * weight: + * O(1) + * 1 write + **/ + removeResponse: AugmentedSubmittable<(requestId: Hash | string | Uint8Array) => SubmittableExtrinsic>; + }; + syloVault: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Removes a vault key + * + * weight: + * O(1) + * 1 write + **/ + deleteValues: AugmentedSubmittable< + (keys: Vec | (VaultKey | string | Uint8Array)[]) => SubmittableExtrinsic + >; + /** + * Insert or update a vault Key + * + * weight: + * O(1) + * 1 write + **/ + upsertValue: AugmentedSubmittable< + (key: VaultKey | string | Uint8Array, value: VaultValue | string | Uint8Array) => SubmittableExtrinsic + >; + }; + system: { + [key: string]: SubmittableExtrinsicFunction; + /** + * A dispatch that will fill the block weight up to the given ratio. + **/ + fillBlock: AugmentedSubmittable<(ratio: Perbill | AnyNumber | Uint8Array) => SubmittableExtrinsic>; + /** + * Kill all storage items with a key that starts with the given prefix. + * + * **NOTE:** We rely on the Root origin to provide us the number of subkeys under + * the prefix we are removing to accurately calculate the weight of this function. + * + * # + * - `O(P)` where `P` amount of keys with prefix `prefix` + * - `P` storage deletions. + * - Base Weight: 0.834 * P µs + * - Writes: Number of subkeys + 1 + * # + **/ + killPrefix: AugmentedSubmittable< + (prefix: Key | string | Uint8Array, subkeys: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + /** + * Kill some items from storage. + * + * # + * - `O(IK)` where `I` length of `keys` and `K` length of one key + * - `I` storage deletions. + * - Base Weight: .378 * i µs + * - Writes: Number of items + * # + **/ + killStorage: AugmentedSubmittable< + (keys: Vec | (Key | string | Uint8Array)[]) => SubmittableExtrinsic + >; + /** + * Make some on-chain remark. + * + * # + * - `O(1)` + * - Base Weight: 0.665 µs, independent of remark length. + * - No DB operations. + * # + **/ + remark: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic>; + /** + * Set the new changes trie configuration. + * + * # + * - `O(1)` + * - 1 storage write or delete (codec `O(1)`). + * - 1 call to `deposit_log`: Uses `append` API, so O(1) + * - Base Weight: 7.218 µs + * - DB Weight: + * - Writes: Changes Trie, System Digest + * # + **/ + setChangesTrieConfig: AugmentedSubmittable< + ( + changesTrieConfig: Option | null | object | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Set the new runtime code. + * + * # + * - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code` + * - 1 storage write (codec `O(C)`). + * - 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is expensive). + * - 1 event. + * The weight of this function is dependent on the runtime, but generally this is very expensive. + * We will treat this as a full block. + * # + **/ + setCode: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic>; + /** + * Set the new runtime code without doing any checks of the given `code`. + * + * # + * - `O(C)` where `C` length of `code` + * - 1 storage write (codec `O(C)`). + * - 1 event. + * The weight of this function is dependent on the runtime. We will treat this as a full block. + * # + **/ + setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic>; + /** + * Set the number of pages in the WebAssembly environment's heap. + * + * # + * - `O(1)` + * - 1 storage write. + * - Base Weight: 1.405 µs + * - 1 write to HEAP_PAGES + * # + **/ + setHeapPages: AugmentedSubmittable<(pages: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic>; + /** + * Set some items of storage. + * + * # + * - `O(I)` where `I` length of `items` + * - `I` storage writes (`O(1)`). + * - Base Weight: 0.568 * i µs + * - Writes: Number of items + * # + **/ + setStorage: AugmentedSubmittable<(items: Vec | KeyValue[]) => SubmittableExtrinsic>; + /** + * Kill the sending account, assuming there are no references outstanding and the composite + * data is equal to its default value. + * + * # + * - `O(1)` + * - 1 storage read and deletion. + * -------------------- + * Base Weight: 8.626 µs + * No DB Read or Write operations because caller is already in overlay + * # + **/ + suicide: AugmentedSubmittable<() => SubmittableExtrinsic>; + }; + timestamp: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Set the current time. + * + * This call should be invoked exactly once per block. It will panic at the finalization + * phase, if this call hasn't been invoked by that time. + * + * The timestamp should be greater than the previous one by the amount specified by + * `MinimumPeriod`. + * + * The dispatch origin for this call must be `Inherent`. + * + * # + * - `O(T)` where `T` complexity of `on_timestamp_set` + * - 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in `on_finalize`) + * - 1 event handler `on_timestamp_set` `O(T)`. + * # + **/ + set: AugmentedSubmittable<(now: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic>; + }; + treasury: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Accept the curator role for a bounty. + * A deposit will be reserved from curator and refund upon successful payout. + * + * May only be called from the curator. + * + * # + * - O(1). + * - Limited storage reads. + * - One DB change. + * # + **/ + acceptCurator: AugmentedSubmittable< + (bountyId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + /** + * Approve a bounty proposal. At a later time, the bounty will be funded and become active + * and the original deposit will be returned. + * + * May only be called from `T::ApproveOrigin`. + * + * # + * - O(1). + * - Limited storage reads. + * - One DB change. + * # + **/ + approveBounty: AugmentedSubmittable< + (bountyId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + /** + * Approve a proposal. At a later time, the proposal will be allocated to the beneficiary + * and the original deposit will be returned. + * + * May only be called from `T::ApproveOrigin`. + * + * # + * - Complexity: O(1). + * - DbReads: `Proposals`, `Approvals` + * - DbWrite: `Approvals` + * # + **/ + approveProposal: AugmentedSubmittable< + (proposalId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + /** + * Award bounty to a beneficiary account. The beneficiary will be able to claim the funds after a delay. + * + * The dispatch origin for this call must be the curator of this bounty. + * + * - `bounty_id`: Bounty ID to award. + * - `beneficiary`: The beneficiary account whom will receive the payout. + **/ + awardBounty: AugmentedSubmittable< + ( + bountyId: Compact | AnyNumber | Uint8Array, + beneficiary: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Claim the payout from an awarded bounty after payout delay. + * + * The dispatch origin for this call must be the beneficiary of this bounty. + * + * - `bounty_id`: Bounty ID to claim. + **/ + claimBounty: AugmentedSubmittable< + (bountyId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + /** + * Cancel a proposed or active bounty. All the funds will be sent to treasury and + * the curator deposit will be unreserved if possible. + * + * Only `T::RejectOrigin` is able to cancel a bounty. + * + * - `bounty_id`: Bounty ID to cancel. + **/ + closeBounty: AugmentedSubmittable< + (bountyId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + /** + * Close and payout a tip. + * + * The dispatch origin for this call must be _Signed_. + * + * The tip identified by `hash` must have finished its countdown period. + * + * - `hash`: The identity of the open tip for which a tip value is declared. This is formed + * as the hash of the tuple of the original tip `reason` and the beneficiary account ID. + * + * # + * - Complexity: `O(T)` where `T` is the number of tippers. + * decoding `Tipper` vec of length `T`. + * `T` is charged as upper bound given by `ContainsLengthBound`. + * The actual cost depends on the implementation of `T::Tippers`. + * - DbReads: `Tips`, `Tippers`, `tip finder` + * - DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder` + * # + **/ + closeTip: AugmentedSubmittable<(hash: Hash | string | Uint8Array) => SubmittableExtrinsic>; + /** + * Extend the expiry time of an active bounty. + * + * The dispatch origin for this call must be the curator of this bounty. + * + * - `bounty_id`: Bounty ID to extend. + * - `remark`: additional information. + **/ + extendBountyExpiry: AugmentedSubmittable< + ( + bountyId: Compact | AnyNumber | Uint8Array, + remark: Bytes | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Propose a new bounty. + * + * The dispatch origin for this call must be _Signed_. + * + * Payment: `TipReportDepositBase` will be reserved from the origin account, as well as + * `DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval, + * or slashed when rejected. + * + * - `curator`: The curator account whom will manage this bounty. + * - `fee`: The curator fee. + * - `value`: The total payment amount of this bounty, curator fee included. + * - `description`: The description of this bounty. + **/ + proposeBounty: AugmentedSubmittable< + ( + value: Compact | AnyNumber | Uint8Array, + description: Bytes | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Assign a curator to a funded bounty. + * + * May only be called from `T::ApproveOrigin`. + * + * # + * - O(1). + * - Limited storage reads. + * - One DB change. + * # + **/ + proposeCurator: AugmentedSubmittable< + ( + bountyId: Compact | AnyNumber | Uint8Array, + curator: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array, + fee: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Put forward a suggestion for spending. A deposit proportional to the value + * is reserved and slashed if the proposal is rejected. It is returned once the + * proposal is awarded. + * + * # + * - Complexity: O(1) + * - DbReads: `ProposalCount`, `origin account` + * - DbWrites: `ProposalCount`, `Proposals`, `origin account` + * # + **/ + proposeSpend: AugmentedSubmittable< + ( + value: Compact | AnyNumber | Uint8Array, + beneficiary: LookupSource | Address | AccountId | AccountIndex | LookupSource | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Reject a proposed spend. The original deposit will be slashed. + * + * May only be called from `T::RejectOrigin`. + * + * # + * - Complexity: O(1) + * - DbReads: `Proposals`, `rejected proposer account` + * - DbWrites: `Proposals`, `rejected proposer account` + * # + **/ + rejectProposal: AugmentedSubmittable< + (proposalId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + /** + * Report something `reason` that deserves a tip and claim any eventual the finder's fee. + * + * The dispatch origin for this call must be _Signed_. + * + * Payment: `TipReportDepositBase` will be reserved from the origin account, as well as + * `DataDepositPerByte` for each byte in `reason`. + * + * - `reason`: The reason for, or the thing that deserves, the tip; generally this will be + * a UTF-8-encoded URL. + * - `who`: The account which should be credited for the tip. + * + * Emits `NewTip` if successful. + * + * # + * - Complexity: `O(R)` where `R` length of `reason`. + * - encoding and hashing of 'reason' + * - DbReads: `Reasons`, `Tips` + * - DbWrites: `Reasons`, `Tips` + * # + **/ + reportAwesome: AugmentedSubmittable< + (reason: Bytes | string | Uint8Array, who: AccountId | string | Uint8Array) => SubmittableExtrinsic + >; + /** + * Retract a prior tip-report from `report_awesome`, and cancel the process of tipping. + * + * If successful, the original deposit will be unreserved. + * + * The dispatch origin for this call must be _Signed_ and the tip identified by `hash` + * must have been reported by the signing account through `report_awesome` (and not + * through `tip_new`). + * + * - `hash`: The identity of the open tip for which a tip value is declared. This is formed + * as the hash of the tuple of the original tip `reason` and the beneficiary account ID. + * + * Emits `TipRetracted` if successful. + * + * # + * - Complexity: `O(1)` + * - Depends on the length of `T::Hash` which is fixed. + * - DbReads: `Tips`, `origin account` + * - DbWrites: `Reasons`, `Tips`, `origin account` + * # + **/ + retractTip: AugmentedSubmittable<(hash: Hash | string | Uint8Array) => SubmittableExtrinsic>; + /** + * Declare a tip value for an already-open tip. + * + * The dispatch origin for this call must be _Signed_ and the signing account must be a + * member of the `Tippers` set. + * + * - `hash`: The identity of the open tip for which a tip value is declared. This is formed + * as the hash of the tuple of the hash of the original tip `reason` and the beneficiary + * account ID. + * - `tip_value`: The amount of tip that the sender would like to give. The median tip + * value of active tippers will be given to the `who`. + * + * Emits `TipClosing` if the threshold of tippers has been reached and the countdown period + * has started. + * + * # + * - Complexity: `O(T)` where `T` is the number of tippers. + * decoding `Tipper` vec of length `T`, insert tip and check closing, + * `T` is charged as upper bound given by `ContainsLengthBound`. + * The actual cost depends on the implementation of `T::Tippers`. + * + * Actually weight could be lower as it depends on how many tips are in `OpenTip` but it + * is weighted as if almost full i.e of length `T-1`. + * - DbReads: `Tippers`, `Tips` + * - DbWrites: `Tips` + * # + **/ + tip: AugmentedSubmittable< + ( + hash: Hash | string | Uint8Array, + tipValue: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Give a tip for something new; no finder's fee will be taken. + * + * The dispatch origin for this call must be _Signed_ and the signing account must be a + * member of the `Tippers` set. + * + * - `reason`: The reason for, or the thing that deserves, the tip; generally this will be + * a UTF-8-encoded URL. + * - `who`: The account which should be credited for the tip. + * - `tip_value`: The amount of tip that the sender would like to give. The median tip + * value of active tippers will be given to the `who`. + * + * Emits `NewTip` if successful. + * + * # + * - Complexity: `O(R + T)` where `R` length of `reason`, `T` is the number of tippers. + * - `O(T)`: decoding `Tipper` vec of length `T` + * `T` is charged as upper bound given by `ContainsLengthBound`. + * The actual cost depends on the implementation of `T::Tippers`. + * - `O(R)`: hashing and encoding of reason of length `R` + * - DbReads: `Tippers`, `Reasons` + * - DbWrites: `Reasons`, `Tips` + * # + **/ + tipNew: AugmentedSubmittable< + ( + reason: Bytes | string | Uint8Array, + who: AccountId | string | Uint8Array, + tipValue: Compact | AnyNumber | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Unassign curator from a bounty. + * + * This function can only be called by the `RejectOrigin` a signed origin. + * + * If this function is called by the `RejectOrigin`, we assume that the curator is malicious + * or inactive. As a result, we will slash the curator when possible. + * + * If the origin is the curator, we take this as a sign they are unable to do their job and + * they willingly give up. We could slash them, but for now we allow them to recover their + * deposit and exit without issue. (We may want to change this if it is abused.) + * + * Finally, the origin can be anyone if and only if the curator is "inactive". This allows + * anyone in the community to call out that a curator is not doing their due diligence, and + * we should pick a new curator. In this case the curator should also be slashed. + * + * # + * - O(1). + * - Limited storage reads. + * - One DB change. + * # + **/ + unassignCurator: AugmentedSubmittable< + (bountyId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic + >; + }; + utility: { + [key: string]: SubmittableExtrinsicFunction; + /** + * Send a call through an indexed pseudonym of the sender. + * + * Filter from origin are passed along. The call will be dispatched with an origin which + * use the same filter as the origin of this call. + * + * NOTE: If you need to ensure that any account-based filtering is not honored (i.e. + * because you expect `proxy` to have been used prior in the call stack and you do not want + * the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1` + * in the Multisig pallet instead. + * + * NOTE: Prior to version *12, this was called `as_limited_sub`. + * + * The dispatch origin for this call must be _Signed_. + **/ + asDerivative: AugmentedSubmittable< + ( + index: u16 | AnyNumber | Uint8Array, + call: Call | { callIndex?: any; args?: any } | string | Uint8Array + ) => SubmittableExtrinsic + >; + /** + * Send a batch of dispatch calls. + * + * May be called from any origin. + * + * - `calls`: The calls to be dispatched from the same origin. + * + * If origin is root then call are dispatch without checking origin filter. (This includes + * bypassing `frame_system::Trait::BaseCallFilter`). + * + * # + * - Base weight: 14.39 + .987 * c µs + * - Plus the sum of the weights of the `calls`. + * - Plus one additional event. (repeat read/write) + * # + * + * This will return `Ok` in all circumstances. To determine the success of the batch, an + * event is deposited. If a call failed and the batch was interrupted, then the + * `BatchInterrupted` event is deposited, along with the number of successful calls made + * and the error of the failed call. If all were successful, then the `BatchCompleted` + * event is deposited. + **/ + batch: AugmentedSubmittable< + ( + calls: Vec | (Call | { callIndex?: any; args?: any } | string | Uint8Array)[] + ) => SubmittableExtrinsic + >; + }; + } + + export interface SubmittableExtrinsics extends AugmentedSubmittables { + (extrinsic: Call | Extrinsic | Uint8Array | string): SubmittableExtrinsic; + [key: string]: SubmittableModuleExtrinsics; + } +} diff --git a/packages/types/src/interfaces/augment-api.ts b/packages/types/src/interfaces/augment-api.ts new file mode 100644 index 000000000..7669e6442 --- /dev/null +++ b/packages/types/src/interfaces/augment-api.ts @@ -0,0 +1,7 @@ +// Auto-generated via `yarn polkadot-types-from-chain`, do not edit +/* eslint-disable */ + +import '@polkadot/api/augment/rpc'; +import './augment-api-consts'; +import './augment-api-query'; +import './augment-api-tx'; diff --git a/packages/types/src/interfaces/augment-types.ts b/packages/types/src/interfaces/augment-types.ts new file mode 100644 index 000000000..45717ef8d --- /dev/null +++ b/packages/types/src/interfaces/augment-types.ts @@ -0,0 +1,2060 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import { Compact, Option, Raw, Vec } from '@polkadot/types/codec'; +import { + BitVec, + Bytes, + Data, + DoNotConstruct, + Null, + StorageKey, + Text, + Type, + U256, + bool, + i128, + i16, + i256, + i32, + i64, + i8, + u128, + u16, + u256, + u32, + u64, + u8, + usize, +} from '@polkadot/types/primitive'; +import { AttestationTopic, AttestationValue } from './attestation'; +import { ExchangeKey, FeeRate } from './cennzx'; +import { AssetInfo } from './ga'; +import { RewardBalance, RewardBalanceOf, RewardDestination } from './staking'; +import { + AcceptPayload, + DeviceId, + DeviceIdResponse, + Group, + Invite, + Member, + MemberRoles, + Message, + MessageId, + Meta, + PendingInvite, + PreKeyBundle, + PreKeyBundlesResponse, + Response, + VaultKey, + VaultValue, + WithdrawnPreKeyBundle, +} from './sylo'; +import { ChargeTransactionPayment, FeeExchange, FeeExchangeV1 } from './transactionPayment'; +import { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations'; +import { RawAuraPreDigest } from '@polkadot/types/interfaces/aura'; +import { ExtrinsicOrHash, ExtrinsicStatus } from '@polkadot/types/interfaces/author'; +import { UncleEntryItem } from '@polkadot/types/interfaces/authorship'; +import { + AllowedSlots, + BabeAuthorityWeight, + BabeBlockWeight, + BabeEquivocationProof, + BabeWeight, + EpochAuthorship, + MaybeRandomness, + MaybeVrf, + NextConfigDescriptor, + NextConfigDescriptorV1, + Randomness, + RawBabePreDigest, + RawBabePreDigestCompat, + RawBabePreDigestPrimary, + RawBabePreDigestPrimaryTo159, + RawBabePreDigestSecondaryPlain, + RawBabePreDigestSecondaryTo159, + RawBabePreDigestSecondaryVRF, + RawBabePreDigestTo159, + SlotNumber, + VrfData, + VrfOutput, + VrfProof, +} from '@polkadot/types/interfaces/babe'; +import { + AccountData, + BalanceLock, + BalanceLockTo212, + BalanceStatus, + Reasons, + VestingSchedule, + WithdrawReasons, +} from '@polkadot/types/interfaces/balances'; +import { BlockHash } from '@polkadot/types/interfaces/chain'; +import { PrefixedStorageKey } from '@polkadot/types/interfaces/childstate'; +import { EthereumAddress, StatementKind } from '@polkadot/types/interfaces/claims'; +import { CollectiveOrigin, MemberCount, ProposalIndex, Votes, VotesTo230 } from '@polkadot/types/interfaces/collective'; +import { AuthorityId, RawVRFOutput } from '@polkadot/types/interfaces/consensus'; +import { + AliveContractInfo, + CodeHash, + ContractCallRequest, + ContractExecResult, + ContractExecResultSuccess, + ContractExecResultSuccessTo255, + ContractExecResultTo255, + ContractInfo, + ContractStorageKey, + Gas, + HostFnWeights, + InstructionWeights, + PrefabWasmModule, + PrefabWasmModuleReserved, + Schedule, + ScheduleTo212, + ScheduleTo258, + SeedOf, + TombstoneContractInfo, + TrieId, +} from '@polkadot/types/interfaces/contracts'; +import { + ContractConstructorSpec, + ContractContractSpec, + ContractCryptoHasher, + ContractDiscriminant, + ContractDisplayName, + ContractEventParamSpec, + ContractEventSpec, + ContractLayoutArray, + ContractLayoutCell, + ContractLayoutEnum, + ContractLayoutHash, + ContractLayoutHashingStrategy, + ContractLayoutKey, + ContractLayoutStruct, + ContractLayoutStructField, + ContractMessageParamSpec, + ContractMessageSpec, + ContractProject, + ContractProjectContract, + ContractProjectSource, + ContractSelector, + ContractStorageLayout, + ContractTypeSpec, +} from '@polkadot/types/interfaces/contractsAbi'; +import { + AccountVote, + AccountVoteSplit, + AccountVoteStandard, + Conviction, + Delegations, + PreimageStatus, + PreimageStatusAvailable, + PriorLock, + PropIndex, + Proposal, + ProxyState, + ReferendumIndex, + ReferendumInfo, + ReferendumInfoFinished, + ReferendumInfoTo239, + ReferendumStatus, + Tally, + Voting, + VotingDelegating, + VotingDirect, + VotingDirectVote, +} from '@polkadot/types/interfaces/democracy'; +import { + ApprovalFlag, + DefunctVoter, + Renouncing, + SetIndex, + Vote, + VoteIndex, + VoteThreshold, + VoterInfo, +} from '@polkadot/types/interfaces/elections'; +import { CreatedBlock, ImportedAux } from '@polkadot/types/interfaces/engine'; +import { EthereumAccountId, EthereumLookupSource } from '@polkadot/types/interfaces/ethereum'; +import { Account, Log, Vicinity } from '@polkadot/types/interfaces/evm'; +import { + EcdsaSignature, + Ed25519Signature, + Extrinsic, + ExtrinsicEra, + ExtrinsicPayload, + ExtrinsicPayloadUnknown, + ExtrinsicPayloadV4, + ExtrinsicSignatureV4, + ExtrinsicUnknown, + ExtrinsicV4, + ImmortalEra, + MortalEra, + MultiSignature, + Signature, + SignerPayload, + Sr25519Signature, +} from '@polkadot/types/interfaces/extrinsics'; +import { + AssetOptions, + Owner, + PermissionLatest, + PermissionVersions, + PermissionsV1, +} from '@polkadot/types/interfaces/genericAsset'; +import { + AuthorityIndex, + AuthorityList, + AuthorityWeight, + EncodedFinalityProofs, + GrandpaEquivocation, + GrandpaEquivocationProof, + GrandpaEquivocationValue, + GrandpaPrevote, + JustificationNotification, + KeyOwnerProof, + NextAuthority, + PendingPause, + PendingResume, + Precommits, + Prevotes, + ReportedRoundStates, + RoundState, + SetId, + StoredPendingChange, + StoredState, +} from '@polkadot/types/interfaces/grandpa'; +import { + IdentityFields, + IdentityInfo, + IdentityInfoAdditional, + IdentityJudgement, + RegistrarIndex, + RegistrarInfo, + Registration, + RegistrationJudgement, +} from '@polkadot/types/interfaces/identity'; +import { + AuthIndex, + AuthoritySignature, + Heartbeat, + HeartbeatTo244, + OpaqueMultiaddr, + OpaqueNetworkState, + OpaquePeerId, +} from '@polkadot/types/interfaces/imOnline'; +import { + DoubleMapTypeLatest, + DoubleMapTypeV10, + DoubleMapTypeV11, + DoubleMapTypeV12, + DoubleMapTypeV9, + ErrorMetadataV10, + ErrorMetadataV11, + ErrorMetadataV12, + ErrorMetadataV9, + EventMetadataLatest, + EventMetadataV10, + EventMetadataV11, + EventMetadataV12, + EventMetadataV9, + ExtrinsicMetadataLatest, + ExtrinsicMetadataV11, + ExtrinsicMetadataV12, + FunctionArgumentMetadataLatest, + FunctionArgumentMetadataV10, + FunctionArgumentMetadataV11, + FunctionArgumentMetadataV12, + FunctionArgumentMetadataV9, + FunctionMetadataLatest, + FunctionMetadataV10, + FunctionMetadataV11, + FunctionMetadataV12, + FunctionMetadataV9, + MapTypeLatest, + MapTypeV10, + MapTypeV11, + MapTypeV12, + MapTypeV9, + MetadataAll, + MetadataLatest, + MetadataV10, + MetadataV11, + MetadataV12, + MetadataV9, + ModuleConstantMetadataLatest, + ModuleConstantMetadataV10, + ModuleConstantMetadataV11, + ModuleConstantMetadataV12, + ModuleConstantMetadataV9, + ModuleMetadataLatest, + ModuleMetadataV10, + ModuleMetadataV11, + ModuleMetadataV12, + ModuleMetadataV9, + StorageEntryMetadataLatest, + StorageEntryMetadataV10, + StorageEntryMetadataV11, + StorageEntryMetadataV12, + StorageEntryMetadataV9, + StorageEntryModifierLatest, + StorageEntryModifierV10, + StorageEntryModifierV11, + StorageEntryModifierV12, + StorageEntryModifierV9, + StorageEntryTypeLatest, + StorageEntryTypeV10, + StorageEntryTypeV11, + StorageEntryTypeV12, + StorageEntryTypeV9, + StorageHasher, + StorageHasherV10, + StorageHasherV11, + StorageHasherV12, + StorageHasherV9, + StorageMetadataLatest, + StorageMetadataV10, + StorageMetadataV11, + StorageMetadataV12, + StorageMetadataV9, +} from '@polkadot/types/interfaces/metadata'; +import { StorageKind } from '@polkadot/types/interfaces/offchain'; +import { + DeferredOffenceOf, + Kind, + OffenceDetails, + Offender, + OpaqueTimeSlot, + ReportIdOf, + Reporter, +} from '@polkadot/types/interfaces/offences'; +import { + AbridgedCandidateReceipt, + AttestedCandidate, + AuctionIndex, + Bidder, + CandidateCommitments, + CandidateReceipt, + CollatorId, + CollatorSignature, + DoubleVoteReport, + DownwardMessage, + GlobalValidationSchedule, + HeadData, + IncomingParachain, + IncomingParachainDeploy, + IncomingParachainFixed, + LeasePeriod, + LeasePeriodOf, + LocalValidationData, + NewBidder, + ParaId, + ParaInfo, + ParaPastCodeMeta, + ParaScheduling, + ParachainDispatchOrigin, + ParachainProposal, + RegisteredParachainInfo, + RelayChainBlockNumber, + Remark, + Retriable, + Scheduling, + SigningContext, + SlotRange, + Statement, + SubId, + UpwardMessage, + ValidationCode, + ValidationFunctionParams, + ValidatorSignature, + ValidityAttestation, + WinningData, + WinningDataEntry, +} from '@polkadot/types/interfaces/parachains'; +import { RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment'; +import { Approvals } from '@polkadot/types/interfaces/poll'; +import { ProxyAnnouncement, ProxyDefinition, ProxyType } from '@polkadot/types/interfaces/proxy'; +import { AccountStatus, AccountValidity } from '@polkadot/types/interfaces/purchase'; +import { ActiveRecovery, RecoveryConfig } from '@polkadot/types/interfaces/recovery'; +import { RpcMethods } from '@polkadot/types/interfaces/rpc'; +import { + AccountId, + AccountIdOf, + AccountIndex, + Address, + AssetId, + Balance, + BalanceOf, + Block, + BlockNumber, + Call, + CallHash, + CallHashOf, + ChangesTrieConfiguration, + Consensus, + ConsensusEngineId, + Digest, + DigestItem, + ExtrinsicsWeight, + Fixed128, + Fixed64, + FixedI128, + FixedI64, + FixedU128, + FixedU64, + GenericAddress, + H160, + H256, + H512, + Hash, + Header, + I32F32, + Index, + Justification, + KeyTypeId, + KeyValue, + LockIdentifier, + LookupSource, + LookupTarget, + ModuleId, + Moment, + OpaqueCall, + Origin, + OriginCaller, + PalletVersion, + PalletsOrigin, + Pays, + PerU16, + Perbill, + Percent, + Permill, + Perquintill, + Phantom, + PhantomData, + PreRuntime, + Releases, + RuntimeDbWeight, + Seal, + SealV0, + SignedBlock, + StorageData, + TransactionPriority, + U32F32, + ValidatorId, + Weight, + WeightMultiplier, +} from '@polkadot/types/interfaces/runtime'; +import { + SiField, + SiLookupTypeId, + SiPath, + SiType, + SiTypeDef, + SiTypeDefArray, + SiTypeDefComposite, + SiTypeDefPrimitive, + SiTypeDefSequence, + SiTypeDefTuple, + SiTypeDefVariant, + SiVariant, +} from '@polkadot/types/interfaces/scaleInfo'; +import { + Period, + Priority, + SchedulePeriod, + SchedulePriority, + Scheduled, + ScheduledTo254, + TaskAddress, +} from '@polkadot/types/interfaces/scheduler'; +import { + FullIdentification, + IdentificationTuple, + Keys, + MembershipProof, + SessionIndex, + SessionKeys1, + SessionKeys2, + SessionKeys3, + SessionKeys4, + SessionKeys5, + SessionKeys6, + ValidatorCount, +} from '@polkadot/types/interfaces/session'; +import { + Bid, + BidKind, + SocietyJudgement, + SocietyVote, + StrikeCount, + VouchingStatus, +} from '@polkadot/types/interfaces/society'; +import { + ApiId, + KeyValueOption, + ReadProof, + RuntimeVersion, + RuntimeVersionApi, + StorageChangeSet, +} from '@polkadot/types/interfaces/state'; +import { WeightToFeeCoefficient } from '@polkadot/types/interfaces/support'; +import { + Bounty, + BountyIndex, + BountyStatus, + BountyStatusActive, + BountyStatusCuratorProposed, + BountyStatusPendingPayout, + OpenTip, + OpenTipFinderTo225, + OpenTipTip, + OpenTipTo225, + TreasuryProposal, +} from '@polkadot/types/interfaces/treasury'; +import { Multiplier } from '@polkadot/types/interfaces/txpayment'; +import { Multisig, Timepoint } from '@polkadot/types/interfaces/utility'; +import { VestingInfo } from '@polkadot/types/interfaces/vesting'; + +declare module '@polkadot/types/types/registry' { + export interface InterfaceTypes { + BitVec: BitVec; + 'Option': Option; + 'Vec': Vec; + bool: bool; + 'Option': Option; + 'Vec': Vec; + Bytes: Bytes; + 'Option': Option; + 'Vec': Vec; + Data: Data; + 'Option': Option; + 'Vec': Vec; + DoNotConstruct: DoNotConstruct; + 'Option': Option; + 'Vec': Vec; + i8: i8; + 'Option': Option; + 'Vec': Vec; + i16: i16; + 'Option': Option; + 'Vec': Vec; + i32: i32; + 'Option': Option; + 'Vec': Vec; + i64: i64; + 'Option': Option; + 'Vec': Vec; + i128: i128; + 'Option': Option; + 'Vec': Vec; + i256: i256; + 'Option': Option; + 'Vec': Vec; + Null: Null; + 'Option': Option; + 'Vec': Vec; + StorageKey: StorageKey; + 'Option': Option; + 'Vec': Vec; + Text: Text; + 'Option': Option; + 'Vec': Vec; + Type: Type; + 'Option': Option; + 'Vec': Vec; + u8: u8; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + u16: u16; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + u32: u32; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + u64: u64; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + u128: u128; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + u256: u256; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + U256: U256; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + usize: usize; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Raw: Raw; + 'Option': Option; + 'Vec': Vec; + Fixed64: Fixed64; + 'Option': Option; + 'Vec': Vec; + FixedI64: FixedI64; + 'Option': Option; + 'Vec': Vec; + FixedU64: FixedU64; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Fixed128: Fixed128; + 'Option': Option; + 'Vec': Vec; + FixedI128: FixedI128; + 'Option': Option; + 'Vec': Vec; + FixedU128: FixedU128; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + I32F32: I32F32; + 'Option': Option; + 'Vec': Vec; + U32F32: U32F32; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + PerU16: PerU16; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Perbill: Perbill; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Percent: Percent; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Permill: Permill; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Perquintill: Perquintill; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + AccountId: AccountId; + 'Option': Option; + 'Vec': Vec; + AccountIdOf: AccountIdOf; + 'Option': Option; + 'Vec': Vec; + AccountIndex: AccountIndex; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Address: Address; + 'Option
': Option
; + 'Vec
': Vec
; + AssetId: AssetId; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Balance: Balance; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + BalanceOf: BalanceOf; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Block: Block; + 'Option': Option; + 'Vec': Vec; + BlockNumber: BlockNumber; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Call: Call; + 'Option': Option; + 'Vec': Vec; + CallHash: CallHash; + 'Option': Option; + 'Vec': Vec; + CallHashOf: CallHashOf; + 'Option': Option; + 'Vec': Vec; + ChangesTrieConfiguration: ChangesTrieConfiguration; + 'Option': Option; + 'Vec': Vec; + ConsensusEngineId: ConsensusEngineId; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Digest: Digest; + 'Option': Option; + 'Vec': Vec; + DigestItem: DigestItem; + 'Option': Option; + 'Vec': Vec; + ExtrinsicsWeight: ExtrinsicsWeight; + 'Option': Option; + 'Vec': Vec; + GenericAddress: GenericAddress; + 'Option': Option; + 'Vec': Vec; + H160: H160; + 'Option': Option; + 'Vec': Vec; + H256: H256; + 'Option': Option; + 'Vec': Vec; + H512: H512; + 'Option': Option; + 'Vec': Vec; + Hash: Hash; + 'Option': Option; + 'Vec': Vec; + Header: Header; + 'Option
': Option
; + 'Vec
': Vec
; + Index: Index; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Justification: Justification; + 'Option': Option; + 'Vec': Vec; + KeyValue: KeyValue; + 'Option': Option; + 'Vec': Vec; + KeyTypeId: KeyTypeId; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + LockIdentifier: LockIdentifier; + 'Option': Option; + 'Vec': Vec; + LookupSource: LookupSource; + 'Option': Option; + 'Vec': Vec; + LookupTarget: LookupTarget; + 'Option': Option; + 'Vec': Vec; + ModuleId: ModuleId; + 'Option': Option; + 'Vec': Vec; + Moment: Moment; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + OpaqueCall: OpaqueCall; + 'Option': Option; + 'Vec': Vec; + Origin: Origin; + 'Option': Option; + 'Vec': Vec; + OriginCaller: OriginCaller; + 'Option': Option; + 'Vec': Vec; + PalletsOrigin: PalletsOrigin; + 'Option': Option; + 'Vec': Vec; + PalletVersion: PalletVersion; + 'Option': Option; + 'Vec': Vec; + Pays: Pays; + 'Option': Option; + 'Vec': Vec; + Phantom: Phantom; + 'Option': Option; + 'Vec': Vec; + PhantomData: PhantomData; + 'Option': Option; + 'Vec': Vec; + Releases: Releases; + 'Option': Option; + 'Vec': Vec; + RuntimeDbWeight: RuntimeDbWeight; + 'Option': Option; + 'Vec': Vec; + SignedBlock: SignedBlock; + 'Option': Option; + 'Vec': Vec; + StorageData: StorageData; + 'Option': Option; + 'Vec': Vec; + TransactionPriority: TransactionPriority; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + ValidatorId: ValidatorId; + 'Option': Option; + 'Vec': Vec; + Weight: Weight; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + WeightMultiplier: WeightMultiplier; + 'Option': Option; + 'Vec': Vec; + PreRuntime: PreRuntime; + 'Option': Option; + 'Vec': Vec; + SealV0: SealV0; + 'Option': Option; + 'Vec': Vec; + Seal: Seal; + 'Option': Option; + 'Vec': Vec; + Consensus: Consensus; + 'Option': Option; + 'Vec': Vec; + UncleEntryItem: UncleEntryItem; + 'Option': Option; + 'Vec': Vec; + RawAuraPreDigest: RawAuraPreDigest; + 'Option': Option; + 'Vec': Vec; + AllowedSlots: AllowedSlots; + 'Option': Option; + 'Vec': Vec; + BabeAuthorityWeight: BabeAuthorityWeight; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + BabeBlockWeight: BabeBlockWeight; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + BabeEquivocationProof: BabeEquivocationProof; + 'Option': Option; + 'Vec': Vec; + BabeWeight: BabeWeight; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + MaybeRandomness: MaybeRandomness; + 'Option': Option; + 'Vec': Vec; + MaybeVrf: MaybeVrf; + 'Option': Option; + 'Vec': Vec; + EpochAuthorship: EpochAuthorship; + 'Option': Option; + 'Vec': Vec; + NextConfigDescriptor: NextConfigDescriptor; + 'Option': Option; + 'Vec': Vec; + NextConfigDescriptorV1: NextConfigDescriptorV1; + 'Option': Option; + 'Vec': Vec; + Randomness: Randomness; + 'Option': Option; + 'Vec': Vec; + RawBabePreDigest: RawBabePreDigest; + 'Option': Option; + 'Vec': Vec; + RawBabePreDigestPrimary: RawBabePreDigestPrimary; + 'Option': Option; + 'Vec': Vec; + RawBabePreDigestSecondaryPlain: RawBabePreDigestSecondaryPlain; + 'Option': Option; + 'Vec': Vec; + RawBabePreDigestSecondaryVRF: RawBabePreDigestSecondaryVRF; + 'Option': Option; + 'Vec': Vec; + RawBabePreDigestTo159: RawBabePreDigestTo159; + 'Option': Option; + 'Vec': Vec; + RawBabePreDigestPrimaryTo159: RawBabePreDigestPrimaryTo159; + 'Option': Option; + 'Vec': Vec; + RawBabePreDigestSecondaryTo159: RawBabePreDigestSecondaryTo159; + 'Option': Option; + 'Vec': Vec; + RawBabePreDigestCompat: RawBabePreDigestCompat; + 'Option': Option; + 'Vec': Vec; + SlotNumber: SlotNumber; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + VrfData: VrfData; + 'Option': Option; + 'Vec': Vec; + VrfOutput: VrfOutput; + 'Option': Option; + 'Vec': Vec; + VrfProof: VrfProof; + 'Option': Option; + 'Vec': Vec; + AccountData: AccountData; + 'Option': Option; + 'Vec': Vec; + BalanceLockTo212: BalanceLockTo212; + 'Option': Option; + 'Vec': Vec; + BalanceLock: BalanceLock; + 'Option': Option; + 'Vec': Vec; + BalanceStatus: BalanceStatus; + 'Option': Option; + 'Vec': Vec; + Reasons: Reasons; + 'Option': Option; + 'Vec': Vec; + VestingSchedule: VestingSchedule; + 'Option': Option; + 'Vec': Vec; + WithdrawReasons: WithdrawReasons; + 'Option': Option; + 'Vec': Vec; + CollectiveOrigin: CollectiveOrigin; + 'Option': Option; + 'Vec': Vec; + MemberCount: MemberCount; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + ProposalIndex: ProposalIndex; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + VotesTo230: VotesTo230; + 'Option': Option; + 'Vec': Vec; + Votes: Votes; + 'Option': Option; + 'Vec': Vec; + AuthorityId: AuthorityId; + 'Option': Option; + 'Vec': Vec; + RawVRFOutput: RawVRFOutput; + 'Option': Option; + 'Vec': Vec; + AliveContractInfo: AliveContractInfo; + 'Option': Option; + 'Vec': Vec; + CodeHash: CodeHash; + 'Option': Option; + 'Vec': Vec; + ContractCallRequest: ContractCallRequest; + 'Option': Option; + 'Vec': Vec; + ContractExecResultSuccessTo255: ContractExecResultSuccessTo255; + 'Option': Option; + 'Vec': Vec; + ContractExecResultTo255: ContractExecResultTo255; + 'Option': Option; + 'Vec': Vec; + ContractExecResultSuccess: ContractExecResultSuccess; + 'Option': Option; + 'Vec': Vec; + ContractExecResult: ContractExecResult; + 'Option': Option; + 'Vec': Vec; + ContractInfo: ContractInfo; + 'Option': Option; + 'Vec': Vec; + ContractStorageKey: ContractStorageKey; + 'Option': Option; + 'Vec': Vec; + Gas: Gas; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + HostFnWeights: HostFnWeights; + 'Option': Option; + 'Vec': Vec; + InstructionWeights: InstructionWeights; + 'Option': Option; + 'Vec': Vec; + PrefabWasmModule: PrefabWasmModule; + 'Option': Option; + 'Vec': Vec; + PrefabWasmModuleReserved: PrefabWasmModuleReserved; + 'Option': Option; + 'Vec': Vec; + ScheduleTo212: ScheduleTo212; + 'Option': Option; + 'Vec': Vec; + ScheduleTo258: ScheduleTo258; + 'Option': Option; + 'Vec': Vec; + Schedule: Schedule; + 'Option': Option; + 'Vec': Vec; + SeedOf: SeedOf; + 'Option': Option; + 'Vec': Vec; + TombstoneContractInfo: TombstoneContractInfo; + 'Option': Option; + 'Vec': Vec; + TrieId: TrieId; + 'Option': Option; + 'Vec': Vec; + AccountVote: AccountVote; + 'Option': Option; + 'Vec': Vec; + AccountVoteSplit: AccountVoteSplit; + 'Option': Option; + 'Vec': Vec; + AccountVoteStandard: AccountVoteStandard; + 'Option': Option; + 'Vec': Vec; + Conviction: Conviction; + 'Option': Option; + 'Vec': Vec; + Delegations: Delegations; + 'Option': Option; + 'Vec': Vec; + PreimageStatus: PreimageStatus; + 'Option': Option; + 'Vec': Vec; + PreimageStatusAvailable: PreimageStatusAvailable; + 'Option': Option; + 'Vec': Vec; + PriorLock: PriorLock; + 'Option': Option; + 'Vec': Vec; + PropIndex: PropIndex; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Proposal: Proposal; + 'Option': Option; + 'Vec': Vec; + ProxyState: ProxyState; + 'Option': Option; + 'Vec': Vec; + ReferendumIndex: ReferendumIndex; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + ReferendumInfoTo239: ReferendumInfoTo239; + 'Option': Option; + 'Vec': Vec; + ReferendumInfo: ReferendumInfo; + 'Option': Option; + 'Vec': Vec; + ReferendumInfoFinished: ReferendumInfoFinished; + 'Option': Option; + 'Vec': Vec; + ReferendumStatus: ReferendumStatus; + 'Option': Option; + 'Vec': Vec; + Tally: Tally; + 'Option': Option; + 'Vec': Vec; + Voting: Voting; + 'Option': Option; + 'Vec': Vec; + VotingDirect: VotingDirect; + 'Option': Option; + 'Vec': Vec; + VotingDirectVote: VotingDirectVote; + 'Option': Option; + 'Vec': Vec; + VotingDelegating: VotingDelegating; + 'Option': Option; + 'Vec': Vec; + ApprovalFlag: ApprovalFlag; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + DefunctVoter: DefunctVoter; + 'Option': Option; + 'Vec': Vec; + Renouncing: Renouncing; + 'Option': Option; + 'Vec': Vec; + SetIndex: SetIndex; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Vote: Vote; + 'Option': Option; + 'Vec': Vec; + VoteIndex: VoteIndex; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + VoterInfo: VoterInfo; + 'Option': Option; + 'Vec': Vec; + VoteThreshold: VoteThreshold; + 'Option': Option; + 'Vec': Vec; + CreatedBlock: CreatedBlock; + 'Option': Option; + 'Vec': Vec; + ImportedAux: ImportedAux; + 'Option': Option; + 'Vec': Vec; + Account: Account; + 'Option': Option; + 'Vec': Vec; + Log: Log; + 'Option': Option; + 'Vec': Vec; + Vicinity: Vicinity; + 'Option': Option; + 'Vec': Vec; + Extrinsic: Extrinsic; + 'Option': Option; + 'Vec': Vec; + ExtrinsicEra: ExtrinsicEra; + 'Option': Option; + 'Vec': Vec; + ExtrinsicPayload: ExtrinsicPayload; + 'Option': Option; + 'Vec': Vec; + ExtrinsicV4: ExtrinsicV4; + 'Option': Option; + 'Vec': Vec; + ExtrinsicPayloadV4: ExtrinsicPayloadV4; + 'Option': Option; + 'Vec': Vec; + ExtrinsicSignatureV4: ExtrinsicSignatureV4; + 'Option': Option; + 'Vec': Vec; + ExtrinsicUnknown: ExtrinsicUnknown; + 'Option': Option; + 'Vec': Vec; + ExtrinsicPayloadUnknown: ExtrinsicPayloadUnknown; + 'Option': Option; + 'Vec': Vec; + ImmortalEra: ImmortalEra; + 'Option': Option; + 'Vec': Vec; + MortalEra: MortalEra; + 'Option': Option; + 'Vec': Vec; + MultiSignature: MultiSignature; + 'Option': Option; + 'Vec': Vec; + Signature: Signature; + 'Option': Option; + 'Vec': Vec; + SignerPayload: SignerPayload; + 'Option': Option; + 'Vec': Vec; + EcdsaSignature: EcdsaSignature; + 'Option': Option; + 'Vec': Vec; + Ed25519Signature: Ed25519Signature; + 'Option': Option; + 'Vec': Vec; + Sr25519Signature: Sr25519Signature; + 'Option': Option; + 'Vec': Vec; + AssetOptions: AssetOptions; + 'Option': Option; + 'Vec': Vec; + Owner: Owner; + 'Option': Option; + 'Vec': Vec; + PermissionsV1: PermissionsV1; + 'Option': Option; + 'Vec': Vec; + PermissionVersions: PermissionVersions; + 'Option': Option; + 'Vec': Vec; + PermissionLatest: PermissionLatest; + 'Option': Option; + 'Vec': Vec; + AuthorityIndex: AuthorityIndex; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + AuthorityList: AuthorityList; + 'Option': Option; + 'Vec': Vec; + AuthorityWeight: AuthorityWeight; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + EncodedFinalityProofs: EncodedFinalityProofs; + 'Option': Option; + 'Vec': Vec; + GrandpaEquivocation: GrandpaEquivocation; + 'Option': Option; + 'Vec': Vec; + GrandpaEquivocationProof: GrandpaEquivocationProof; + 'Option': Option; + 'Vec': Vec; + GrandpaEquivocationValue: GrandpaEquivocationValue; + 'Option': Option; + 'Vec': Vec; + GrandpaPrevote: GrandpaPrevote; + 'Option': Option; + 'Vec': Vec; + JustificationNotification: JustificationNotification; + 'Option': Option; + 'Vec': Vec; + KeyOwnerProof: KeyOwnerProof; + 'Option': Option; + 'Vec': Vec; + NextAuthority: NextAuthority; + 'Option': Option; + 'Vec': Vec; + PendingPause: PendingPause; + 'Option': Option; + 'Vec': Vec; + PendingResume: PendingResume; + 'Option': Option; + 'Vec': Vec; + Precommits: Precommits; + 'Option': Option; + 'Vec': Vec; + Prevotes: Prevotes; + 'Option': Option; + 'Vec': Vec; + ReportedRoundStates: ReportedRoundStates; + 'Option': Option; + 'Vec': Vec; + RoundState: RoundState; + 'Option': Option; + 'Vec': Vec; + SetId: SetId; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + StoredPendingChange: StoredPendingChange; + 'Option': Option; + 'Vec': Vec; + StoredState: StoredState; + 'Option': Option; + 'Vec': Vec; + IdentityFields: IdentityFields; + 'Option': Option; + 'Vec': Vec; + IdentityInfoAdditional: IdentityInfoAdditional; + 'Option': Option; + 'Vec': Vec; + IdentityInfo: IdentityInfo; + 'Option': Option; + 'Vec': Vec; + IdentityJudgement: IdentityJudgement; + 'Option': Option; + 'Vec': Vec; + RegistrationJudgement: RegistrationJudgement; + 'Option': Option; + 'Vec': Vec; + Registration: Registration; + 'Option': Option; + 'Vec': Vec; + RegistrarIndex: RegistrarIndex; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + RegistrarInfo: RegistrarInfo; + 'Option': Option; + 'Vec': Vec; + AuthIndex: AuthIndex; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + AuthoritySignature: AuthoritySignature; + 'Option': Option; + 'Vec': Vec; + Heartbeat: Heartbeat; + 'Option': Option; + 'Vec': Vec; + HeartbeatTo244: HeartbeatTo244; + 'Option': Option; + 'Vec': Vec; + OpaqueMultiaddr: OpaqueMultiaddr; + 'Option': Option; + 'Vec': Vec; + OpaquePeerId: OpaquePeerId; + 'Option': Option; + 'Vec': Vec; + OpaqueNetworkState: OpaqueNetworkState; + 'Option': Option; + 'Vec': Vec; + DeferredOffenceOf: DeferredOffenceOf; + 'Option': Option; + 'Vec': Vec; + Kind: Kind; + 'Option': Option; + 'Vec': Vec; + OffenceDetails: OffenceDetails; + 'Option': Option; + 'Vec': Vec; + Offender: Offender; + 'Option': Option; + 'Vec': Vec; + OpaqueTimeSlot: OpaqueTimeSlot; + 'Option': Option; + 'Vec': Vec; + ReportIdOf: ReportIdOf; + 'Option': Option; + 'Vec': Vec; + Reporter: Reporter; + 'Option': Option; + 'Vec': Vec; + ProxyDefinition: ProxyDefinition; + 'Option': Option; + 'Vec': Vec; + ProxyType: ProxyType; + 'Option': Option; + 'Vec': Vec; + ProxyAnnouncement: ProxyAnnouncement; + 'Option': Option; + 'Vec': Vec; + ActiveRecovery: ActiveRecovery; + 'Option': Option; + 'Vec': Vec; + RecoveryConfig: RecoveryConfig; + 'Option': Option; + 'Vec': Vec; + Period: Period; + 'Option': Option; + 'Vec': Vec; + Priority: Priority; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + SchedulePeriod: SchedulePeriod; + 'Option': Option; + 'Vec': Vec; + SchedulePriority: SchedulePriority; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Scheduled: Scheduled; + 'Option': Option; + 'Vec': Vec; + ScheduledTo254: ScheduledTo254; + 'Option': Option; + 'Vec': Vec; + TaskAddress: TaskAddress; + 'Option': Option; + 'Vec': Vec; + Keys: Keys; + 'Option': Option; + 'Vec': Vec; + SessionKeys1: SessionKeys1; + 'Option': Option; + 'Vec': Vec; + SessionKeys2: SessionKeys2; + 'Option': Option; + 'Vec': Vec; + SessionKeys3: SessionKeys3; + 'Option': Option; + 'Vec': Vec; + SessionKeys4: SessionKeys4; + 'Option': Option; + 'Vec': Vec; + SessionKeys5: SessionKeys5; + 'Option': Option; + 'Vec': Vec; + SessionKeys6: SessionKeys6; + 'Option': Option; + 'Vec': Vec; + FullIdentification: FullIdentification; + 'Option': Option; + 'Vec': Vec; + IdentificationTuple: IdentificationTuple; + 'Option': Option; + 'Vec': Vec; + MembershipProof: MembershipProof; + 'Option': Option; + 'Vec': Vec; + SessionIndex: SessionIndex; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + ValidatorCount: ValidatorCount; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Bid: Bid; + 'Option': Option; + 'Vec': Vec; + BidKind: BidKind; + 'Option': Option; + 'Vec': Vec; + SocietyJudgement: SocietyJudgement; + 'Option': Option; + 'Vec': Vec; + SocietyVote: SocietyVote; + 'Option': Option; + 'Vec': Vec; + StrikeCount: StrikeCount; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + VouchingStatus: VouchingStatus; + 'Option': Option; + 'Vec': Vec; + WeightToFeeCoefficient: WeightToFeeCoefficient; + 'Option': Option; + 'Vec': Vec; + Bounty: Bounty; + 'Option': Option; + 'Vec': Vec; + BountyIndex: BountyIndex; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + BountyStatus: BountyStatus; + 'Option': Option; + 'Vec': Vec; + BountyStatusActive: BountyStatusActive; + 'Option': Option; + 'Vec': Vec; + BountyStatusCuratorProposed: BountyStatusCuratorProposed; + 'Option': Option; + 'Vec': Vec; + BountyStatusPendingPayout: BountyStatusPendingPayout; + 'Option': Option; + 'Vec': Vec; + OpenTip: OpenTip; + 'Option': Option; + 'Vec': Vec; + OpenTipTo225: OpenTipTo225; + 'Option': Option; + 'Vec': Vec; + OpenTipFinderTo225: OpenTipFinderTo225; + 'Option': Option; + 'Vec': Vec; + OpenTipTip: OpenTipTip; + 'Option': Option; + 'Vec': Vec; + TreasuryProposal: TreasuryProposal; + 'Option': Option; + 'Vec': Vec; + Multiplier: Multiplier; + 'Option': Option; + 'Vec': Vec; + Multisig: Multisig; + 'Option': Option; + 'Vec': Vec; + Timepoint: Timepoint; + 'Option': Option; + 'Vec': Vec; + VestingInfo: VestingInfo; + 'Option': Option; + 'Vec': Vec; + BlockAttestations: BlockAttestations; + 'Option': Option; + 'Vec': Vec; + IncludedBlocks: IncludedBlocks; + 'Option': Option; + 'Vec': Vec; + MoreAttestations: MoreAttestations; + 'Option': Option; + 'Vec': Vec; + EthereumAddress: EthereumAddress; + 'Option': Option; + 'Vec': Vec; + StatementKind: StatementKind; + 'Option': Option; + 'Vec': Vec; + ParachainProposal: ParachainProposal; + 'Option': Option; + 'Vec': Vec; + RegisteredParachainInfo: RegisteredParachainInfo; + 'Option': Option; + 'Vec': Vec; + AbridgedCandidateReceipt: AbridgedCandidateReceipt; + 'Option': Option; + 'Vec': Vec; + AttestedCandidate: AttestedCandidate; + 'Option': Option; + 'Vec': Vec; + AuctionIndex: AuctionIndex; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Bidder: Bidder; + 'Option': Option; + 'Vec': Vec; + CandidateCommitments: CandidateCommitments; + 'Option': Option; + 'Vec': Vec; + CandidateReceipt: CandidateReceipt; + 'Option': Option; + 'Vec': Vec; + CollatorId: CollatorId; + 'Option': Option; + 'Vec': Vec; + CollatorSignature: CollatorSignature; + 'Option': Option; + 'Vec': Vec; + DoubleVoteReport: DoubleVoteReport; + 'Option': Option; + 'Vec': Vec; + DownwardMessage: DownwardMessage; + 'Option': Option; + 'Vec': Vec; + GlobalValidationSchedule: GlobalValidationSchedule; + 'Option': Option; + 'Vec': Vec; + HeadData: HeadData; + 'Option': Option; + 'Vec': Vec; + IncomingParachain: IncomingParachain; + 'Option': Option; + 'Vec': Vec; + IncomingParachainFixed: IncomingParachainFixed; + 'Option': Option; + 'Vec': Vec; + IncomingParachainDeploy: IncomingParachainDeploy; + 'Option': Option; + 'Vec': Vec; + LeasePeriod: LeasePeriod; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + LeasePeriodOf: LeasePeriodOf; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + LocalValidationData: LocalValidationData; + 'Option': Option; + 'Vec': Vec; + NewBidder: NewBidder; + 'Option': Option; + 'Vec': Vec; + ParachainDispatchOrigin: ParachainDispatchOrigin; + 'Option': Option; + 'Vec': Vec; + ParaId: ParaId; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + ParaInfo: ParaInfo; + 'Option': Option; + 'Vec': Vec; + ParaPastCodeMeta: ParaPastCodeMeta; + 'Option': Option; + 'Vec': Vec; + ParaScheduling: ParaScheduling; + 'Option': Option; + 'Vec': Vec; + RelayChainBlockNumber: RelayChainBlockNumber; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Remark: Remark; + 'Option': Option; + 'Vec': Vec; + Retriable: Retriable; + 'Option': Option; + 'Vec': Vec; + Scheduling: Scheduling; + 'Option': Option; + 'Vec': Vec; + SigningContext: SigningContext; + 'Option': Option; + 'Vec': Vec; + SlotRange: SlotRange; + 'Option': Option; + 'Vec': Vec; + Statement: Statement; + 'Option': Option; + 'Vec': Vec; + SubId: SubId; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + UpwardMessage: UpwardMessage; + 'Option': Option; + 'Vec': Vec; + ValidationFunctionParams: ValidationFunctionParams; + 'Option': Option; + 'Vec': Vec; + ValidationCode: ValidationCode; + 'Option': Option; + 'Vec': Vec; + ValidatorSignature: ValidatorSignature; + 'Option': Option; + 'Vec': Vec; + ValidityAttestation: ValidityAttestation; + 'Option': Option; + 'Vec': Vec; + WinningData: WinningData; + 'Option': Option; + 'Vec': Vec; + WinningDataEntry: WinningDataEntry; + 'Option': Option; + 'Vec': Vec; + Approvals: Approvals; + 'Option': Option; + 'Vec': Vec; + AccountStatus: AccountStatus; + 'Option': Option; + 'Vec': Vec; + AccountValidity: AccountValidity; + 'Option': Option; + 'Vec': Vec; + ContractCryptoHasher: ContractCryptoHasher; + 'Option': Option; + 'Vec': Vec; + ContractDiscriminant: ContractDiscriminant; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + ContractLayoutArray: ContractLayoutArray; + 'Option': Option; + 'Vec': Vec; + ContractLayoutCell: ContractLayoutCell; + 'Option': Option; + 'Vec': Vec; + ContractLayoutEnum: ContractLayoutEnum; + 'Option': Option; + 'Vec': Vec; + ContractLayoutHash: ContractLayoutHash; + 'Option': Option; + 'Vec': Vec; + ContractLayoutHashingStrategy: ContractLayoutHashingStrategy; + 'Option': Option; + 'Vec': Vec; + ContractLayoutKey: ContractLayoutKey; + 'Option': Option; + 'Vec': Vec; + ContractLayoutStruct: ContractLayoutStruct; + 'Option': Option; + 'Vec': Vec; + ContractLayoutStructField: ContractLayoutStructField; + 'Option': Option; + 'Vec': Vec; + ContractStorageLayout: ContractStorageLayout; + 'Option': Option; + 'Vec': Vec; + ContractConstructorSpec: ContractConstructorSpec; + 'Option': Option; + 'Vec': Vec; + ContractContractSpec: ContractContractSpec; + 'Option': Option; + 'Vec': Vec; + ContractDisplayName: ContractDisplayName; + 'Option': Option; + 'Vec': Vec; + ContractEventParamSpec: ContractEventParamSpec; + 'Option': Option; + 'Vec': Vec; + ContractEventSpec: ContractEventSpec; + 'Option': Option; + 'Vec': Vec; + ContractMessageParamSpec: ContractMessageParamSpec; + 'Option': Option; + 'Vec': Vec; + ContractMessageSpec: ContractMessageSpec; + 'Option': Option; + 'Vec': Vec; + ContractSelector: ContractSelector; + 'Option': Option; + 'Vec': Vec; + ContractTypeSpec: ContractTypeSpec; + 'Option': Option; + 'Vec': Vec; + ContractProject: ContractProject; + 'Option': Option; + 'Vec': Vec; + ContractProjectContract: ContractProjectContract; + 'Option': Option; + 'Vec': Vec; + ContractProjectSource: ContractProjectSource; + 'Option': Option; + 'Vec': Vec; + SiField: SiField; + 'Option': Option; + 'Vec': Vec; + SiLookupTypeId: SiLookupTypeId; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + SiPath: SiPath; + 'Option': Option; + 'Vec': Vec; + SiType: SiType; + 'Option': Option; + 'Vec': Vec; + SiTypeDef: SiTypeDef; + 'Option': Option; + 'Vec': Vec; + SiTypeDefArray: SiTypeDefArray; + 'Option': Option; + 'Vec': Vec; + SiTypeDefComposite: SiTypeDefComposite; + 'Option': Option; + 'Vec': Vec; + SiTypeDefVariant: SiTypeDefVariant; + 'Option': Option; + 'Vec': Vec; + SiTypeDefPrimitive: SiTypeDefPrimitive; + 'Option': Option; + 'Vec': Vec; + SiTypeDefSequence: SiTypeDefSequence; + 'Option': Option; + 'Vec': Vec; + SiTypeDefTuple: SiTypeDefTuple; + 'Option': Option; + 'Vec': Vec; + SiVariant: SiVariant; + 'Option': Option; + 'Vec': Vec; + EthereumAccountId: EthereumAccountId; + 'Option': Option; + 'Vec': Vec; + EthereumLookupSource: EthereumLookupSource; + 'Option': Option; + 'Vec': Vec; + DoubleMapTypeV9: DoubleMapTypeV9; + 'Option': Option; + 'Vec': Vec; + ErrorMetadataV9: ErrorMetadataV9; + 'Option': Option; + 'Vec': Vec; + EventMetadataV9: EventMetadataV9; + 'Option': Option; + 'Vec': Vec; + FunctionArgumentMetadataV9: FunctionArgumentMetadataV9; + 'Option': Option; + 'Vec': Vec; + FunctionMetadataV9: FunctionMetadataV9; + 'Option': Option; + 'Vec': Vec; + MapTypeV9: MapTypeV9; + 'Option': Option; + 'Vec': Vec; + MetadataV9: MetadataV9; + 'Option': Option; + 'Vec': Vec; + ModuleConstantMetadataV9: ModuleConstantMetadataV9; + 'Option': Option; + 'Vec': Vec; + ModuleMetadataV9: ModuleMetadataV9; + 'Option': Option; + 'Vec': Vec; + StorageEntryMetadataV9: StorageEntryMetadataV9; + 'Option': Option; + 'Vec': Vec; + StorageEntryModifierV9: StorageEntryModifierV9; + 'Option': Option; + 'Vec': Vec; + StorageEntryTypeV9: StorageEntryTypeV9; + 'Option': Option; + 'Vec': Vec; + StorageHasherV9: StorageHasherV9; + 'Option': Option; + 'Vec': Vec; + StorageMetadataV9: StorageMetadataV9; + 'Option': Option; + 'Vec': Vec; + DoubleMapTypeV10: DoubleMapTypeV10; + 'Option': Option; + 'Vec': Vec; + ErrorMetadataV10: ErrorMetadataV10; + 'Option': Option; + 'Vec': Vec; + EventMetadataV10: EventMetadataV10; + 'Option': Option; + 'Vec': Vec; + FunctionArgumentMetadataV10: FunctionArgumentMetadataV10; + 'Option': Option; + 'Vec': Vec; + FunctionMetadataV10: FunctionMetadataV10; + 'Option': Option; + 'Vec': Vec; + MapTypeV10: MapTypeV10; + 'Option': Option; + 'Vec': Vec; + MetadataV10: MetadataV10; + 'Option': Option; + 'Vec': Vec; + ModuleConstantMetadataV10: ModuleConstantMetadataV10; + 'Option': Option; + 'Vec': Vec; + ModuleMetadataV10: ModuleMetadataV10; + 'Option': Option; + 'Vec': Vec; + StorageEntryModifierV10: StorageEntryModifierV10; + 'Option': Option; + 'Vec': Vec; + StorageEntryMetadataV10: StorageEntryMetadataV10; + 'Option': Option; + 'Vec': Vec; + StorageEntryTypeV10: StorageEntryTypeV10; + 'Option': Option; + 'Vec': Vec; + StorageMetadataV10: StorageMetadataV10; + 'Option': Option; + 'Vec': Vec; + StorageHasherV10: StorageHasherV10; + 'Option': Option; + 'Vec': Vec; + DoubleMapTypeV11: DoubleMapTypeV11; + 'Option': Option; + 'Vec': Vec; + ErrorMetadataV11: ErrorMetadataV11; + 'Option': Option; + 'Vec': Vec; + EventMetadataV11: EventMetadataV11; + 'Option': Option; + 'Vec': Vec; + ExtrinsicMetadataV11: ExtrinsicMetadataV11; + 'Option': Option; + 'Vec': Vec; + FunctionArgumentMetadataV11: FunctionArgumentMetadataV11; + 'Option': Option; + 'Vec': Vec; + FunctionMetadataV11: FunctionMetadataV11; + 'Option': Option; + 'Vec': Vec; + MapTypeV11: MapTypeV11; + 'Option': Option; + 'Vec': Vec; + MetadataV11: MetadataV11; + 'Option': Option; + 'Vec': Vec; + ModuleConstantMetadataV11: ModuleConstantMetadataV11; + 'Option': Option; + 'Vec': Vec; + ModuleMetadataV11: ModuleMetadataV11; + 'Option': Option; + 'Vec': Vec; + StorageEntryModifierV11: StorageEntryModifierV11; + 'Option': Option; + 'Vec': Vec; + StorageEntryMetadataV11: StorageEntryMetadataV11; + 'Option': Option; + 'Vec': Vec; + StorageEntryTypeV11: StorageEntryTypeV11; + 'Option': Option; + 'Vec': Vec; + StorageMetadataV11: StorageMetadataV11; + 'Option': Option; + 'Vec': Vec; + StorageHasherV11: StorageHasherV11; + 'Option': Option; + 'Vec': Vec; + DoubleMapTypeV12: DoubleMapTypeV12; + 'Option': Option; + 'Vec': Vec; + ErrorMetadataV12: ErrorMetadataV12; + 'Option': Option; + 'Vec': Vec; + EventMetadataV12: EventMetadataV12; + 'Option': Option; + 'Vec': Vec; + ExtrinsicMetadataV12: ExtrinsicMetadataV12; + 'Option': Option; + 'Vec': Vec; + FunctionArgumentMetadataV12: FunctionArgumentMetadataV12; + 'Option': Option; + 'Vec': Vec; + FunctionMetadataV12: FunctionMetadataV12; + 'Option': Option; + 'Vec': Vec; + MapTypeV12: MapTypeV12; + 'Option': Option; + 'Vec': Vec; + MetadataV12: MetadataV12; + 'Option': Option; + 'Vec': Vec; + ModuleConstantMetadataV12: ModuleConstantMetadataV12; + 'Option': Option; + 'Vec': Vec; + ModuleMetadataV12: ModuleMetadataV12; + 'Option': Option; + 'Vec': Vec; + StorageEntryModifierV12: StorageEntryModifierV12; + 'Option': Option; + 'Vec': Vec; + StorageEntryMetadataV12: StorageEntryMetadataV12; + 'Option': Option; + 'Vec': Vec; + StorageEntryTypeV12: StorageEntryTypeV12; + 'Option': Option; + 'Vec': Vec; + StorageMetadataV12: StorageMetadataV12; + 'Option': Option; + 'Vec': Vec; + StorageHasherV12: StorageHasherV12; + 'Option': Option; + 'Vec': Vec; + DoubleMapTypeLatest: DoubleMapTypeLatest; + 'Option': Option; + 'Vec': Vec; + EventMetadataLatest: EventMetadataLatest; + 'Option': Option; + 'Vec': Vec; + ExtrinsicMetadataLatest: ExtrinsicMetadataLatest; + 'Option': Option; + 'Vec': Vec; + FunctionArgumentMetadataLatest: FunctionArgumentMetadataLatest; + 'Option': Option; + 'Vec': Vec; + FunctionMetadataLatest: FunctionMetadataLatest; + 'Option': Option; + 'Vec': Vec; + MapTypeLatest: MapTypeLatest; + 'Option': Option; + 'Vec': Vec; + MetadataLatest: MetadataLatest; + 'Option': Option; + 'Vec': Vec; + ModuleConstantMetadataLatest: ModuleConstantMetadataLatest; + 'Option': Option; + 'Vec': Vec; + ModuleMetadataLatest: ModuleMetadataLatest; + 'Option': Option; + 'Vec': Vec; + StorageEntryMetadataLatest: StorageEntryMetadataLatest; + 'Option': Option; + 'Vec': Vec; + StorageEntryModifierLatest: StorageEntryModifierLatest; + 'Option': Option; + 'Vec': Vec; + StorageEntryTypeLatest: StorageEntryTypeLatest; + 'Option': Option; + 'Vec': Vec; + StorageMetadataLatest: StorageMetadataLatest; + 'Option': Option; + 'Vec': Vec; + StorageHasher: StorageHasher; + 'Option': Option; + 'Vec': Vec; + MetadataAll: MetadataAll; + 'Option': Option; + 'Vec': Vec; + RpcMethods: RpcMethods; + 'Option': Option; + 'Vec': Vec; + ExtrinsicOrHash: ExtrinsicOrHash; + 'Option': Option; + 'Vec': Vec; + ExtrinsicStatus: ExtrinsicStatus; + 'Option': Option; + 'Vec': Vec; + BlockHash: BlockHash; + 'Option': Option; + 'Vec': Vec; + PrefixedStorageKey: PrefixedStorageKey; + 'Option': Option; + 'Vec': Vec; + StorageKind: StorageKind; + 'Option': Option; + 'Vec': Vec; + RuntimeDispatchInfo: RuntimeDispatchInfo; + 'Option': Option; + 'Vec': Vec; + ApiId: ApiId; + 'Option': Option; + 'Vec': Vec; + KeyValueOption: KeyValueOption; + 'Option': Option; + 'Vec': Vec; + ReadProof: ReadProof; + 'Option': Option; + 'Vec': Vec; + RuntimeVersionApi: RuntimeVersionApi; + 'Option': Option; + 'Vec': Vec; + RuntimeVersion: RuntimeVersion; + 'Option': Option; + 'Vec': Vec; + StorageChangeSet: StorageChangeSet; + 'Option': Option; + 'Vec': Vec; + AttestationTopic: AttestationTopic; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + AttestationValue: AttestationValue; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + ExchangeKey: ExchangeKey; + 'Option': Option; + 'Vec': Vec; + FeeRate: FeeRate; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + AssetInfo: AssetInfo; + 'Option': Option; + 'Vec': Vec; + RewardBalance: RewardBalance; + 'Option': Option; + 'Vec': Vec; + RewardBalanceOf: RewardBalanceOf; + 'Option': Option; + 'Vec': Vec; + // @ts-ignore - As RewardDestination is also available in polkadot's type.. Subsequent property declarations must have the same type. Property 'RewardDestination' must be of type 'RewardDestination', but here has type 'RewardDestination'. + RewardDestination: RewardDestination; + // @ts-ignore - As Option is also available in polkadot's type.. Subsequent property declarations must have the same type. Property 'Option' must be of type 'RewardDestination', but here has type 'Option' + 'Option': Option; + // @ts-ignore - As Vec is also available in polkadot's type.. Subsequent property declarations must have the same type. Property 'Vec' must be of type 'RewardDestination', but here has type 'Vec' + 'Vec': Vec; + Meta: Meta; + 'Option': Option; + 'Vec': Vec; + MemberRoles: MemberRoles; + 'Option': Option; + 'Vec': Vec; + Member: Member; + 'Option': Option; + 'Vec': Vec; + Group: Group; + 'Option': Option; + 'Vec': Vec; + Invite: Invite; + 'Option': Option; + 'Vec': Vec; + PendingInvite: PendingInvite; + 'Option': Option; + 'Vec': Vec; + AcceptPayload: AcceptPayload; + 'Option': Option; + 'Vec': Vec; + DeviceId: DeviceId; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + PreKeyBundle: PreKeyBundle; + 'Option': Option; + 'Vec': Vec; + DeviceIdResponse: DeviceIdResponse; + 'Option': Option; + 'Vec': Vec; + WithdrawnPreKeyBundle: WithdrawnPreKeyBundle; + 'Option': Option; + 'Vec': Vec; + PreKeyBundlesResponse: PreKeyBundlesResponse; + 'Option': Option; + 'Vec': Vec; + Response: Response; + 'Option': Option; + 'Vec': Vec; + VaultKey: VaultKey; + 'Option': Option; + 'Vec': Vec; + VaultValue: VaultValue; + 'Option': Option; + 'Vec': Vec; + MessageId: MessageId; + 'Compact': Compact; + 'Option': Option; + 'Vec': Vec; + Message: Message; + 'Option': Option; + 'Vec': Vec; + FeeExchangeV1: FeeExchangeV1; + 'Option': Option; + 'Vec': Vec; + FeeExchange: FeeExchange; + 'Option': Option; + 'Vec': Vec; + ChargeTransactionPayment: ChargeTransactionPayment; + 'Option': Option; + 'Vec': Vec; + } +} diff --git a/packages/types/src/interfaces/cennzx/definitions.ts b/packages/types/src/interfaces/cennzx/definitions.ts new file mode 100644 index 000000000..9f814d664 --- /dev/null +++ b/packages/types/src/interfaces/cennzx/definitions.ts @@ -0,0 +1,54 @@ +export default { + rpc: { + cennzx_buyPrice: { + description: 'Queries the CENNZX spot price to buy an asset', + params: [ + { + name: 'assetToBuy', + type: 'AssetId', + }, + { + name: 'amountToBuy', + type: 'Balance', + }, + { + name: 'assetToSell', + type: 'AssetId', + }, + { + name: 'at', + type: 'BlockHash', + isOptional: true, + }, + ], + type: 'CENNZXSpotRpcResult', + }, + cennzx_sellPrice: { + description: 'Queries the CENNZX spot price to sell an asset', + params: [ + { + name: 'assetToSell', + type: 'AssetId', + }, + { + name: 'amountToSell', + type: 'Balance', + }, + { + name: 'assetToBuy', + type: 'AssetId', + }, + { + name: 'at', + type: 'BlockHash', + isOptional: true, + }, + ], + type: 'CENNZXSpotRpcResult', + }, + }, + types: { + ExchangeKey: '(AssetId, AssetId)', + FeeRate: 'u128', + }, +}; diff --git a/packages/types/src/interfaces/cennzx/index.ts b/packages/types/src/interfaces/cennzx/index.ts new file mode 100644 index 000000000..2d307291c --- /dev/null +++ b/packages/types/src/interfaces/cennzx/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from './types'; diff --git a/packages/types/src/interfaces/cennzx/types.ts b/packages/types/src/interfaces/cennzx/types.ts new file mode 100644 index 000000000..b65186108 --- /dev/null +++ b/packages/types/src/interfaces/cennzx/types.ts @@ -0,0 +1,14 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import { ITuple } from '@polkadot/types/types'; +import { u128 } from '@polkadot/types/primitive'; +import { AssetId } from '@polkadot/types/interfaces/runtime'; + +/** @name ExchangeKey */ +export interface ExchangeKey extends ITuple<[AssetId, AssetId]> {} + +/** @name FeeRate */ +export interface FeeRate extends u128 {} + +export type PHANTOM_CENNZX = 'cennzx'; diff --git a/packages/types/src/interfaces/definitions.ts b/packages/types/src/interfaces/definitions.ts new file mode 100644 index 000000000..4658b4564 --- /dev/null +++ b/packages/types/src/interfaces/definitions.ts @@ -0,0 +1,7 @@ +export { default as attestation } from './attestation/definitions'; +export { default as cennzx } from './cennzx/definitions'; +export { default as ga } from './ga/definitions'; +export { default as staking } from './staking/definitions'; +export { default as sylo } from './sylo/definitions'; +export { default as system } from './system/definitions'; +export { default as transactionPayment } from './transactionPayment/definitions'; diff --git a/packages/types/src/extrinsic/SignerPayload.ts b/packages/types/src/interfaces/extrinsic/SignerPayload.ts similarity index 54% rename from packages/types/src/extrinsic/SignerPayload.ts rename to packages/types/src/interfaces/extrinsic/SignerPayload.ts index d46f587d6..5c64a8c97 100644 --- a/packages/types/src/extrinsic/SignerPayload.ts +++ b/packages/types/src/interfaces/extrinsic/SignerPayload.ts @@ -1,32 +1,37 @@ -// Copyright 2017-2019 @polkadot/api authors & contributors -// This software may be modified and distributed under the terms -// of the Apache-2.0 license. See the LICENSE file for details. +// Copyright 2019-2020 Centrality Investments Limited +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. -import { Compact, Option, Struct, u8 } from '@cennznet/types'; -import { - Address, - Balance, - BlockNumber, - Call, - ExtrinsicEra, - Hash, - Index, - RuntimeVersion, -} from '@cennznet/types/interfaces'; +import { Compact, Struct, u8, Vec } from '@polkadot/types'; +import Text from '@polkadot/types/primitive/Text'; +import { Balance, BlockNumber, Call, ExtrinsicEra, Hash, RuntimeVersion } from '@polkadot/types/interfaces'; import { Codec, Constructor, ISignerPayload, SignerPayloadJSON as SignerPayloadJSONBase, SignerPayloadRaw, -} from '@cennznet/types/types'; +} from '@polkadot/types/types'; import { u8aToHex } from '@polkadot/util'; -import Doughnut from '../Doughnut'; -import { ChargeTransactionPayment } from '../runtime/transaction-payment'; -import ExtrinsicPayload from './ExtrinsicPayload'; +import { Address, Index } from '../types'; +import { ChargeTransactionPayment } from '../transactionPayment'; + +export interface SignerPayloadJSON extends SignerPayloadJSONBase { + transactionPayment?: string; +} -export interface SignerPayloadType extends Struct { +export interface SignerPayloadType extends Codec { address: Address; blockHash: Hash; blockNumber: BlockNumber; @@ -35,20 +40,15 @@ export interface SignerPayloadType extends Struct { method: Call; nonce: Compact; runtimeVersion: RuntimeVersion; - tip: Compact; + signedExtensions: Vec; + tip?: Compact; version: u8; - doughnut: Option; transactionPayment: ChargeTransactionPayment; } -export interface SignerPayloadJSON extends SignerPayloadJSONBase { - doughnut?: string; - transactionPayment?: string; -} - // We explicitly cast the type here to get the actual TypeScript exports right // We can ignore the properties, added via Struct.with -export const _Payload: Constructor = Struct.with({ +const _Payload: Constructor = Struct.with({ address: 'Address', blockHash: 'Hash', blockNumber: 'BlockNumber', @@ -58,11 +58,15 @@ export const _Payload: Constructor = Struct.with({ nonce: 'Compact', runtimeVersion: 'RuntimeVersion', tip: 'Compact', - version: 'u8', - doughnut: Option.with(Doughnut), transactionPayment: 'ChargeTransactionPayment', + version: 'u8', }) as any; +/** + * @name SignerPayload + * @description + * A generic signer payload that can be used for serialization between API and signer + */ export default class SignerPayload extends _Payload implements ISignerPayload { /** * @description Creates an representation of the structure as an ISignerPayload JSON @@ -76,13 +80,13 @@ export default class SignerPayload extends _Payload implements ISignerPayload { genesisHash, method, nonce, - runtimeVersion: { specVersion }, - tip, + runtimeVersion: { specVersion, transactionVersion }, + signedExtensions, version, - doughnut, - transactionPayment, } = this; - const ret: SignerPayloadJSON = { + + return { + signedExtensions: signedExtensions.map(e => e.toString()), address: address.toString(), blockHash: blockHash.toHex(), blockNumber: blockNumber.toHex(), @@ -91,15 +95,11 @@ export default class SignerPayload extends _Payload implements ISignerPayload { method: method.toHex(), nonce: nonce.toHex(), specVersion: specVersion.toHex(), - tip: tip.toHex(), + // [[tip]] is contained within [[transactionPayment]] + tip: null, + transactionVersion: transactionVersion.toHex(), version: version.toNumber(), - transactionPayment: transactionPayment.toHex(), }; - - if (doughnut.isSome) { - ret.doughnut = doughnut.unwrap().toHex(); - } - return ret; } /** @@ -109,7 +109,7 @@ export default class SignerPayload extends _Payload implements ISignerPayload { const payload = this.toPayload(); // NOTE Explicitly pass the bare flag so the method is encoded un-prefixed (non-decodable, for signing only) const data = u8aToHex( - new ExtrinsicPayload(this.registry, payload, { version: payload.version }).toU8a({ method: true }) + this.registry.createType('ExtrinsicPayload', payload, { version: payload.version }).toU8a({ method: true }) ); return { @@ -118,8 +118,4 @@ export default class SignerPayload extends _Payload implements ISignerPayload { type: 'payload', }; } - - toArray(): Codec[] { - return super.toArray(); - } } diff --git a/packages/types/src/extrinsic/index.ts b/packages/types/src/interfaces/extrinsic/index.ts similarity index 71% rename from packages/types/src/extrinsic/index.ts rename to packages/types/src/interfaces/extrinsic/index.ts index 3313395a6..9ba514ddc 100644 --- a/packages/types/src/extrinsic/index.ts +++ b/packages/types/src/interfaces/extrinsic/index.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,7 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -export { default as Extrinsic } from './Extrinsic'; -export { default as ExtrinsicPayload } from './ExtrinsicPayload'; +export { default as CENNZnetExtrinsicPayloadV1 } from './v1/ExtrinsicPayload'; +export { default as CENNZnetExtrinsicSignatureV1 } from './v1/ExtrinsicSignature'; export { default as SignerPayload } from './SignerPayload'; -export { default as ExtrinsicSignatureV4 } from './v2/ExtrinsicSignature'; diff --git a/packages/types/src/interfaces/extrinsic/signedExtensions/cennznet.ts b/packages/types/src/interfaces/extrinsic/signedExtensions/cennznet.ts new file mode 100644 index 000000000..ef0046e49 --- /dev/null +++ b/packages/types/src/interfaces/extrinsic/signedExtensions/cennznet.ts @@ -0,0 +1,44 @@ +import { ExtDef } from './types'; + +const CheckMortality = { + extra: { + blockHash: 'Hash', + }, + types: { + era: 'ExtrinsicEra', + }, +}; + +export default { + ChargeTransactionPayment: { + extra: {}, + types: { + transactionPayment: 'ChargeTransactionPayment', + }, + }, + CheckEra: CheckMortality, + CheckGenesis: { + extra: { + genesisHash: 'Hash', + }, + types: {}, + }, + CheckNonce: { + extra: {}, + types: { + nonce: 'Compact', + }, + }, + CheckSpecVersion: { + extra: { + specVersion: 'u32', + }, + types: {}, + }, + CheckTxVersion: { + extra: { + transactionVersion: 'u32', + }, + types: {}, + }, +} as ExtDef; diff --git a/packages/types/src/interfaces/extrinsic/signedExtensions/index.ts b/packages/types/src/interfaces/extrinsic/signedExtensions/index.ts new file mode 100644 index 000000000..f53c657d8 --- /dev/null +++ b/packages/types/src/interfaces/extrinsic/signedExtensions/index.ts @@ -0,0 +1,51 @@ +// Copyright 2019-2020 Centrality Investments Limited +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import { ExtDef, ExtInfo, ExtTypes } from './types'; + +import cennznetExtensions from './cennznet'; + +// A mapping of the known signed extensions to the extra fields that they contain. Unlike in the actual extensions, +// we define the extra fields not as a Tuple, but rather as a struct so they can be named. These will be expanded +// into the various fields when added to the payload (we only support V4 onwards with these, V3 and earlier are +// deemded fixed and non-changeable) +const allExtensions: ExtDef = { + ...cennznetExtensions, +}; + +// the v4 signed extensions (the order is important here, as applied by default) +const defaultExtensions: Array = [ + 'CheckSpecVersion', + 'CheckTxVersion', + 'CheckGenesis', + 'CheckEra', + 'CheckNonce', + 'CheckWeight', + 'ChargeTransactionPayment', +]; + +function findUnknownExtensions(extensions: string[]): string[] { + const names = Object.keys(allExtensions); + + return extensions.filter((key): boolean => !names.includes(key)); +} + +function expandExtensionTypes(extensions: string[], type: keyof ExtInfo): ExtTypes { + return extensions + .map((key): ExtInfo => allExtensions[key]) + .filter((info): boolean => !!info) + .reduce((result, info): ExtTypes => ({ ...result, ...info[type] }), {}); +} + +export { allExtensions, defaultExtensions, expandExtensionTypes, findUnknownExtensions }; diff --git a/packages/types/src/interfaces/extrinsic/signedExtensions/types.ts b/packages/types/src/interfaces/extrinsic/signedExtensions/types.ts new file mode 100644 index 000000000..9da5ea1e2 --- /dev/null +++ b/packages/types/src/interfaces/extrinsic/signedExtensions/types.ts @@ -0,0 +1,10 @@ +import { InterfaceTypes } from '@polkadot/types/types'; + +export type ExtTypes = Record; + +export type ExtInfo = { + extra: ExtTypes; + types: ExtTypes; +}; + +export type ExtDef = Record; diff --git a/packages/types/src/runtime/ga/AssetInfo.ts b/packages/types/src/interfaces/extrinsic/types.ts similarity index 54% rename from packages/types/src/runtime/ga/AssetInfo.ts rename to packages/types/src/interfaces/extrinsic/types.ts index f1ec97458..f4a6149d5 100644 --- a/packages/types/src/runtime/ga/AssetInfo.ts +++ b/packages/types/src/interfaces/extrinsic/types.ts @@ -12,23 +12,19 @@ // See the License for the specific language governing permissions and // limitations under the License. -/* - Custom `AssetInfo` type for generic asset module. -*/ +// Extrinsic related type defintions -import { Struct, u8, Vec } from '@cennznet/types'; -import { Registry } from '@cennznet/types/types'; +import { + AnyU8a, + ExtrinsicPayloadValue as ExtrinsicPayloadValueBase, + SignatureOptions as SignatureOptionsBase, +} from '@polkadot/types/types'; +import { ChargeTransactionPayment } from '../transactionPayment'; -export default class AssetInfo extends Struct { - constructor(registry: Registry, value: any) { - super(registry, { symbol: 'Vec', decimalPlaces: u8 }, value); - } - - get symbol(): Vec { - return this.get('symbol') as Vec; - } +export interface ExtrinsicPayloadValue extends ExtrinsicPayloadValueBase { + transactionPayment?: AnyU8a | ChargeTransactionPayment; +} - get decimalPlaces(): u8 { - return this.get('decimalPlaces') as u8; - } +export interface SignatureOptions extends SignatureOptionsBase { + transactionPayment?: AnyU8a | ChargeTransactionPayment; } diff --git a/packages/types/src/interfaces/extrinsic/v1/ExtrinsicPayload.ts b/packages/types/src/interfaces/extrinsic/v1/ExtrinsicPayload.ts new file mode 100644 index 000000000..12176a753 --- /dev/null +++ b/packages/types/src/interfaces/extrinsic/v1/ExtrinsicPayload.ts @@ -0,0 +1,116 @@ +// Copyright 2019-2020 Centrality Investments Limited +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import { Bytes, Compact, Struct, u32 } from '@polkadot/types'; +import { Balance, ExtrinsicEra, Hash } from '@polkadot/types/interfaces'; +import { sign } from '@polkadot/types/extrinsic/util'; +import { IKeyringPair, Registry } from '@polkadot/types/types'; + +import { ChargeTransactionPayment, Index } from '../../types'; +import { defaultExtensions, expandExtensionTypes } from '../signedExtensions'; +import { ExtrinsicPayloadValue } from '../types'; + +/** + * @name CENNZnetExtrinsicPayloadV1 + * @description + * A signing payload for an [[Extrinsic]]. For the final encoding, it is variable length based + * on the contents included + */ +export default class CENNZnetExtrinsicPayloadV1 extends Struct { + constructor(registry: Registry, value?: ExtrinsicPayloadValue | Uint8Array | string) { + super( + registry, + { + method: 'Bytes', + ...expandExtensionTypes(defaultExtensions as string[], 'types'), + ...expandExtensionTypes(defaultExtensions as string[], 'extra'), + }, + value + ); + } + + /** + * @description The block [[Hash]] the signature applies to (mortal/immortal) + */ + get blockHash(): Hash { + return this.get('blockHash') as Hash; + } + + /** + * @description The [[ExtrinsicEra]] + */ + get era(): ExtrinsicEra { + return this.get('era') as ExtrinsicEra; + } + + /** + * @description The genesis [[Hash]] the signature applies to (mortal/immortal) + */ + get genesisHash(): Hash { + return this.get('genesisHash') as Hash; + } + + /** + * @description The [[Bytes]] contained in the payload + */ + get method(): Bytes { + return this.get('method') as Bytes; + } + + /** + * @description The [[Index]] + */ + get nonce(): Compact { + return this.get('nonce') as Compact; + } + + /** + * @description The specVersion for this signature + */ + get specVersion(): u32 { + return this.get('specVersion') as u32; + } + + /** + * @description tip [[Balance]] (here for compatibility with [[IExtrinsic]] definition) + */ + get tip(): Compact { + return this.transactionPayment.tip as Compact; + } + + /** + * @description The transactionVersion for this signature + */ + get transactionVersion(): u32 { + return this.get('transactionVersion') as u32; + } + + /** + * @description The transaction fee metadata e.g tip, fee exchange + */ + get transactionPayment(): ChargeTransactionPayment { + return this.get('transactionPayment') as ChargeTransactionPayment; + } + + /** + * @description Sign the payload with the keypair + */ + sign(signerPair: IKeyringPair): Uint8Array { + // NOTE The `toU8a({ method: true })` argument is absolutely critical - we don't want the method (Bytes) + // to have the length prefix included. This means that the data-as-signed is un-decodable, + // but is also doesn't need the extra information, only the pure data (and is not decoded) + // ... The same applies to V1..V3, if we have a V5, carry move this comment to latest + return sign(this.registry, signerPair, this.toU8a({ method: true }), { withType: true }); + } +} diff --git a/packages/types/src/extrinsic/v2/ExtrinsicSignature.ts b/packages/types/src/interfaces/extrinsic/v1/ExtrinsicSignature.ts similarity index 53% rename from packages/types/src/extrinsic/v2/ExtrinsicSignature.ts rename to packages/types/src/interfaces/extrinsic/v1/ExtrinsicSignature.ts index 2952e9e27..14792728d 100644 --- a/packages/types/src/extrinsic/v2/ExtrinsicSignature.ts +++ b/packages/types/src/interfaces/extrinsic/v1/ExtrinsicSignature.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Centrality Investments Limited & @polkadot/types authors & contributors +// Copyright 2019-2020 Centrality Investments Limited // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,8 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -// tslint:disable member-ordering no-magic-numbers -import { Compact, createType, Struct, Option } from '@cennznet/types'; import { Address, Balance, @@ -21,26 +19,30 @@ import { EcdsaSignature, Ed25519Signature, ExtrinsicEra, + Index, MultiSignature, Sr25519Signature, -} from '@cennznet/types/interfaces'; -import { IExtrinsicSignature, IKeyringPair, Registry } from '@cennznet/types/types'; +} from '@polkadot/types/interfaces'; +import { Compact, Struct } from '@polkadot/types'; +import { ExtrinsicPayloadValue, IExtrinsicSignature, IKeyringPair, Registry } from '@polkadot/types/types'; +import { EMPTY_U8A, IMMORTAL_ERA } from '@polkadot/types/extrinsic/constants'; import { u8aConcat } from '@polkadot/util'; -import Doughnut from '../../Doughnut'; -import { ChargeTransactionPayment, Index } from '../../runtime'; -import { EMPTY_U8A, IMMORTAL_ERA } from '../constants'; -import { ExtrinsicSignatureOptions, ExtrinsicV2SignatureOptions } from '../types'; -import ExtrinsicPayloadV2, { ExtrinsicPayloadValueV2 } from './ExtrinsicPayload'; + +import { ExtrinsicSignatureOptions } from '@polkadot/types/extrinsic/types'; +import { expandExtensionTypes, defaultExtensions } from '../signedExtensions'; +import { ChargeTransactionPayment } from '../../transactionPayment'; +import { SignatureOptions } from '../types'; +import ExtrinsicPayloadV4 from './ExtrinsicPayload'; /** - * @name ExtrinsicSignature + * @name CENNZnetExtrinsicSignatureV1 * @description * A container for the [[Signature]] associated with a specific [[Extrinsic]] */ -export default class ExtrinsicSignatureV2 extends Struct implements IExtrinsicSignature { +export default class CENNZnetExtrinsicSignatureV1 extends Struct implements IExtrinsicSignature { constructor( registry: Registry, - value: ExtrinsicSignatureV2 | Uint8Array | undefined, + value: CENNZnetExtrinsicSignatureV1 | Uint8Array | undefined, { isSigned }: ExtrinsicSignatureOptions = {} ) { super( @@ -48,24 +50,23 @@ export default class ExtrinsicSignatureV2 extends Struct implements IExtrinsicSi { signer: 'Address', signature: 'MultiSignature', - doughnut: 'Option', - era: 'ExtrinsicEra', - nonce: 'Compact', - transactionPayment: 'ChargeTransactionPayment', + ...expandExtensionTypes(defaultExtensions as string[], 'types'), }, - ExtrinsicSignatureV2.decodeExtrinsicSignature(value, isSigned) + CENNZnetExtrinsicSignatureV1.decodeExtrinsicSignature(value, isSigned) ); } + /** @internal */ static decodeExtrinsicSignature( - value: ExtrinsicSignatureV2 | Uint8Array | undefined, + value: CENNZnetExtrinsicSignatureV1 | Uint8Array | undefined, isSigned = false - ): ExtrinsicSignatureV2 | Uint8Array { + ): CENNZnetExtrinsicSignatureV1 | Uint8Array { if (!value) { return EMPTY_U8A; - } else if (value instanceof ExtrinsicSignatureV2) { + } else if (value instanceof CENNZnetExtrinsicSignatureV1) { return value; } + return isSigned ? value : EMPTY_U8A; } @@ -98,16 +99,8 @@ export default class ExtrinsicSignatureV2 extends Struct implements IExtrinsicSi } /** - * @description The [[Doughnut]] + * @description The actual [[EcdsaSignature]], [[Ed25519Signature]] or [[Sr25519Signature]] */ - get doughnut(): Option { - return this.get('doughnut') as Option; - } - - /** - * @description The actuall [[Signature]] hash - */ - // get signature(): EcdsaSignature | Ed25519Signature | Sr25519Signature { get signature(): EcdsaSignature | Ed25519Signature | Sr25519Signature { return this.multiSignature.value as Sr25519Signature; } @@ -118,6 +111,7 @@ export default class ExtrinsicSignatureV2 extends Struct implements IExtrinsicSi get multiSignature(): MultiSignature { return this.get('signature') as MultiSignature; } + /** * @description The [[Address]] that signed */ @@ -126,7 +120,7 @@ export default class ExtrinsicSignatureV2 extends Struct implements IExtrinsicSi } /** - * @description tip (here for compatibility with [[IExtrinsic]] definition) + * @description tip [[Balance]] (here for compatibility with [[IExtrinsic]] definition) */ get tip(): Compact { return this.transactionPayment.tip as Compact; @@ -139,12 +133,11 @@ export default class ExtrinsicSignatureV2 extends Struct implements IExtrinsicSi return this.get('transactionPayment') as ChargeTransactionPayment; } - private injectSignature( + protected injectSignature( signer: Address, signature: MultiSignature, - { doughnut, era, nonce, tip, transactionPayment }: ExtrinsicPayloadV2 + { era, nonce, transactionPayment }: ExtrinsicPayloadV4 ): IExtrinsicSignature { - this.set('doughnut', doughnut); this.set('era', era); this.set('nonce', nonce); this.set('signer', signer); @@ -160,12 +153,12 @@ export default class ExtrinsicSignatureV2 extends Struct implements IExtrinsicSi addSignature( signer: Address | Uint8Array | string, signature: Uint8Array | string, - payload: ExtrinsicPayloadValueV2 | Uint8Array | string + payload: ExtrinsicPayloadValue | Uint8Array | string ): IExtrinsicSignature { return this.injectSignature( - createType(this.registry, 'Address', signer), - createType(this.registry, 'MultiSignature', signature), - new ExtrinsicPayloadV2(this.registry, payload) + this.registry.createType('Address', signer), + this.registry.createType('MultiSignature', signature), + new ExtrinsicPayloadV4(this.registry, payload) ); } @@ -179,15 +172,12 @@ export default class ExtrinsicSignatureV2 extends Struct implements IExtrinsicSi era, genesisHash, nonce, - doughnut, - runtimeVersion: { specVersion }, - tip, + runtimeVersion: { specVersion, transactionVersion }, transactionPayment, - }: ExtrinsicV2SignatureOptions - ): ExtrinsicPayloadV2 { - return new ExtrinsicPayloadV2(this.registry, { + }: SignatureOptions + ): ExtrinsicPayloadV4 { + return new ExtrinsicPayloadV4(this.registry, { blockHash, - doughnut: doughnut || createType(this.registry, 'Option'), era: era || IMMORTAL_ERA, genesisHash, method: method.toHex(), @@ -196,73 +186,28 @@ export default class ExtrinsicSignatureV2 extends Struct implements IExtrinsicSi // [[tip]] is now set inside [[transactionPayment]] // This doesn't do anything, just signalling our intention not to use it. tip: null, - transactionPayment: transactionPayment || createType(this.registry, 'ChargeTransactionPayment'), + transactionVersion: transactionVersion || 0, + transactionPayment: transactionPayment, }); } /** - * @description Generate a payload and pplies the signature from a keypair + * @description Generate a payload and applies the signature from a keypair */ - sign( - method: Call, - account: IKeyringPair, - { - blockHash, - era, - genesisHash, - nonce, - doughnut, - runtimeVersion: { specVersion }, - tip, - transactionPayment, - }: ExtrinsicV2SignatureOptions - ): IExtrinsicSignature { - const signer = createType(this.registry, 'Address', account.publicKey); - const payload = this.createPayload(method, { - blockHash, - era, - genesisHash, - nonce, - doughnut, - runtimeVersion: { specVersion }, - tip, - transactionPayment, - } as ExtrinsicV2SignatureOptions); - const signature = createType(this.registry, 'MultiSignature', payload.sign(account)); + sign(method: Call, account: IKeyringPair, options: SignatureOptions): IExtrinsicSignature { + const signer = this.registry.createType('Address', account.addressRaw); + const payload = this.createPayload(method, options); + const signature = this.registry.createType('MultiSignature', payload.sign(account)); return this.injectSignature(signer, signature, payload); } /** * @description Generate a payload and applies a fake signature */ - signFake( - method: Call, - address: Address | Uint8Array | string, - { - blockHash, - era, - genesisHash, - nonce, - doughnut, - feeExchange, - runtimeVersion: { specVersion }, - tip, - transactionPayment, - }: ExtrinsicV2SignatureOptions - ): IExtrinsicSignature { - const signer = createType(this.registry, 'Address', address); - const payload = this.createPayload(method, { - blockHash, - era, - genesisHash, - nonce, - doughnut, - runtimeVersion: { specVersion }, - tip, - transactionPayment, - } as ExtrinsicV2SignatureOptions); - const signature = createType( - this.registry, + signFake(method: Call, address: Address | Uint8Array | string, options: SignatureOptions): IExtrinsicSignature { + const signer = this.registry.createType('Address', address); + const payload = this.createPayload(method, options); + const signature = this.registry.createType( 'MultiSignature', u8aConcat(new Uint8Array([1]), new Uint8Array(64).fill(0x42)) ); diff --git a/packages/types/src/interfaces/ga/definitions.ts b/packages/types/src/interfaces/ga/definitions.ts new file mode 100644 index 000000000..a7c7f693b --- /dev/null +++ b/packages/types/src/interfaces/ga/definitions.ts @@ -0,0 +1,44 @@ +export default { + rpc: {}, + types: { + AssetOptions: { + initialIssuance: 'Compact', + permissions: 'PermissionLatest', + }, + AssetInfo: { + symbol: 'Vec', + decimalPlaces: 'u8', + }, + Owner: { + _enum: { + None: 'Null', + Address: 'AccountId', + }, + }, + PermissionsV1: { + update: 'Owner', + mint: 'Owner', + burn: 'Owner', + }, + PermissionVersions: { + _enum: { + V1: 'PermissionsV1', + }, + }, + PermissionLatest: 'PermissionsV1', + WithdrawReasons: { + _set: { + TransactionPayment: 0b00000001, + Transfer: 0b00000010, + Reserve: 0b00000100, + Fee: 0b00001000, + Tip: 0b00010000, + }, + }, + BalanceLock: { + id: 'LockIdentifier', + amount: 'Balance', + reasons: 'WithdrawReasons', + }, + }, +}; diff --git a/packages/types/src/interfaces/ga/index.ts b/packages/types/src/interfaces/ga/index.ts new file mode 100644 index 000000000..2d307291c --- /dev/null +++ b/packages/types/src/interfaces/ga/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from './types'; diff --git a/packages/types/src/interfaces/ga/types.ts b/packages/types/src/interfaces/ga/types.ts new file mode 100644 index 000000000..8bc43f35d --- /dev/null +++ b/packages/types/src/interfaces/ga/types.ts @@ -0,0 +1,59 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import { Compact, Enum, Set, Struct } from '@polkadot/types/codec'; +import { Bytes, u8 } from '@polkadot/types/primitive'; +import { AccountId, Balance, LockIdentifier } from '@polkadot/types/interfaces/runtime'; + +/** @name AssetInfo */ +export interface AssetInfo extends Struct { + readonly symbol: Bytes; + readonly decimalPlaces: u8; +} + +/** @name AssetOptions */ +export interface AssetOptions extends Struct { + readonly initialIssuance: Compact; + readonly permissions: PermissionLatest; +} + +/** @name BalanceLock */ +export interface BalanceLock extends Struct { + readonly id: LockIdentifier; + readonly amount: Balance; + readonly reasons: WithdrawReasons; +} + +/** @name Owner */ +export interface Owner extends Enum { + readonly isNone: boolean; + readonly isAddress: boolean; + readonly asAddress: AccountId; +} + +/** @name PermissionLatest */ +export interface PermissionLatest extends PermissionsV1 {} + +/** @name PermissionsV1 */ +export interface PermissionsV1 extends Struct { + readonly update: Owner; + readonly mint: Owner; + readonly burn: Owner; +} + +/** @name PermissionVersions */ +export interface PermissionVersions extends Enum { + readonly isV1: boolean; + readonly asV1: PermissionsV1; +} + +/** @name WithdrawReasons */ +export interface WithdrawReasons extends Set { + readonly isTransactionPayment: boolean; + readonly isTransfer: boolean; + readonly isReserve: boolean; + readonly isFee: boolean; + readonly isTip: boolean; +} + +export type PHANTOM_GA = 'ga'; diff --git a/packages/types/src/interfaces/index.ts b/packages/types/src/interfaces/index.ts new file mode 100644 index 000000000..720f8cc83 --- /dev/null +++ b/packages/types/src/interfaces/index.ts @@ -0,0 +1,5 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from './types'; +export * from '@polkadot/types'; diff --git a/packages/types/src/interfaces/injects.ts b/packages/types/src/interfaces/injects.ts new file mode 100644 index 000000000..af5344ca9 --- /dev/null +++ b/packages/types/src/interfaces/injects.ts @@ -0,0 +1,33 @@ +// Copyright 2019-2020 Centrality Investments Limited +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// CENNZnet types for injection into a polkadot API session + +import { CENNZnetExtrinsicSignatureV1, SignerPayload } from './extrinsic'; +import * as definitions from './definitions'; + +const _types = { + ...definitions, + // We override the substrate v4 extrinsic signature type in CENNZnet + // This funny format, makes it compatible with the structure from generated definitions + other: { + types: { + ExtrinsicSignatureV4: CENNZnetExtrinsicSignatureV1, + SignerPayload, + }, + }, +}; + +// Unwind the nested type definitions into a flat map +export default Object.values(_types).reduce((res, { types }): object => ({ ...res, ...types }), {}); diff --git a/packages/types/src/interfaces/staking/definitions.ts b/packages/types/src/interfaces/staking/definitions.ts new file mode 100644 index 000000000..7bce6fce4 --- /dev/null +++ b/packages/types/src/interfaces/staking/definitions.ts @@ -0,0 +1,14 @@ +// CENNZnet specific staking types, the rest will be resolved from @polkadot/types +export default { + types: { + RewardBalance: 'Balance', + RewardBalanceOf: 'Balance', + RewardDestination: { + _enum: { + Stash: 'Null', + Controller: 'Null', + Account: 'AccountId', + }, + }, + }, +}; diff --git a/packages/types/src/interfaces/staking/index.ts b/packages/types/src/interfaces/staking/index.ts new file mode 100644 index 000000000..2d307291c --- /dev/null +++ b/packages/types/src/interfaces/staking/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from './types'; diff --git a/packages/types/src/interfaces/staking/types.ts b/packages/types/src/interfaces/staking/types.ts new file mode 100644 index 000000000..038fe4271 --- /dev/null +++ b/packages/types/src/interfaces/staking/types.ts @@ -0,0 +1,21 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import { Enum } from '@polkadot/types/codec'; +import { AccountId, Balance } from '@polkadot/types/interfaces/runtime'; + +/** @name RewardBalance */ +export interface RewardBalance extends Balance {} + +/** @name RewardBalanceOf */ +export interface RewardBalanceOf extends Balance {} + +/** @name RewardDestination */ +export interface RewardDestination extends Enum { + readonly isStash: boolean; + readonly isController: boolean; + readonly isAccount: boolean; + readonly asAccount: AccountId; +} + +export type PHANTOM_STAKING = 'staking'; diff --git a/packages/types/src/interfaces/sylo/definitions.ts b/packages/types/src/interfaces/sylo/definitions.ts new file mode 100644 index 000000000..de133e687 --- /dev/null +++ b/packages/types/src/interfaces/sylo/definitions.ts @@ -0,0 +1,49 @@ +export default { + types: { + Meta: '(Text, Text)', + MemberRoles: { + _enum: ['AdminRole', 'MemberRole'], + }, + Member: { + userId: 'AccountId', + roles: 'Vec', + meta: 'Meta', + }, + Group: { + groupId: 'H256', + members: 'Vec', + invites: 'Vec', + meta: 'Meta', + }, + Invite: { + peerId: 'AccountId', + inviteData: 'Bytes', + inviteKey: 'H256', + meta: 'Meta', + roles: 'Vec', + }, + PendingInvite: { + inviteKey: 'H256', + meta: 'Meta', + roles: 'Vec', + }, + AcceptPayload: { + accountId: 'AccountId', + }, + DeviceId: 'u32', + PreKeyBundle: 'Bytes', + DeviceIdResponse: 'DeviceId', + WithdrawnPreKeyBundle: '(AccountId, u32, Bytes)', + PreKeyBundlesResponse: 'Vec', + Response: { + _enum: { + DeviceIdResponse: 'DeviceIdResponse', + PreKeyBundlesResponse: 'PreKeyBundlesResponse', + }, + }, + VaultKey: 'Bytes', + VaultValue: 'Bytes', + MessageId: 'u32', + Message: 'Bytes', + }, +}; diff --git a/packages/types/src/interfaces/sylo/index.ts b/packages/types/src/interfaces/sylo/index.ts new file mode 100644 index 000000000..2d307291c --- /dev/null +++ b/packages/types/src/interfaces/sylo/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from './types'; diff --git a/packages/types/src/interfaces/sylo/types.ts b/packages/types/src/interfaces/sylo/types.ts new file mode 100644 index 000000000..bd9209e7a --- /dev/null +++ b/packages/types/src/interfaces/sylo/types.ts @@ -0,0 +1,89 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import { ITuple } from '@polkadot/types/types'; +import { Enum, Struct, Vec } from '@polkadot/types/codec'; +import { Bytes, Text, u32 } from '@polkadot/types/primitive'; +import { AccountId, H256 } from '@polkadot/types/interfaces/runtime'; + +/** @name AcceptPayload */ +export interface AcceptPayload extends Struct { + readonly accountId: AccountId; +} + +/** @name DeviceId */ +export interface DeviceId extends u32 {} + +/** @name DeviceIdResponse */ +export interface DeviceIdResponse extends DeviceId {} + +/** @name Group */ +export interface Group extends Struct { + readonly groupId: H256; + readonly members: Vec; + readonly invites: Vec; + readonly meta: Meta; +} + +/** @name Invite */ +export interface Invite extends Struct { + readonly peerId: AccountId; + readonly inviteData: Bytes; + readonly inviteKey: H256; + readonly meta: Meta; + readonly roles: Vec; +} + +/** @name Member */ +export interface Member extends Struct { + readonly userId: AccountId; + readonly roles: Vec; + readonly meta: Meta; +} + +/** @name MemberRoles */ +export interface MemberRoles extends Enum { + readonly isAdminRole: boolean; + readonly isMemberRole: boolean; +} + +/** @name Message */ +export interface Message extends Bytes {} + +/** @name MessageId */ +export interface MessageId extends u32 {} + +/** @name Meta */ +export interface Meta extends ITuple<[Text, Text]> {} + +/** @name PendingInvite */ +export interface PendingInvite extends Struct { + readonly inviteKey: H256; + readonly meta: Meta; + readonly roles: Vec; +} + +/** @name PreKeyBundle */ +export interface PreKeyBundle extends Bytes {} + +/** @name PreKeyBundlesResponse */ +export interface PreKeyBundlesResponse extends Vec {} + +/** @name Response */ +export interface Response extends Enum { + readonly isDeviceIdResponse: boolean; + readonly asDeviceIdResponse: DeviceIdResponse; + readonly isPreKeyBundlesResponse: boolean; + readonly asPreKeyBundlesResponse: PreKeyBundlesResponse; +} + +/** @name VaultKey */ +export interface VaultKey extends Bytes {} + +/** @name VaultValue */ +export interface VaultValue extends Bytes {} + +/** @name WithdrawnPreKeyBundle */ +export interface WithdrawnPreKeyBundle extends ITuple<[AccountId, u32, Bytes]> {} + +export type PHANTOM_SYLO = 'sylo'; diff --git a/packages/types/src/interfaces/system/definitions.ts b/packages/types/src/interfaces/system/definitions.ts new file mode 100644 index 000000000..0d544151e --- /dev/null +++ b/packages/types/src/interfaces/system/definitions.ts @@ -0,0 +1,7 @@ +// CENNZnet specific system types +export default { + types: { + Address: 'AccountId', + Index: 'u64', + }, +}; diff --git a/packages/types/src/interfaces/system/index.ts b/packages/types/src/interfaces/system/index.ts new file mode 100644 index 000000000..2d307291c --- /dev/null +++ b/packages/types/src/interfaces/system/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from './types'; diff --git a/packages/types/src/interfaces/system/types.ts b/packages/types/src/interfaces/system/types.ts new file mode 100644 index 000000000..46a64446c --- /dev/null +++ b/packages/types/src/interfaces/system/types.ts @@ -0,0 +1,13 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import { u64 } from '@polkadot/types/primitive'; +import { AccountId } from '@polkadot/types/interfaces/runtime'; + +/** @name Address */ +export interface Address extends AccountId {} + +/** @name Index */ +export interface Index extends u64 {} + +export type PHANTOM_SYSTEM = 'system'; diff --git a/packages/types/src/interfaces/transactionPayment/definitions.ts b/packages/types/src/interfaces/transactionPayment/definitions.ts new file mode 100644 index 000000000..d28f179c5 --- /dev/null +++ b/packages/types/src/interfaces/transactionPayment/definitions.ts @@ -0,0 +1,15 @@ +export default { + types: { + FeeExchangeV1: { + assetId: 'Compact', + maxPayment: 'Compact', + }, + FeeExchange: { + _enum: { FeeExchangeV1: 'FeeExchangeV1' }, + }, + ChargeTransactionPayment: { + tip: 'Compact', + feeExchange: 'Option', + }, + }, +}; diff --git a/packages/types/src/interfaces/transactionPayment/index.ts b/packages/types/src/interfaces/transactionPayment/index.ts new file mode 100644 index 000000000..2d307291c --- /dev/null +++ b/packages/types/src/interfaces/transactionPayment/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from './types'; diff --git a/packages/types/src/interfaces/transactionPayment/types.ts b/packages/types/src/interfaces/transactionPayment/types.ts new file mode 100644 index 000000000..e3a097e96 --- /dev/null +++ b/packages/types/src/interfaces/transactionPayment/types.ts @@ -0,0 +1,25 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import { Compact, Enum, Option, Struct } from '@polkadot/types/codec'; +import { AssetId, Balance } from '@polkadot/types/interfaces/runtime'; + +/** @name ChargeTransactionPayment */ +export interface ChargeTransactionPayment extends Struct { + readonly tip: Compact; + readonly feeExchange: Option; +} + +/** @name FeeExchange */ +export interface FeeExchange extends Enum { + readonly isFeeExchangeV1: boolean; + readonly asFeeExchangeV1: FeeExchangeV1; +} + +/** @name FeeExchangeV1 */ +export interface FeeExchangeV1 extends Struct { + readonly assetId: Compact; + readonly maxPayment: Compact; +} + +export type PHANTOM_TRANSACTIONPAYMENT = 'transactionPayment'; diff --git a/packages/types/src/interfaces/types.ts b/packages/types/src/interfaces/types.ts new file mode 100644 index 000000000..a4709973c --- /dev/null +++ b/packages/types/src/interfaces/types.ts @@ -0,0 +1,9 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ +export * from './attestation/types'; +export * from './cennzx/types'; +export * from './ga/types'; +export * from './staking/types'; +export * from './sylo/types'; +export * from './system/types'; +export * from './transactionPayment/types'; diff --git a/packages/types/src/metaDataTypes.ts b/packages/types/src/metaDataTypes.ts deleted file mode 100644 index 2c12deb01..000000000 --- a/packages/types/src/metaDataTypes.ts +++ /dev/null @@ -1,68 +0,0 @@ -const AllHashers = { - /* eslint-disable camelcase */ - Blake2_128: null, - /* eslint-disable camelcase */ - Blake2_256: null, - /* eslint-disable camelcase */ - Blake2_128Concat: null, - Twox128: null, - Twox256: null, - Twox64Concat: null, - // new in v11 - Identity: null, -}; -const metadata = { - StorageHasherV11: { - _enum: AllHashers, - }, - DoubleMapTypeV11: { - hasher: 'StorageHasherV11', - key1: 'Type', - key2: 'Type', - value: 'Type', - key2Hasher: 'StorageHasherV11', - }, - ExtrinsicMetadataV11: { - version: 'u8', - signedExtensions: 'Vec', - }, - MapTypeV11: { - hasher: 'StorageHasherV11', - key: 'Type', - value: 'Type', - linked: 'bool', - }, - MetadataV11: { - modules: 'Vec', - extrinsic: 'ExtrinsicMetadataV11', - }, - ModuleMetadataV11: { - name: 'Text', - storage: 'Option', - calls: 'Option>', - events: 'Option>', - constants: 'Vec', - errors: 'Vec', - }, - StorageEntryMetadataV11: { - name: 'Text', - modifier: 'StorageEntryModifierV11', - type: 'StorageEntryTypeV11', - fallback: 'Bytes', - documentation: 'Vec', - }, - StorageEntryTypeV11: { - _enum: { - Plain: 'PlainTypeV11', - Map: 'MapTypeV11', - DoubleMap: 'DoubleMapTypeV11', - }, - }, - StorageMetadataV11: { - prefix: 'Text', - items: 'Vec', - }, - StorageHasher: 'StorageHasherV11', -}; - -export default metadata; diff --git a/packages/types/src/primitive.ts b/packages/types/src/primitive.ts deleted file mode 100644 index 7ff778a93..000000000 --- a/packages/types/src/primitive.ts +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2020 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ExtrinsicEra from '@polkadot/types/primitive/Extrinsic/ExtrinsicEra'; -import { StorageEntry } from '@polkadot/types/primitive/StorageKey'; -import Call from '@polkadot/types/primitive/Generic/Call'; - -export * from '@polkadot/types/primitive'; -export { ExtrinsicEra, StorageEntry, Call }; diff --git a/packages/types/src/runtime/attestation/Topic.spec.ts b/packages/types/src/runtime/attestation/Topic.spec.ts deleted file mode 100644 index 23b9dd70c..000000000 --- a/packages/types/src/runtime/attestation/Topic.spec.ts +++ /dev/null @@ -1,35 +0,0 @@ -import AttestationTopic from './Topic'; -import { TypeRegistry } from '@cennznet/types'; - -const registry = new TypeRegistry(); -describe('AttestationTopic', () => { - it('encode a string to u256 and decode back', () => { - const topicInput = 'any ascii string'; - const topic = new AttestationTopic(registry, topicInput); - expect(topic.toString()).toEqual(topicInput); - const topicDecoded = new AttestationTopic(registry, topic.toU8a()); - expect(topicDecoded.toString()).toEqual(topicInput); - expect(topicDecoded.toU8a()).toEqual(topic.toU8a()); - }); - - it('throw when the input exceed length limit', () => { - const maxAllowedInput = new Array(32).fill('a').join(''); - const topic = new AttestationTopic(registry, maxAllowedInput); - expect(topic.toString()).toEqual(maxAllowedInput); - - const invalidInput = new Array(33).fill('a').join(''); - expect(() => new AttestationTopic(registry, invalidInput)).toThrow('exceed 32 characters'); - }); - - const invalidCharacters = [ - '汉字', - '\u00A9', // symbol - '\u007f', // non-printable character - '\uD83D\uDC36', // emoji - ]; - for (const input of invalidCharacters) { - it(`throw when the input contains non-ascii characters: ${input}`, () => { - expect(() => new AttestationTopic(registry, input)).toThrow('must be an ASCII string'); - }); - } -}); diff --git a/packages/types/src/runtime/attestation/Topic.ts b/packages/types/src/runtime/attestation/Topic.ts deleted file mode 100644 index a4ea2e361..000000000 --- a/packages/types/src/runtime/attestation/Topic.ts +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/* - Custom `Topic` type for Attestation module. - */ -import { ClassOf, TypeRegistry } from '@cennznet/types'; -import { Registry } from '@cennznet/types/types'; -import { isHex, isString, stringToU8a, u8aToString } from '@polkadot/util'; - -function isAscii(str: string) { - return /^[\x20-\x7E]*$/.test(str); -} - -const MAX_ALLOWED_LENGTH = 32; - -function validateTopic(topic: string) { - if (topic.length > MAX_ALLOWED_LENGTH) { - throw new Error('Topic cannot exceed 32 characters'); - } - if (!isAscii(topic)) { - throw new Error('Topic must be an ASCII string with no characters that cannot be seen on a standard US keyboard'); - } -} - -function stripTrailingZero(value: Uint8Array) { - let endPos = value.length - 1; - for (let i = endPos; i > -1; i--) { - if (value[i] !== 0) { - endPos = i; - break; - } - } - return value.slice(0, endPos + 1); -} -const registry = new TypeRegistry(); - -export default class AttestationTopic extends ClassOf(registry, 'H256') { - constructor(registry_: Registry, value: string | Uint8Array) { - if (isString(value) && !isHex(value)) { - validateTopic(value); - super(registry_, stringToU8a(value)); - } else { - super(registry_, value); - } - } - - toString(base?: number): string { - const u8a = this.toU8a(); - return u8aToString(stripTrailingZero(u8a)); - } -} diff --git a/packages/types/src/runtime/attestation/Value.ts b/packages/types/src/runtime/attestation/Value.ts deleted file mode 100644 index 14681a2ee..000000000 --- a/packages/types/src/runtime/attestation/Value.ts +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/* - Custom `Value` type for Attestation module. - */ -import { ClassOf, TypeRegistry } from '@cennznet/types'; -const registry = new TypeRegistry(); - -export default class AttestationValue extends ClassOf(registry, 'H256') {} diff --git a/packages/types/src/runtime/attestation/index.ts b/packages/types/src/runtime/attestation/index.ts deleted file mode 100644 index 9030ec45e..000000000 --- a/packages/types/src/runtime/attestation/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -export { default as AttestationTopic } from './Topic'; -export { default as AttestationValue } from './Value'; diff --git a/packages/types/src/runtime/cennzx/ExchangeKey.ts b/packages/types/src/runtime/cennzx/ExchangeKey.ts deleted file mode 100644 index 85e91e436..000000000 --- a/packages/types/src/runtime/cennzx/ExchangeKey.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Tuple } from '@cennznet/types'; - -import { AssetId } from '../ga'; - -export default class ExchangeKey extends Tuple.with([AssetId, AssetId]) {} diff --git a/packages/types/src/runtime/cennzx/FeeRate.ts b/packages/types/src/runtime/cennzx/FeeRate.ts deleted file mode 100644 index 55b004da8..000000000 --- a/packages/types/src/runtime/cennzx/FeeRate.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { ClassOf, TypeRegistry } from '@cennznet/types'; - -const registry = new TypeRegistry(); -export default class FeeRate extends ClassOf(registry, 'u128') { - static readonly SCALE_FACTOR = 1000000; -} diff --git a/packages/types/src/runtime/cennzx/cennzx.spec.ts b/packages/types/src/runtime/cennzx/cennzx.spec.ts deleted file mode 100644 index a9c33c050..000000000 --- a/packages/types/src/runtime/cennzx/cennzx.spec.ts +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import { createTypeUnsafe, TypeRegistry } from '@cennznet/types'; - -import * as cennzxTypes from './'; -import ExchangeKey from './ExchangeKey'; -import FeeRate from './FeeRate'; -import { IExchangeKey } from './types'; - -const registry = new TypeRegistry(); -registry.register(cennzxTypes); - -describe('cennzx types', () => { - it('ExchangeKey', () => { - const exchangeKey = createTypeUnsafe(registry, 'ExchangeKey', [[16000, 16001]]); - expect(exchangeKey[0].toNumber()).toEqual(16000); - expect(exchangeKey[1].toNumber()).toEqual(16001); - }); - - it('FeeRate', () => { - const feeRate = createTypeUnsafe(registry, 'FeeRate', [123456789]); - expect(feeRate.toNumber()).toEqual(123456789); - }); -}); diff --git a/packages/types/src/runtime/cennzx/index.ts b/packages/types/src/runtime/cennzx/index.ts deleted file mode 100644 index 5739e419b..000000000 --- a/packages/types/src/runtime/cennzx/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -export { default as ExchangeKey } from './ExchangeKey'; -export { default as FeeRate } from './FeeRate'; diff --git a/packages/types/src/runtime/cennzx/types.ts b/packages/types/src/runtime/cennzx/types.ts deleted file mode 100644 index 259f89a29..000000000 --- a/packages/types/src/runtime/cennzx/types.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Codec } from '@cennznet/types/types'; - -import AssetId from '../ga/AssetId'; - -export interface IExchangeKey extends Codec, Array {} diff --git a/packages/types/src/runtime/ga/AssetId.ts b/packages/types/src/runtime/ga/AssetId.ts deleted file mode 100644 index c2c0ff34d..000000000 --- a/packages/types/src/runtime/ga/AssetId.ts +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/* - Custom AssetId type, implementation of u32 found in - @plugnet/types -*/ - -import { u32 } from '@cennznet/types'; - -export default u32; diff --git a/packages/types/src/runtime/ga/AssetOptions.ts b/packages/types/src/runtime/ga/AssetOptions.ts deleted file mode 100644 index 1a9818f9c..000000000 --- a/packages/types/src/runtime/ga/AssetOptions.ts +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/* - Custom `AssetOptions` type for generic asset module. -*/ - -import { Struct } from '@cennznet/types'; -import { Balance } from '@cennznet/types/interfaces'; -import { Registry } from '@cennznet/types/types'; -import PermissionLatest from './PermissionsV1'; - -export default class AssetOptions extends Struct { - constructor(registry: Registry, value: any) { - super(registry, { initialIssuance: 'Compact', permissions: PermissionLatest }, value); - } - - get initialIssuance(): Balance { - return this.get('initialIssuance') as Balance; - } - - get permissions(): PermissionLatest { - return this.get('permissions') as PermissionLatest; - } -} diff --git a/packages/types/src/runtime/ga/BalanceLock.spec.ts b/packages/types/src/runtime/ga/BalanceLock.spec.ts deleted file mode 100644 index d5a061e9e..000000000 --- a/packages/types/src/runtime/ga/BalanceLock.spec.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { createType, TypeRegistry } from '@cennznet/types'; - -import BalanceLock from './BalanceLock'; - -const registry = new TypeRegistry(); -registry.register(BalanceLock); - -describe('BalanceLock', () => { - // See: https://github.com/cennznet/api.js/issues/131 - it('It can decode', () => { - const b = createType(registry, 'Vec', '0x047374616b696e6720000064a7b3b6e00d00000000000000001f'); - }); -}); diff --git a/packages/types/src/runtime/ga/BalanceLock.ts b/packages/types/src/runtime/ga/BalanceLock.ts deleted file mode 100644 index bc794bdd9..000000000 --- a/packages/types/src/runtime/ga/BalanceLock.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { Struct } from '@cennznet/types'; -import { Balance, LockIdentifier } from '@cennznet/types/interfaces'; -import { Registry } from '@cennznet/types/types'; - -import { WithdrawReasons } from './'; - -// It describes a lock on a GA account balance for some amount and reasons. -export default class BalanceLock extends Struct { - constructor(registry: Registry, value?: any) { - super( - registry, - { - id: 'LockIdentifier', - amount: 'Balance', - reasons: 'WithdrawReasons', - }, - value - ); - } - - get id(): LockIdentifier { - return this.get('id') as LockIdentifier; - } - - get amount(): Balance { - return this.get('amount') as Balance; - } - - get reasons(): WithdrawReasons { - return this.get('reasons') as WithdrawReasons; - } -} diff --git a/packages/types/src/runtime/ga/Owner.ts b/packages/types/src/runtime/ga/Owner.ts deleted file mode 100644 index ebc43b961..000000000 --- a/packages/types/src/runtime/ga/Owner.ts +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import { ClassOf, TypeRegistry } from '@cennznet/types'; - -const registry = new TypeRegistry(); -export default class Owner extends ClassOf(registry, 'Option') {} diff --git a/packages/types/src/runtime/ga/PermissionVersions.ts b/packages/types/src/runtime/ga/PermissionVersions.ts deleted file mode 100644 index 3fc935e46..000000000 --- a/packages/types/src/runtime/ga/PermissionVersions.ts +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import { Enum } from '@cennznet/types'; -import PermissionsV1 from './PermissionsV1'; - -export default class PermissionVersions extends Enum.with({ PermissionsV1 }) {} diff --git a/packages/types/src/runtime/ga/PermissionsV1.ts b/packages/types/src/runtime/ga/PermissionsV1.ts deleted file mode 100644 index d19033a9f..000000000 --- a/packages/types/src/runtime/ga/PermissionsV1.ts +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import { Struct } from '@cennznet/types'; -import { Registry } from '@cennznet/types/types'; -import Owner from './Owner'; - -/** - * alias for PermissionLatest and PermissionOptions - */ -export default class PermissionsV1 extends Struct { - constructor(registry: Registry, value: any) { - super(registry, { update: Owner, mint: Owner, burn: Owner }, value); - } - - get update(): Owner { - return this.get('update') as Owner; - } - - get mint(): Owner { - return this.get('mint') as Owner; - } - - get burn(): Owner { - return this.get('burn') as Owner; - } -} diff --git a/packages/types/src/runtime/ga/WithdrawReasons.spec.ts b/packages/types/src/runtime/ga/WithdrawReasons.spec.ts deleted file mode 100644 index 795b0e239..000000000 --- a/packages/types/src/runtime/ga/WithdrawReasons.spec.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import { TypeRegistry } from '@cennznet/types'; - -import WithdrawReasons from './WithdrawReasons'; - -const registry = new TypeRegistry(); -registry.register(WithdrawReasons); - -describe('WithdrawReasons', () => { - it('It can decode reasons: All', () => { - const reasons = new WithdrawReasons(registry, WithdrawReasons.all()); - expect(reasons.isFee()).toBeTruthy(); - expect(reasons.isReserve()).toBeTruthy(); - expect(reasons.isTip()).toBeTruthy(); - expect(reasons.isTransactionPayment()).toBeTruthy(); - expect(reasons.isTransfer()).toBeTruthy(); - expect(reasons.isAll()).toBeTruthy(); - }); -}); diff --git a/packages/types/src/runtime/ga/WithdrawReasons.ts b/packages/types/src/runtime/ga/WithdrawReasons.ts deleted file mode 100644 index 55c7fda79..000000000 --- a/packages/types/src/runtime/ga/WithdrawReasons.ts +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2020 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import { i8 } from '@cennznet/types'; - -// See: https://github.com/plugblockchain/plug-blockchain/blob/f580bbbb496f66655b27105e27e9d1e1d52bbb02/frame/support/src/traits.rs#L737-L756 -const ReasonMask = { - /// In order to pay for (system) transaction costs. - TRANSACTION_PAYMENT: 0b0000_0001, - /// In order to transfer ownership. - TRANSFER: 0b0000_0010, - /// In order to reserve some funds for a later return or repatriation. - RESERVE: 0b0000_0100, - /// In order to pay some other (higher-level) fees. - FEE: 0b0000_1000, - /// In order to tip a validator for transaction inclusion. - TIP: 0b0001_0000, -}; - -export default class WithdrawReasons extends i8 { - // The mask value of all reasons set - static all(): number { - return ReasonMask.TRANSACTION_PAYMENT | ReasonMask.TRANSFER | ReasonMask.RESERVE | ReasonMask.FEE | ReasonMask.TIP; - } - // Whether the withdraw reasons are 'all' of them - isAll(): boolean { - return this.toNumber() === WithdrawReasons.all(); - } - // Whether the withdraw reasons include higher-level fees. - isFee(): boolean { - return (this.toNumber() & ReasonMask.FEE) === ReasonMask.FEE; - } - // Whether the withdraw reasons include reservation. - isReserve(): boolean { - return (this.toNumber() & ReasonMask.RESERVE) === ReasonMask.RESERVE; - } - // Whether the withdraw reasons include transaction tips. - isTip(): boolean { - return (this.toNumber() & ReasonMask.TIP) === ReasonMask.TIP; - } - // Whether the withdraw reasons include transaction fee payment. - isTransactionPayment(): boolean { - return (this.toNumber() & ReasonMask.TRANSACTION_PAYMENT) === ReasonMask.TRANSACTION_PAYMENT; - } - // Whether the withdraw reasons include transfers. - isTransfer(): boolean { - return (this.toNumber() & ReasonMask.TRANSFER) === ReasonMask.TRANSFER; - } -} diff --git a/packages/types/src/runtime/ga/ga.spec.ts b/packages/types/src/runtime/ga/ga.spec.ts deleted file mode 100644 index 44d29c244..000000000 --- a/packages/types/src/runtime/ga/ga.spec.ts +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import { createTypeUnsafe, TypeRegistry } from '@cennznet/types'; - -import * as gaTypes from './'; -import AssetOptions from './AssetOptions'; -import PermissionsV1 from './PermissionsV1'; - -const BOB = '5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty'; - -const registry = new TypeRegistry(); -registry.register(gaTypes); - -describe('ga types', () => { - describe('Permission', () => { - it('empty permissions', () => { - const permission = createTypeUnsafe(registry, 'PermissionLatest', [{}]); - expect(permission.burn.isNone).toBeTruthy(); - expect(permission.mint.isNone).toBeTruthy(); - expect(permission.update.isNone).toBeTruthy(); - }); - - it('full permissions', () => { - const permission = createTypeUnsafe(registry, 'PermissionLatest', [ - { - burn: BOB, - mint: BOB, - update: BOB, - }, - ]); - expect(permission.burn.unwrap().toString()).toEqual(BOB); - expect(permission.mint.unwrap().toString()).toEqual(BOB); - expect(permission.update.unwrap().toString()).toEqual(BOB); - }); - }); - - it('AssetOptions', () => { - const assetOptions = createTypeUnsafe(registry, 'AssetOptions', [ - { - initialIssuance: 1000, - }, - ]); - expect(assetOptions.initialIssuance.toNumber()).toEqual(1000); - }); -}); diff --git a/packages/types/src/runtime/ga/index.ts b/packages/types/src/runtime/ga/index.ts deleted file mode 100644 index 7d50738e7..000000000 --- a/packages/types/src/runtime/ga/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -export { default as AssetId } from './AssetId'; -export { default as AssetOptions } from './AssetOptions'; -export { default as Owner } from './Owner'; -export { default as PermissionsV1, default as PermissionLatest } from './PermissionsV1'; -export { default as PermissionVersions } from './PermissionVersions'; -export { default as AssetInfo } from './AssetInfo'; -export { default as WithdrawReasons } from './WithdrawReasons'; -export { default as BalanceLock } from './BalanceLock'; diff --git a/packages/types/src/runtime/index.ts b/packages/types/src/runtime/index.ts deleted file mode 100644 index 8b69df073..000000000 --- a/packages/types/src/runtime/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -export * from './attestation'; -export * from './cennzx'; -export * from './ga'; -export * from './staking'; -export * from './sylo'; -export * from './transaction-payment'; - -// The CENNZnet nonce type -export { u64 as Index } from '@cennznet/types'; diff --git a/packages/types/src/runtime/staking/index.ts b/packages/types/src/runtime/staking/index.ts deleted file mode 100644 index 420ac3850..000000000 --- a/packages/types/src/runtime/staking/index.ts +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2020 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import { Enum } from '@cennznet/types'; -import { Registry } from '@cennznet/types/types'; -import { AccountId } from '@cennznet/types/interfaces'; - -// Specifies which account staking rewards should be paid too. -// Note: Polkadot has an additional 'Staked' option which is not supported in CENNZnet -// due to the fact that the reward currency is different from the staked currency. -export class RewardDestination extends Enum { - constructor(registry: Registry, value: any) { - super(registry, { Stash: 'Null', Controller: 'Null', Account: 'AccountId' }, value); - } - - get isStash(): boolean { - return this.index === 0; - } - - get isController(): boolean { - return this.index === 1; - } - - get isAccount(): boolean { - return this.index === 2; - } - - get asAccount(): AccountId { - return this.raw as AccountId; - } -} diff --git a/packages/types/src/runtime/staking/types.spec.ts b/packages/types/src/runtime/staking/types.spec.ts deleted file mode 100644 index d1b5bdc25..000000000 --- a/packages/types/src/runtime/staking/types.spec.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { RewardDestination } from '.'; -import { TypeRegistry, createType } from '@cennznet/types'; - -const registry = new TypeRegistry(); -registry.register(RewardDestination); - -describe('RewardDestination', (): void => { - it('Respects CENNZnet options: 0/Stash, 1/Controller', () => { - const destinationStash = createType(registry, 'RewardDestination', 0); - expect(destinationStash.isStash).toBeTruthy(); - const destinationStashStr = createType(registry, 'RewardDestination', 'stash'); - expect(destinationStashStr.isStash).toBeTruthy(); - - const destinationController = createType(registry, 'RewardDestination', 1); - expect(destinationController.isController).toBeTruthy(); - const destinationControllerStr = createType(registry, 'RewardDestination', 'controller'); - expect(destinationControllerStr.isController).toBeTruthy(); - - const destinationAccountAddress = '5FEe8Ht1ZTzNjQcvrxbLxnykA2EXfqN5LMog2gaNPus4tfZR'; - const destinationAccount = createType(registry, 'RewardDestination', { account: destinationAccountAddress }, 2); - expect(destinationAccount.asAccount.toString()).toEqual(destinationAccountAddress); - expect(destinationAccount.isAccount).toBeTruthy(); - const destinationAccountStr = createType(registry, 'RewardDestination', { account: destinationAccountAddress }); - expect(destinationAccountStr.asAccount.toString()).toEqual(destinationAccountAddress); - expect(destinationAccountStr.isAccount).toBeTruthy(); - - const destinationPayee = new RewardDestination(registry, { account: destinationAccountAddress }); - expect(destinationPayee.asAccount.toString()).toEqual(destinationAccountAddress); - expect(destinationPayee.isAccount).toBeTruthy(); - }); -}); diff --git a/packages/types/src/runtime/sylo/index.ts b/packages/types/src/runtime/sylo/index.ts deleted file mode 100644 index b1ffcde50..000000000 --- a/packages/types/src/runtime/sylo/index.ts +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import { ClassOf, Enum, Null, Struct, Text, Tuple, TypeRegistry, Vec } from '@cennznet/types'; -import { Registry } from '@cennznet/types/types'; -import { u8aToHex } from '@polkadot/util'; - -const GROUP_JSON_MAP = new Map([['groupId', 'group_id']]); - -export class Group extends Struct { - constructor(registry: Registry, value) { - super( - registry, - { - groupId: 'H256', - members: Vec.with(Member), - invites: Vec.with(PendingInvite), - meta: Meta, - }, - value, - GROUP_JSON_MAP - ); - } -} - -const MEMBER_JSON_MAP = new Map([['userId', 'user_id']]); - -export class Member extends Struct { - constructor(registry: Registry, value) { - super(registry, { userId: 'AccountId', roles: Vec.with(MemberRoles), meta: Meta }, value, MEMBER_JSON_MAP); - } - - toJSON() { - return { - user_id: u8aToHex(this.get('userId').toU8a(), -1, false), - roles: this.get('roles').toJSON(), - meta: this.get('meta').toJSON(), - }; - } -} - -export class MemberRoles extends Enum.with(['AdminRole', 'MemberRole']) {} - -export class Meta extends Vec.with(Tuple.with([Text, Text])) {} - -const INVITE_JSON_MAP = new Map([ - ['peerId', 'peer_id'], - ['inviteData', 'invite_data'], - ['inviteKey', 'invite_key'], -]); - -export class Invite extends Struct { - constructor(registry: Registry, value) { - super( - registry, - { - peerId: 'AccountId', - inviteData: 'Bytes', - inviteKey: 'H256', - meta: Meta, - roles: Vec.with(MemberRoles), - }, - value, - INVITE_JSON_MAP - ); - } -} - -const PENDING_INVITE_JSON_MAP = new Map([['inviteKey', 'invite_key']]); - -export class PendingInvite extends Struct { - constructor(registry: Registry, value) { - super(registry, { inviteKey: 'H256', meta: Meta, roles: Vec.with(MemberRoles) }, value, PENDING_INVITE_JSON_MAP); - } - - toJSON() { - return { - invite_key: u8aToHex(this.get('inviteKey').toU8a(), -1, false), - meta: this.get('meta').toJSON(), - roles: this.get('roles').toJSON(), - }; - } -} - -export class AcceptPayload extends Struct { - constructor(registry: Registry, value) { - super(registry, { account_id: 'AccountId' }, value); - } -} -const registry = new TypeRegistry(); -export class DeviceId extends ClassOf(registry, 'u32') {} - -export class PreKeyBundle extends ClassOf(registry, 'Bytes') {} - -// Response enum constructors -class DeviceIdResponse extends DeviceId {} -class WithdrawnPreKeyBundle extends Tuple.with(['AccountId', 'u32', 'Bytes']) {} - -class PreKeyBundlesResponse extends Vec.with(WithdrawnPreKeyBundle) {} - -export class Response extends Enum.with({ DeviceIdResponse, PreKeyBundlesResponse, Null }) {} - -export class VaultKey extends ClassOf(registry, 'Bytes') {} - -export class VaultValue extends ClassOf(registry, 'Bytes') {} - -export class MessageId extends ClassOf(registry, 'u32') {} - -export class Message extends ClassOf(registry, 'Bytes') {} diff --git a/packages/types/src/runtime/transaction-payment/TransactionPayment.ts b/packages/types/src/runtime/transaction-payment/TransactionPayment.ts deleted file mode 100644 index 2624ef224..000000000 --- a/packages/types/src/runtime/transaction-payment/TransactionPayment.ts +++ /dev/null @@ -1,13 +0,0 @@ -export function generateTransactionPayment({ tip, assetId, maxPayment }) { - const feeExchange = { - assetId: assetId, - maxPayment: maxPayment, - }; - const transactionPayment = { - tip: tip, - feeExchange: { - FeeExchangeV1: feeExchange, - }, - }; - return transactionPayment; -} diff --git a/packages/types/src/runtime/transaction-payment/index.ts b/packages/types/src/runtime/transaction-payment/index.ts deleted file mode 100644 index 298e1243c..000000000 --- a/packages/types/src/runtime/transaction-payment/index.ts +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Centrality Investments Limited -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import { Enum, Struct, Compact, Option } from '@cennznet/types'; -import { AssetId, Balance } from '@cennznet/types/interfaces'; -import { Registry } from '@cennznet/types/types'; - -/* [[FeeExchangeV1]] when included in a transaction it indicates network fees should be - * paid in `assetId` by paying up to `maxPayment` after the exchange rate is calculated. - */ -export class FeeExchangeV1 extends Struct { - constructor(registry: Registry, value?: any) { - super(registry, { assetId: 'Compact', maxPayment: 'Compact' }, value); - } - get assetId(): AssetId { - return this.get('assetId') as AssetId; - } - - get maxPayment(): Balance { - return this.get('maxPayment') as Balance; - } -} - -// The outer [[FeeExchange]] it is an enum to allow flexbility for future versions and backwards compatability. -// export class FeeExchange extends Enum.with({FeeExchangeV1}) {} - -export class FeeExchange extends Enum { - constructor(registry: Registry, value: any) { - super(registry, { FeeExchangeV1 }, value); - } -} - -/** - * [[ChargeTransactionPayment]] allows paying a `tip` and/or specifying fee payment in another currency - * when added to an extrinsic payload. - */ -export class ChargeTransactionPayment extends Struct { - constructor(registry: Registry, value: any) { - super(registry, { tip: 'Compact', feeExchange: 'Option' }, value); - } - - get tip(): Compact { - return this.get('tip') as Compact; - } - - get feeExchange(): Option { - return this.get('feeExchange') as Option; - } -} diff --git a/packages/types/src/types.ts b/packages/types/src/types.ts index 4943eb38a..0d2e089da 100644 --- a/packages/types/src/types.ts +++ b/packages/types/src/types.ts @@ -1,16 +1,24 @@ import { AccountId, Address } from '@polkadot/types/interfaces'; import { AnyNumber } from '@polkadot/types/types'; import BN from 'bn.js'; +export { + Hash, + Block, + AccountId, + EventRecord, + AssetId, + Keys, + Balance, + Nominations, + Permill, + RuntimeDispatchInfo, + EraIndex, + Exposure, + StakingLedger, + ValidatorPrefs, + Forcing, +} from '@polkadot/types/interfaces'; export * from '@polkadot/types/types'; - export type AnyAddress = BN | Address | AccountId | Array | Uint8Array | number | string; - export type AnyAssetId = AnyNumber; - -export { - ExtrinsicExtraValue, - ExtrinsicOptions, - ExtrinsicPayloadValue, - ExtrinsicSignatureOptions, - SignatureOptions, -} from './extrinsic/types'; +export declare type AnyFunction = (...args: any[]) => any; diff --git a/packages/util/package.json b/packages/util/package.json index 539e43449..677a5b140 100644 --- a/packages/util/package.json +++ b/packages/util/package.json @@ -18,11 +18,11 @@ "test": "echo \"Error: run tests from root\" && exit 1" }, "dependencies": { - "@polkadot/util": "^2.3.1", - "@polkadot/util-crypto": "^2.3.1" + "@polkadot/util": "^3.5.1", + "@polkadot/util-crypto": "^3.5.1" }, "devDependencies": { - "@polkadot/keyring": "2.3.1", - "@polkadot/types": "^1.1.1" + "@polkadot/keyring": "^3.5.1", + "@polkadot/types": "^2.3.1" } } diff --git a/packages/util/src/format/stripEndZero.ts b/packages/util/src/format/stripEndZero.ts index d7f75b6f5..b2402506b 100644 --- a/packages/util/src/format/stripEndZero.ts +++ b/packages/util/src/format/stripEndZero.ts @@ -20,7 +20,7 @@ const STRIP_ZERO = /^(.*?)(0*)$/; * trim all trailing zeros. return '' if only zero is passed in. * @param value */ -export function stripEndZero(value: string) { +export default function stripEndZero(value: string) { assert(!isUndefined(value), 'must not be undefined'); return STRIP_ZERO.exec(value)[1]; } diff --git a/packages/util/src/number/toFixed.ts b/packages/util/src/number/toFixed.ts index 70f7b98b3..0fd4fbf87 100644 --- a/packages/util/src/number/toFixed.ts +++ b/packages/util/src/number/toFixed.ts @@ -16,20 +16,20 @@ * convert number to string, without science notion * @param x */ -export function toFixed(x: number): string { - if (Math.abs(x) < 1.0) { - const [fixed, e] = x.toString().split('e-'); - if (!e) { - return x.toString(); - } - const decimal = fixed.split('.')[1] || ''; - return x.toFixed(decimal.length + parseInt(e)); - } else { - const [fixed, e] = x.toString().split('e+'); - if (!e) { - return x.toString(); - } - const [front, decimal = ''] = fixed.split('.'); - return front + decimal + new Array(parseInt(e) - decimal.length + 1).join('0'); +export default function toFixed(x: number): string { + if (Math.abs(x) < 1.0) { + const [fixed, e] = x.toString().split('e-'); + if (!e) { + return x.toString(); } + const decimal = fixed.split('.')[1] || ''; + return x.toFixed(decimal.length + parseInt(e)); + } else { + const [fixed, e] = x.toString().split('e+'); + if (!e) { + return x.toString(); + } + const [front, decimal = ''] = fixed.split('.'); + return front + decimal + new Array(parseInt(e) - decimal.length + 1).join('0'); + } } diff --git a/packages/util/src/unit/formatUnits.ts b/packages/util/src/unit/formatUnits.ts index 44e89e22e..d486ccbd8 100644 --- a/packages/util/src/unit/formatUnits.ts +++ b/packages/util/src/unit/formatUnits.ts @@ -14,7 +14,7 @@ import { assert } from '@polkadot/util'; import BN from 'bn.js'; -import { stripEndZero } from '../format/stripEndZero'; +import stripEndZero from '../format/stripEndZero'; import isSafeInteger from '../is/integer'; /** diff --git a/packages/util/src/unit/parseUnits.ts b/packages/util/src/unit/parseUnits.ts index 575cf01ea..374d0f43d 100644 --- a/packages/util/src/unit/parseUnits.ts +++ b/packages/util/src/unit/parseUnits.ts @@ -14,9 +14,9 @@ import { assert, isNumber } from '@polkadot/util'; import BN from 'bn.js'; -import { stripEndZero } from '../format/stripEndZero'; +import stripEndZero from '../format/stripEndZero'; import isSafeInteger from '../is/integer'; -import { toFixed } from '../number/toFixed'; +import toFixed from '../number/toFixed'; /** * format a amount from unit `un` to decimals passed in. diff --git a/scripts/MetadataMd.ts b/scripts/MetadataMd.ts index a9c5a8a89..d95e4ca74 100644 --- a/scripts/MetadataMd.ts +++ b/scripts/MetadataMd.ts @@ -1,225 +1,294 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors -// This software may be modified and distributed under the terms -// of the Apache-2.0 license. See the LICENSE file for details. +// Copyright 2017-2020 @polkadot/typegen authors & contributors +// SPDX-License-Identifier: Apache-2.0 -import '@plugnet/types/injector'; +// import {Api} from "@cennznet/api"; +import staticMetadata from "@cennznet/api/staticMetadata"; +import {Metadata} from "@polkadot/types"; +import { MetadataLatest } from '@polkadot/types/interfaces/metadata'; +import { Codec } from '@polkadot/types/types'; import fs from 'fs'; -import {stringCamelCase, stringLowerFirst} from '@polkadot/util'; - -import interfaces from '@polkadot/jsonrpc'; -import { Call } from '@cennznet/types/primitive'; -import { MetadataLatest, ModuleMetadataLatest } from '@cennznet/types/interfaces'; -import Metadata from '@polkadot/metadata/Metadata'; -import rpcDataLatest from '@polkadot/metadata/Metadata/v7/static'; -import { TypeRegistry, createType } from '@cennznet/types'; - -const ANCHOR_TOP = ''; -const LINK_BACK_TO_TOP = ''; - -const DESC_CONSTANTS = '\n\n_The following sections contain the module constants, also known as parameter types.\n'; -const DESC_EXTRINSICS = - '\n\n_The following sections contain Extrinsics methods are part of the default Substrate runtime._\n'; -const DESC_EVENTS = - '\n\nEvents are emitted for certain operations on the runtime. The following sections describe the events that are part of the default Substrate runtime.\n'; -const DESC_RPC = - '\n\n_The following sections contain RPC methods that are Remote Calls available by default and allow you to interact with the actual node, query, and submit. The RPCs are provided by Substrate itself._'; -const DESC_STORAGE = - '\n\n_The following sections contain Storage methods are part of the default Substrate runtime._\n'; - -function sectionLink(sectionName: string): string { - return `- **[${stringCamelCase(sectionName)}](#${stringCamelCase(sectionName)})**\n\n`; +import Decorated from '@polkadot/metadata/Decorated'; +import rpcdata from '@polkadot/metadata/Metadata/static'; +import Call from '@polkadot/types/generic/Call'; +import { unwrapStorageType } from '@polkadot/types/primitive/StorageKey'; +import { TypeRegistry } from '@polkadot/types/create'; +import { Vec } from '@polkadot/types/codec'; +import * as definitions from '@polkadot/types/interfaces/definitions'; +import { Text } from '@polkadot/types/primitive'; +import { stringCamelCase, stringLowerFirst } from '@polkadot/util'; + +interface Page { + title: string; + description: string; + sections: { + name: string; + description?: string; + items: { + name: string; + [bullet: string]: string | Vec; + }[]; + }[]; } -function generateSectionHeader(md: string, sectionName: string): string { - const alink = `\n`; - return `${md} \n___\n ${alink} ${LINK_BACK_TO_TOP}\n\n### ${sectionName}\n`; +const STATIC_TEXT = '\n\n(NOTE: These were generated from a static/snapshot view of a recent Substrate master node. Some items may not be available in older nodes, or in any customized implementations.)'; + +const DESC_CONSTANTS = `The following sections contain the module constants, also known as parameter types. These can only be changed as part of a runtime upgrade. On the api, these are exposed via \`api.consts..\`. ${STATIC_TEXT}`; +const DESC_EXTRINSICS = `The following sections contain Extrinsics methods are part of the default Substrate runtime. On the api, these are exposed via \`api.tx..\`. ${STATIC_TEXT}`; +const DESC_ERRORS = `This page lists the errors that can be encountered in the different modules. ${STATIC_TEXT}`; +const DESC_EVENTS = `Events are emitted for certain operations on the runtime. The following sections describe the events that are part of the default Substrate runtime. ${STATIC_TEXT}`; +const DESC_RPC = 'The following sections contain RPC methods that are Remote Calls available by default and allow you to interact with the actual node, query, and submit.'; +const DESC_STORAGE = `The following sections contain Storage methods are part of the default Substrate runtime. On the api, these are exposed via \`api.query..\`. ${STATIC_TEXT}`; + +/** @internal */ +function documentationVecToMarkdown (docLines: Vec, indent = 0): string { + const md = docLines + .map((docLine) => docLine && docLine.substring(1)) // trim the leading space + .reduce((md, docLine): string => // generate paragraphs + !docLine.trim().length + ? `${md}\n\n` // empty line + : /^[*-]/.test(docLine.trimStart()) && !md.endsWith('\n\n') + ? `${md}\n\n${docLine}` // line calling for a preceding linebreak + : `${md}${docLine // line continuing the preceding line + .replace(/^# $/g, '\\# \\\n\n') + .replace(/^# <\/weight>$/g, '\n\n\\# \\') + .replace(/^#{1,3} /, '#### ')} ` + , ''); + + // prefix each line with indentation + return md && md.split('\n\n').map((line) => `${' '.repeat(indent)}${line}`).join('\n\n'); } -function addRpc(): string { - const renderHeading = `## ${ANCHOR_TOP}JSON-RPC${DESC_RPC}\n`; - const orderedSections = Object.keys(interfaces).sort(); - const renderAnchors = Object.keys(interfaces) - .sort() - .map((sectionName): string => sectionLink(sectionName)) - .join(''); - - return orderedSections.reduce((md, sectionName): string => { - const section = interfaces[sectionName]; - const renderSection = generateSectionHeader(md, sectionName) + `\n_${section.description}_\n`; - const orderedMethods = Object.keys(section.methods).sort(); - - return orderedMethods.reduce((md, methodName): string => { - const method = section.methods[methodName]; - const args = method.params - .map(({name, isOptional, type}): string => { - return name + (isOptional ? '?' : '') + ': `' + type + '`'; - }) - .join(', '); - const type = '`' + method.type + '`'; - // const isSub = method.isSubscription; - const renderMethod = `${md}\n▸ **${methodName}**(${args})`; - const renderReturnType = `: ${type}`; - const renderSignature = `${renderMethod}${renderReturnType}`; - const renderSummary = `${ - method && method.description ? `\n- **summary**: ${method.description}\n` : `\n\n` - }`; - - return `${renderSignature}${renderSummary}`; - }, renderSection); - }, renderHeading + renderAnchors); -} - -/** - * Sort object by their `.name` - */ -function sortByName(a: T, b: T): number { - // ignore upper and lowercase - const nameA = a.name.toString().toUpperCase(); - const nameB = b.name.toString().toUpperCase(); - - return nameA.localeCompare(nameB); -} - -function addConstants(metadata: MetadataLatest): string { - const renderHeading = `## ${ANCHOR_TOP}Constants${DESC_CONSTANTS}`; - const orderedSections = metadata.modules.sort(sortByName); - let renderAnchors = ''; - const sections = orderedSections.reduce((md, moduleMetadata): string => { - if (moduleMetadata.constants.isEmpty) { - return md; - } - - const sectionName = stringLowerFirst(moduleMetadata.name.toString()); - - renderAnchors += sectionLink(sectionName); +function renderPage (page: Page): string { + let md = `## ${page.title}\n\n`; - const renderSection = generateSectionHeader(md, sectionName); - const orderedConstants = moduleMetadata.constants.sort(sortByName); + if (page.description) { + md += `${page.description}\n\n`; + } - return orderedConstants.reduce((md, func): string => { - const methodName = stringCamelCase(func.name.toString()); - const doc = func.documentation.reduce((md, doc): string => `${md} ${doc}`, ''); - const type = func.type; - const renderSignature = `${md}\n▸ **${methodName}**: ` + '`' + type + '`'; - const renderSummary = `${doc ? `\n- **summary**: ${doc}\n` : '\n'}`; - - return renderSignature + renderSummary; - }, renderSection); - }, ''); + // index + page.sections.forEach((section) => { + md += `- **[${stringCamelCase(section.name)}](#${stringCamelCase(section.name).toLowerCase()})**\n\n`; + }); - return renderHeading + renderAnchors + sections; -} + // contents + page.sections.forEach((section) => { + md += `\n___\n\n\n## ${section.name}\n`; -function addEvents(metadata: MetadataLatest): string { - const renderHeading = `## ${ANCHOR_TOP}Events${DESC_EVENTS}`; - const orderedSections = metadata.modules.sort(sortByName); - let renderAnchors = ''; - const sections = orderedSections.reduce((md, meta): string => { - if (meta.events.isNone || !meta.events.unwrap().length) { - return md; + if (section.description) { + md += `\n_${section.description}_\n`; } - const events = meta.events.unwrap(); - const sectionName = stringCamelCase(meta.name.toString()); - - renderAnchors += sectionLink(sectionName); - - const renderSection = generateSectionHeader(md, sectionName); - const orderedMethods = events.sort(sortByName); + section.items.forEach((item) => { + md += ` \n### ${item.name}`; - return orderedMethods.reduce((md, func): string => { - const methodName = func.name.toString(); - const args = func.args.map((type): string => '`' + type + '`').join(', '); - const doc = func.documentation.reduce((md, doc): string => `${md} ${doc}`, ''); - const renderSignature = `${md}\n▸ **${methodName}**(${args})`; - const renderSummary = `${doc ? `\n- **summary**: ${doc}\n` : '\n'}`; + Object.keys(item).filter((i) => i !== 'name').forEach((bullet) => { + md += `\n- **${bullet}**: ${ + // eslint-disable-next-line @typescript-eslint/restrict-template-expressions + item[bullet] instanceof Vec + ? documentationVecToMarkdown(item[bullet] as Vec, 2).toString() + : item[bullet] + }`; + }); - return renderSignature + renderSummary; - }, renderSection); - }, ''); + md += '\n'; + }); + }); - return renderHeading + renderAnchors + sections; + return md; } -function addExtrinsics(metadata: MetadataLatest): string { - const renderHeading = `## ${ANCHOR_TOP}Extrinsics${DESC_EXTRINSICS}`; - const orderedSections = metadata.modules.map((i): ModuleMetadataLatest => i).sort(sortByName); - let renderAnchors = ''; - const sections = orderedSections.reduce((md, meta): string => { - if (meta.calls.isNone || !meta.calls.unwrap().length) { - return md; - } - - const calls = meta.calls.unwrap(); - const sectionName = stringCamelCase(meta.name.toString()); - - renderAnchors += sectionLink(sectionName); +function sortByName (a: T, b: T): number { + // case insensitive (all-uppercase) sorting + // eslint-disable-next-line @typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access + return a.name.toString().toUpperCase().localeCompare(b.name.toString().toUpperCase()); +} - const renderSection = generateSectionHeader(md, sectionName); - const orderedMethods = calls.sort(sortByName); +/** @internal */ +function addRpc (): string { + const sections = Object + .keys(definitions) + .filter((key) => Object.keys(definitions[key as 'babe'].rpc || {}).length !== 0); + + return renderPage({ + description: DESC_RPC, + sections: sections + .sort() + .map((sectionName) => { + const section = definitions[sectionName as 'babe']; + + return { + // description: section.description, + items: Object.keys(section.rpc) + .sort() + .map((methodName) => { + const method = section.rpc[methodName]; + const args = method.params.map(({ isOptional, name, type }: any): string => { + // eslint-disable-next-line @typescript-eslint/restrict-plus-operands + return name + (isOptional ? '?' : '') + ': `' + type + '`'; + }).join(', '); + const type = '`' + method.type + '`'; + + return { + interface: '`' + `api.rpc.${sectionName}.${methodName}` + '`', + jsonrpc: '`' + `${sectionName}_${methodName}` + '`', + name: `${methodName}(${args}): ${type}`, + ...(method.description && { summary: method.description }) + }; + }), + name: sectionName + }; + }), + title: 'JSON-RPC' + }); +} - return orderedMethods.reduce((md, func): string => { - const methodName = stringCamelCase(func.name.toString()); - const args = Call.filterOrigin(func) - .map(({name, type}): string => `${name}: ` + '`' + type + '`') - .join(', '); - const doc = func.documentation.reduce((md, doc): string => `${md} ${doc}`, ''); - const renderSignature = `${md}\n▸ **${methodName}**(${args})`; - const renderSummary = `${doc ? `\n- **summary**: ${doc}\n` : '\n'}`; +/** @internal */ +function addConstants (metadata: MetadataLatest): string { + return renderPage({ + description: DESC_CONSTANTS, + sections: metadata.modules + .sort(sortByName) + .filter((moduleMetadata) => !moduleMetadata.constants.isEmpty) + .map((moduleMetadata) => { + const sectionName = stringLowerFirst(moduleMetadata.name.toString()); + + return { + items: moduleMetadata.constants + .sort(sortByName) + .map((func) => { + const methodName = stringCamelCase(func.name.toString()); + + return { + interface: '`' + `api.consts.${sectionName}.${methodName}` + '`', + name: `${methodName}: ` + '`' + func.type.toString() + '`', + ...(func.documentation.length && { summary: func.documentation }) + }; + }), + name: sectionName + }; + }), + title: 'Constants' + }); +} - return renderSignature + renderSummary; - }, renderSection); - }, ''); +/** @internal */ +function addStorage (metadata: MetadataLatest): string { + const moduleSections = metadata.modules + .sort(sortByName) + .filter((moduleMetadata) => !moduleMetadata.storage.isNone) + .map((moduleMetadata) => { + const sectionName = stringLowerFirst(moduleMetadata.name.toString()); + + return { + items: moduleMetadata.storage.unwrap().items + .sort(sortByName) + .map((func) => { + const arg = func.type.isMap + ? ('`' + func.type.asMap.key.toString() + '`') + : func.type.isDoubleMap + ? ('`' + func.type.asDoubleMap.key1.toString() + ', ' + func.type.asDoubleMap.key2.toString() + '`') + : ''; + const methodName = stringLowerFirst(func.name.toString()); + const outputType = unwrapStorageType(func.type, func.modifier.isOptional); + + return { + interface: '`' + `api.query.${sectionName}.${methodName}` + '`', + name: `${methodName}(${arg}): ` + '`' + outputType + '`', + ...(func.documentation.length && { summary: func.documentation }) + }; + }), + name: sectionName + }; + }); + + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + const knownSection: any = JSON.parse(fs.readFileSync('docs/substrate/storage-known-section.json', 'utf8')); + return renderPage({ + description: DESC_STORAGE, + sections: moduleSections.concat([knownSection]), + title: 'Storage' + }); +} - return renderHeading + renderAnchors + sections; +/** @internal */ +function addExtrinsics (metadata: MetadataLatest): string { + return renderPage({ + description: DESC_EXTRINSICS, + sections: metadata.modules + .sort(sortByName) + .filter((meta) => !meta.calls.isNone && meta.calls.unwrap().length !== 0) + .map((meta) => { + const sectionName = stringCamelCase(meta.name.toString()); + + return { + items: meta.calls.unwrap() + .sort(sortByName) + .map((func) => { + const methodName = stringCamelCase(func.name.toString()); + const args = Call.filterOrigin(func).map(({ name, type }) => `${name.toString()}: ` + '`' + type.toString() + '`').join(', '); + + return { + interface: '`' + `api.tx.${sectionName}.${methodName}` + '`', + name: `${methodName}(${args})`, + ...(func.documentation.length && { summary: func.documentation }) + }; + }), + name: sectionName + }; + }), + title: 'Extrinsics' + }); } -function addStorage(metadata: MetadataLatest): string { - const renderHeading = `## ${ANCHOR_TOP}Storage${DESC_STORAGE}`; - const orderedSections = metadata.modules.sort(sortByName); - let renderAnchors = ''; - const sections = orderedSections.reduce((md, moduleMetadata): string => { - if (moduleMetadata.storage.isNone) { - return md; - } +/** @internal */ +function addEvents (metadata: MetadataLatest): string { + return renderPage({ + description: DESC_EVENTS, + sections: metadata.modules + .sort(sortByName) + .filter((meta) => !meta.events.isNone && meta.events.unwrap().length !== 0) + .map((meta) => ({ + items: meta.events.unwrap() + .sort(sortByName) + .map((func) => { + const methodName = func.name.toString(); + const args = func.args.map((type): string => '`' + type.toString() + '`').join(', '); + + return { + name: `${methodName}(${args})`, + ...(func.documentation.length && { summary: func.documentation }) + }; + }), + name: stringCamelCase(meta.name.toString()) + })), + title: 'Events' + }); +} - const sectionName = stringLowerFirst(moduleMetadata.name.toString()); - - renderAnchors += sectionLink(sectionName); - - const renderSection = generateSectionHeader(md, sectionName); - const orderedMethods = moduleMetadata.storage.unwrap().items.sort(sortByName); - - return orderedMethods.reduce((md, func): string => { - const arg = func.type.isMap - ? '`' + func.type.asMap.key.toString() + '`' - : func.type.isDoubleMap - ? '`' + func.type.asDoubleMap.key1.toString() + ', ' + func.type.asDoubleMap.key2.toString() + '`' - : ''; - const doc = func.documentation.reduce((md, doc): string => `${md} ${doc}`, ''); - let result = (func.type.isDoubleMap ? func.type.asDoubleMap.value : func.type).toString(); - - if (func.modifier.isOptional) { - result = `Option<${result}>`; - } - - return ( - `${md}\n▸ **${stringLowerFirst(func.name.toString())}**(${arg}): ` + - '`' + - result + - '`' + - `${doc ? `\n- **summary**: ${doc}\n` : '\n'}` - ); - }, renderSection); - }, ''); - - return renderHeading + renderAnchors + sectionLink('substrate') + sections; +/** @internal */ +function addErrors (metadata: MetadataLatest): string { + return renderPage({ + description: DESC_ERRORS, + sections: metadata.modules + .sort(sortByName) + .filter((moduleMetadata) => !moduleMetadata.errors.isEmpty) + .map((moduleMetadata) => ({ + items: moduleMetadata.errors + .sort(sortByName) + .map((error) => ({ + name: error.name.toString(), + ...(error.documentation.length && { summary: error.documentation }) + })), + name: stringLowerFirst(moduleMetadata.name.toString()) + })), + title: 'Errors' + }); } -function writeFile(name: string, ...chunks: any[]): void { - const options = {flags: 'w', encoding: 'utf8'}; - const writeStream = fs.createWriteStream(name, options); +/** @internal */ +function writeFile (name: string, ...chunks: any[]): void { + const writeStream = fs.createWriteStream(name, { encoding: 'utf8', flags: 'w' }); writeStream.on('finish', (): void => { console.log(`Completed writing ${name}`); @@ -232,34 +301,16 @@ function writeFile(name: string, ...chunks: any[]): void { writeStream.end(); } -function writeToRpcMd(): void { - writeFile('docs/METHODS_RPC.md', addRpc()); +export default function main(): void { + const registry = new TypeRegistry(); + const staticMeta = new Metadata(registry, rpcdata); + const metadata = new Decorated(registry, staticMeta).metadata.asLatest; + writeFile('docs/substrate/rpc.md', addRpc()); + writeFile('docs/substrate/constants.md', addConstants(metadata)); + writeFile('docs/substrate/storage.md', addStorage(metadata)); + writeFile('docs/substrate/extrinsics.md', addExtrinsics(metadata)); + writeFile('docs/substrate/events.md', addEvents(metadata)); + writeFile('docs/substrate/errors.md', addErrors(metadata)); } -function writeToConstantsMd(metadata: MetadataLatest): void { - writeFile('docs/METHODS_CONSTANTS.md', addConstants(metadata)); -} - -function writeToStorageMd(metadata: MetadataLatest): void { - const options = {flags: 'r', encoding: 'utf8'}; - const data = fs.readFileSync('packages/types/src/scripts/METHODS_STORAGE_SUBSTRATE.md', options); - - writeFile('docs/METHODS_STORAGE.md', addStorage(metadata), data); -} - -function writeToExtrinsicsMd(metadata: MetadataLatest): void { - writeFile('docs/METHODS_EXTRINSICS.md', addExtrinsics(metadata)); -} - -function writeToEventsMd(metadata: MetadataLatest): void { - writeFile('docs/METHODS_EVENTS.md', addEvents(metadata)); -} - -const registry = new TypeRegistry(); -const metadata = new Metadata(registry, rpcDataLatest).asLatest; - -writeToRpcMd(); -writeToConstantsMd(metadata); -writeToStorageMd(metadata); -writeToExtrinsicsMd(metadata); -writeToEventsMd(metadata); +main(); \ No newline at end of file diff --git a/scripts/generateSlimMetadata.ts b/scripts/generateSlimMetadata.ts index ddcb4da62..a013f179f 100644 --- a/scripts/generateSlimMetadata.ts +++ b/scripts/generateSlimMetadata.ts @@ -1,9 +1,7 @@ // Running this file with ~ yarn generate-slim-metadata 'wss://cennznet.unfrastructure.io/public/ws' will create slim metadata -import {Api} from '../packages/api/src/Api'; +import { Api } from '../packages/api/src/Api'; import MetadataVersioned from '@polkadot/metadata/Metadata/MetadataVersioned'; -import {createType} from '@cennznet/types'; - // Metadata is slimmed as follows: // This function will remove all the documentation for each module in the chain. // Moreover it will only keep the complete information (structure) of most essential modules/sections required to meet the @@ -14,75 +12,74 @@ import {createType} from '@cennznet/types'; // END POINT can be passed as command line argument - yarn generate-slim-metadata 'ws://localhost:9944', by default Azalea would be used async function generateSlimMeta() { - const provider: any = process.argv[2] ? process.argv[2]: 'wss://cennznet.unfrastructure.io/public/ws'; - const api = await Api.create({provider}); - const metadata = api.runtimeMetadata.toJSON(); - const KEEP = [ - "System", - "Timestamp", - "TransactionPayment", - "GenericAsset", - "SyloGroups", - "SyloE2EE", - "SyloDevice", - "SyloInbox", - "SyloResponse", - "SyloVault", - "CennzxSpot", - ]; - let magicNumber = metadata.magicNumber; - let modules = api.runtimeMetadata.asV11.modules; - let newModules = []; - for (const m of modules) { - if (KEEP.indexOf(m.name.toJSON()) >= 0) { - const module = m.toJSON(); - removeKeys(module, "documentation"); - // Creating ModuleMetadataV11 - let modifiedModule = createType(api.registry, 'ModuleMetadataV11', module); - newModules.push(modifiedModule); - } else { - // Push an empty module - newModules.push({"name": m.name, "calls": m.calls, "events": m.events}); - } + const provider: any = process.argv[2] ? process.argv[2] : 'wss://cennznet.unfrastructure.io/public/ws'; + const api = await Api.create({ provider }); + const metadata = api.runtimeMetadata; + const KEEP = [ + 'System', + 'Timestamp', + 'TransactionPayment', + 'GenericAsset', + 'SyloGroups', + 'SyloE2EE', + 'SyloDevice', + 'SyloInbox', + 'SyloResponse', + 'SyloVault', + 'Cennzx', + ]; + let magicNumber = metadata.magicNumber; + let modules = api.runtimeMetadata.asLatest.modules; + let newModules = []; + for (const m of modules) { + if (KEEP.indexOf(m.name.toJSON()) >= 0) { + const module = m.toJSON(); + removeKeys(module, 'documentation'); + // Creating ModuleMetadataLatest + let modifiedModule = api.registry.createType('ModuleMetadataLatest', module); + newModules.push(modifiedModule); + } else { + // Push an empty module + newModules.push({ name: m.name, calls: m.calls, events: m.events }); } - let extrinsic = metadata.metadata['V11'].extrinsic; - let filteredModule = createType(api.registry, 'Vec', newModules); - let filteredMetaLatest = createType(api.registry, 'MetadataLatest', {modules: filteredModule, extrinsic}); - const filteredMetadataAll = createType(api.registry,'MetadataAll', filteredMetaLatest, 11); - const mVersionedNew = new MetadataVersioned(api.registry, { - magicNumber: magicNumber, - metadata: filteredMetadataAll - }); - console.log('metadata hex:', mVersionedNew.toHex()); + } + let extrinsic = metadata.asLatest.extrinsic; + let filteredModule = api.registry.createType('Vec', newModules); + let filteredMetaLatest = api.registry.createType('MetadataLatest', { modules: filteredModule, extrinsic }); + const filteredMetadataAll = api.registry.createType('MetadataAll', filteredMetaLatest, 12); + const mVersionedNew = new MetadataVersioned(api.registry, { + magicNumber: magicNumber, + metadata: filteredMetadataAll, + }); + console.log('metadata hex:', mVersionedNew.toHex()); - process.exit(); + process.exit(); } -function removeKeys(obj, keys){ - var index; - for (var prop in obj) { - // important check that this is objects own property - // not from prototype prop inherited - if(obj.hasOwnProperty(prop)){ - switch(typeof(obj[prop])){ - case 'string': - index = keys.indexOf(prop); - if(index > -1){ - delete obj[prop]; - } - break; - case 'object': - index = keys.indexOf(prop); - if(index > -1){ - delete obj[prop]; - }else{ - removeKeys(obj[prop], keys); - } - break; - } - } +function removeKeys(obj, keys) { + let index; + for (const prop in obj) { + // important check that this is objects own property + // not from prototype prop inherited + if (obj.hasOwnProperty(prop)) { + switch (typeof obj[prop]) { + case 'string': + index = keys.indexOf(prop); + if (index > -1) { + delete obj[prop]; + } + break; + case 'object': + index = keys.indexOf(prop); + if (index > -1) { + delete obj[prop]; + } else { + removeKeys(obj[prop], keys); + } + break; + } } + } } - generateSlimMeta(); diff --git a/scripts/updateStaticMetadata.js b/scripts/updateStaticMetadata.js index f0e0e4803..45c3c59a0 100644 --- a/scripts/updateStaticMetadata.js +++ b/scripts/updateStaticMetadata.js @@ -1,19 +1,32 @@ -// Running this file with ~ node scripts/updateStaticMetadata.js will create a staticMetadata.ts on root directory which can used/copied -const Api = require('@cennznet/api').Api; -const fs = require('fs'); -const staticMetadata = require('@cennznet/api/staticMetadata'); -const Metadata = require('@cennznet/types').Metadata; -async function updateMeta() { - const provider = 'wss://cennznet.unfrastructure.io/public/ws'; // Use Azalea - const api = await Api.create({provider}); - const meta = staticMetadata[`${api.genesisHash.toHex()}-${api.runtimeVersion.specVersion.toNumber()}`]; - const staticMeta = new Metadata(api.registry, meta).toJSON(); - if (api.runtimeMetadata.toJSON() !== staticMeta) { - const newMeta = {}; - newMeta[`${api.genesisHash.toHex()}-${api.runtimeVersion.specVersion.toNumber()}`] = api.runtimeMetadata.toHex(); - const data = `export default ${JSON.stringify(newMeta, null, '\n')};`; - fs.writeFileSync('staticMetadata.ts', data, 'utf-8'); - process.exit() - } -} -updateMeta(); +#!/usr/bin/env node +// Copyright 2019-2020 Centrality Investments Limited +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +require('@babel/register')({ + extensions: ['.js', '.ts'], + plugins: [ + [ + 'module-resolver', + { + alias: { + '^@cennznet/api(.*)': './packages/api/src\\1', + '^@cennznet/types(.*)': './packages/types/src\\1', + '^@cennznet/util(.*)': './packages/util/src\\1', + }, + }, + ], + ], +}); + +require('./updateStaticMetadata.ts'); diff --git a/scripts/updateStaticMetadata.ts b/scripts/updateStaticMetadata.ts new file mode 100644 index 000000000..fff976789 --- /dev/null +++ b/scripts/updateStaticMetadata.ts @@ -0,0 +1,19 @@ +// Running this file with ~ node scripts/updateStaticMetadata.js will create a staticMetadata.ts on root directory which can used/copied +import * as fs from "fs"; +import { Api } from '../packages/api/src/Api'; +import staticMetadata from "../packages/api/src/staticMetadata"; +import Metadata from "@polkadot/metadata/Metadata"; +async function updateMeta() { + const provider = 'ws://localhost:9944'; // Use Azalea + const api = await Api.create({provider}); + const meta = staticMetadata[`${api.genesisHash.toHex()}-${api.runtimeVersion.specVersion.toNumber()}`]; + const staticMeta = new Metadata(api.registry, meta).toJSON(); + if (api.runtimeMetadata.toJSON() !== staticMeta) { + const newMeta = {}; + newMeta[`${api.genesisHash.toHex()}-${api.runtimeVersion.specVersion.toNumber()}`] = api.runtimeMetadata.toHex(); + const data = `export default ${JSON.stringify(newMeta, null, '\n')};`; + fs.writeFileSync('staticMetadata.ts', data, 'utf-8'); + process.exit() + } +} +updateMeta(); diff --git a/tsconfig.json b/tsconfig.json index 79e2c3a35..6e5c635ec 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,7 +10,8 @@ "experimentalDecorators": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, - "lib": ["ES2017"], + "lib": ["ES2017","es2018", "es2019" + ], "emitDecoratorMetadata": true, "declaration": true, "sourceMap": true, diff --git a/yarn.lock b/yarn.lock index 6aebdb99e..8fea99565 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@babel/cli@^7.0.0": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.10.5.tgz#57df2987c8cf89d0fc7d4b157ec59d7619f1b77a" - integrity sha512-j9H9qSf3kLdM0Ao3aGPbGZ73mEA9XazuupcS6cDGWuiyAcANoguhP0r2Lx32H5JGw4sSSoHG3x/mxVnHgvOoyA== +"@babel/cli@^7.12.1", "@babel/cli@^7.6.2": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.12.1.tgz#e08a0b1cb6fcd4b9eb6a606ba5602c5c0fe24a0c" + integrity sha512-eRJREyrfAJ2r42Iaxe8h3v6yyj1wu9OyosaUHW6UImjGf9ahGL9nsFNh7OCopvtcPL8WnEo7tp78wrZaZ6vG9g== dependencies: commander "^4.0.1" convert-source-map "^1.1.0" @@ -16,23 +16,8 @@ slash "^2.0.0" source-map "^0.5.0" optionalDependencies: - chokidar "^2.1.8" - -"@babel/cli@^7.6.2": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.8.4.tgz#505fb053721a98777b2b175323ea4f090b7d3c1c" - integrity sha512-XXLgAm6LBbaNxaGhMAznXXaxtCWfuv6PIDJ9Alsy9JYTOh+j2jJz+L/162kkfU1j/pTSxK1xGmlwI4pdIMkoag== - dependencies: - 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" - optionalDependencies: - chokidar "^2.1.8" + "@nicolo-ribaudo/chokidar-2" "^2.1.8" + chokidar "^3.4.0" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3": version "7.8.3" @@ -41,6 +26,18 @@ dependencies: "@babel/highlight" "^7.8.3" +"@babel/code-frame@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/compat-data@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0" + integrity sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ== + "@babel/compat-data@^7.8.4": version "7.8.5" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.8.5.tgz#d28ce872778c23551cbb9432fc68d28495b613b9" @@ -50,7 +47,7 @@ invariant "^2.2.4" semver "^5.5.0" -"@babel/core@^7.0.0", "@babel/core@^7.1.0", "@babel/core@^7.6.2", "@babel/core@^7.7.4", "@babel/core@^7.8.4": +"@babel/core@^7.1.0": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.4.tgz#d496799e5c12195b3602d0fddd77294e3e38e80e" integrity sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA== @@ -71,6 +68,37 @@ semver "^5.4.1" source-map "^0.5.0" +"@babel/core@^7.11.0", "@babel/core@^7.11.6", "@babel/core@^7.6.2", "@babel/core@^7.7.5", "@babel/core@^7.8.4": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" + integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.1" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.1" + "@babel/parser" "^7.12.3" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468" + integrity sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg== + dependencies: + "@babel/types" "^7.12.1" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/generator@^7.4.0", "@babel/generator@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.4.tgz#35bbc74486956fe4251829f9f6c48330e8d0985e" @@ -81,6 +109,13 @@ lodash "^4.17.13" source-map "^0.5.0" +"@babel/helper-annotate-as-pure@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" + integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA== + dependencies: + "@babel/types" "^7.10.4" + "@babel/helper-annotate-as-pure@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" @@ -88,6 +123,14 @@ dependencies: "@babel/types" "^7.8.3" +"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" + integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.10.4" + "@babel/types" "^7.10.4" + "@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503" @@ -105,6 +148,16 @@ "@babel/traverse" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/helper-compilation-targets@^7.12.1", "@babel/helper-compilation-targets@^7.9.6": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.1.tgz#310e352888fbdbdd8577be8dfdd2afb9e7adcf50" + integrity sha512-jtBEif7jsPwP27GPHs06v4WBV0KrE8a/P7n0N0sSvHn2hwUCYnolP/CLmz51IzAW4NlN+HuoBtb9QcwnRo9F/g== + dependencies: + "@babel/compat-data" "^7.12.1" + "@babel/helper-validator-option" "^7.12.1" + browserslist "^4.12.0" + semver "^5.5.0" + "@babel/helper-compilation-targets@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.4.tgz#03d7ecd454b7ebe19a254f76617e61770aed2c88" @@ -116,17 +169,25 @@ levenary "^1.1.1" semver "^5.5.0" -"@babel/helper-create-class-features-plugin@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.3.tgz#5b94be88c255f140fd2c10dd151e7f98f4bff397" - integrity sha512-qmp4pD7zeTxsv0JNecSBsEmG1ei2MqwJq4YQcK3ZWm/0t07QstWfvuV/vm3Qt5xNMFETn2SZqpMx2MQzbtq+KA== +"@babel/helper-create-class-features-plugin@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e" + integrity sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w== dependencies: - "@babel/helper-function-name" "^7.8.3" - "@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.8.3" - "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-member-expression-to-functions" "^7.12.1" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.10.4" + +"@babel/helper-create-regexp-features-plugin@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz#18b1302d4677f9dc4740fe8c9ed96680e29d37e8" + integrity sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-regex" "^7.10.4" + regexpu-core "^4.7.1" "@babel/helper-create-regexp-features-plugin@^7.8.3": version "7.8.3" @@ -136,6 +197,15 @@ "@babel/helper-regex" "^7.8.3" regexpu-core "^4.6.0" +"@babel/helper-define-map@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" + integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/types" "^7.10.5" + lodash "^4.17.19" + "@babel/helper-define-map@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15" @@ -145,6 +215,13 @@ "@babel/types" "^7.8.3" lodash "^4.17.13" +"@babel/helper-explode-assignable-expression@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz#8006a466695c4ad86a2a5f2fb15b5f2c31ad5633" + integrity sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA== + dependencies: + "@babel/types" "^7.12.1" + "@babel/helper-explode-assignable-expression@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982" @@ -153,6 +230,15 @@ "@babel/traverse" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/helper-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" + integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + "@babel/helper-function-name@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca" @@ -162,6 +248,13 @@ "@babel/template" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/helper-get-function-arity@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" + integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== + dependencies: + "@babel/types" "^7.10.4" + "@babel/helper-get-function-arity@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" @@ -169,6 +262,13 @@ dependencies: "@babel/types" "^7.8.3" +"@babel/helper-hoist-variables@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" + integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA== + dependencies: + "@babel/types" "^7.10.4" + "@babel/helper-hoist-variables@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134" @@ -176,6 +276,13 @@ dependencies: "@babel/types" "^7.8.3" +"@babel/helper-member-expression-to-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c" + integrity sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ== + dependencies: + "@babel/types" "^7.12.1" + "@babel/helper-member-expression-to-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" @@ -183,13 +290,35 @@ dependencies: "@babel/types" "^7.8.3" -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.8.3": +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz#1644c01591a15a2f084dd6d092d9430eb1d1216c" + integrity sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-module-imports@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg== dependencies: "@babel/types" "^7.8.3" +"@babel/helper-module-transforms@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" + integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== + dependencies: + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-simple-access" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/helper-validator-identifier" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + lodash "^4.17.19" + "@babel/helper-module-transforms@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz#d305e35d02bee720fbc2c3c3623aa0c316c01590" @@ -202,6 +331,13 @@ "@babel/types" "^7.8.3" lodash "^4.17.13" +"@babel/helper-optimise-call-expression@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" + integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== + dependencies: + "@babel/types" "^7.10.4" + "@babel/helper-optimise-call-expression@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" @@ -219,6 +355,13 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== +"@babel/helper-regex@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0" + integrity sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg== + dependencies: + lodash "^4.17.19" + "@babel/helper-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.8.3.tgz#139772607d51b93f23effe72105b319d2a4c6965" @@ -226,6 +369,15 @@ dependencies: lodash "^4.17.13" +"@babel/helper-remap-async-to-generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd" + integrity sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-wrap-function" "^7.10.4" + "@babel/types" "^7.12.1" + "@babel/helper-remap-async-to-generator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86" @@ -237,6 +389,16 @@ "@babel/traverse" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/helper-replace-supers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz#f15c9cc897439281891e11d5ce12562ac0cf3fa9" + integrity sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.12.1" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + "@babel/helper-replace-supers@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.3.tgz#91192d25f6abbcd41da8a989d4492574fb1530bc" @@ -247,6 +409,13 @@ "@babel/traverse" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/helper-simple-access@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" + integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== + dependencies: + "@babel/types" "^7.12.1" + "@babel/helper-simple-access@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" @@ -262,6 +431,20 @@ dependencies: "@babel/types" "^7.11.0" +"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" + integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" + integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== + dependencies: + "@babel/types" "^7.11.0" + "@babel/helper-split-export-declaration@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" @@ -274,6 +457,21 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== +"@babel/helper-validator-option@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" + integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== + +"@babel/helper-wrap-function@^7.10.4": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz#3332339fc4d1fbbf1c27d7958c27d34708e990d9" + integrity sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + "@babel/helper-wrap-function@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610" @@ -284,6 +482,15 @@ "@babel/traverse" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/helpers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.1.tgz#8a8261c1d438ec18cb890434df4ec768734c1e79" + integrity sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g== + dependencies: + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + "@babel/helpers@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.4.tgz#754eb3ee727c165e0a240d6c207de7c455f36f73" @@ -293,6 +500,15 @@ "@babel/traverse" "^7.8.4" "@babel/types" "^7.8.3" +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/highlight@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" @@ -307,7 +523,21 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.4.tgz#d1dbe64691d60358a974295fa53da074dd2ce8e8" integrity sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw== -"@babel/plugin-proposal-async-generator-functions@^7.2.0", "@babel/plugin-proposal-async-generator-functions@^7.8.3": +"@babel/parser@^7.10.4", "@babel/parser@^7.12.1", "@babel/parser@^7.12.3": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" + integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== + +"@babel/plugin-proposal-async-generator-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e" + integrity sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.12.1" + "@babel/plugin-syntax-async-generators" "^7.8.0" + +"@babel/plugin-proposal-async-generator-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" integrity sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw== @@ -316,22 +546,30 @@ "@babel/helper-remap-async-to-generator" "^7.8.3" "@babel/plugin-syntax-async-generators" "^7.8.0" -"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.5.5": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" - integrity sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA== +"@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.5.5", "@babel/plugin-proposal-class-properties@^7.8.3": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" + integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-decorators@^7.1.0", "@babel/plugin-proposal-decorators@^7.6.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e" - integrity sha512-e3RvdvS4qPJVTe288DlXjwKflpfy1hr0j5dz5WpIYYeP7vQZg2WfAEIp8k5/Lwis/m5REXEteIz6rrcDtXXG7w== +"@babel/plugin-proposal-decorators@^7.6.0", "@babel/plugin-proposal-decorators@^7.8.3": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz#59271439fed4145456c41067450543aee332d15f" + integrity sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-decorators" "^7.8.3" + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-decorators" "^7.12.1" + +"@babel/plugin-proposal-dynamic-import@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc" + integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" "@babel/plugin-proposal-dynamic-import@^7.8.3": version "7.8.3" @@ -341,7 +579,23 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-dynamic-import" "^7.8.0" -"@babel/plugin-proposal-json-strings@^7.2.0", "@babel/plugin-proposal-json-strings@^7.8.3": +"@babel/plugin-proposal-export-namespace-from@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4" + integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" + integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.0" + +"@babel/plugin-proposal-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b" integrity sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q== @@ -349,6 +603,22 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-json-strings" "^7.8.0" +"@babel/plugin-proposal-logical-assignment-operators@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751" + integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" + integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" @@ -365,7 +635,24 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.3.4", "@babel/plugin-proposal-object-rest-spread@^7.6.2", "@babel/plugin-proposal-object-rest-spread@^7.8.3": +"@babel/plugin-proposal-numeric-separator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" + integrity sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.6.2": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" + integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.12.1" + +"@babel/plugin-proposal-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz#eb5ae366118ddca67bed583b53d7554cad9951bb" integrity sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA== @@ -373,7 +660,15 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" -"@babel/plugin-proposal-optional-catch-binding@^7.2.0", "@babel/plugin-proposal-optional-catch-binding@^7.8.3": +"@babel/plugin-proposal-optional-catch-binding@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942" + integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + +"@babel/plugin-proposal-optional-catch-binding@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9" integrity sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw== @@ -381,6 +676,15 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" +"@babel/plugin-proposal-optional-chaining@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797" + integrity sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-proposal-optional-chaining@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz#ae10b3214cb25f7adb1f3bc87ba42ca10b7e2543" @@ -390,14 +694,30 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.0" "@babel/plugin-proposal-pipeline-operator@^7.5.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.8.3.tgz#c3569228e7466f91bfff7f1c1ae18fb5d36b3097" - integrity sha512-Z0qV3aUYoLUAnVLdfLTlz/GJYfcrbX7Mhrp897Twik29wQseAFAAXQ4TPvN1oswVBHdN74sLPIn9HVfTXtjuQA== + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.12.1.tgz#4bd377bc7e5be92f22f1c08b3f3963636bd8f4a1" + integrity sha512-iloNp4xu8YV8e/mZgGjePg9be1VkJSxQWIplRwgQtQPtF26ar3cHXL4sV8Fujlm2mm/Tu/WiA+FU+Fp7QVP7/g== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-pipeline-operator" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-pipeline-operator" "^7.12.1" + +"@babel/plugin-proposal-private-methods@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389" + integrity sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-unicode-property-regex@^7.2.0", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": +"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072" + integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-unicode-property-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz#b646c3adea5f98800c9ab45105ac34d06cd4a47f" integrity sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ== @@ -405,82 +725,124 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-async-generators@^7.2.0", "@babel/plugin-syntax-async-generators@^7.8.0": +"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-decorators@^7.8.3": +"@babel/plugin-syntax-bigint@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.8.3.tgz#8d2c15a9f1af624b0025f961682a9d53d3001bda" - integrity sha512-8Hg4dNNT9/LcA1zQlfwuKR8BUc/if7Q7NkTam9sGTcJphLwpf2g4S42uhspQrIrR+dpzE0dtTqBVFoHl8GtnnQ== + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.8.0": +"@babel/plugin-syntax-class-properties@^7.12.1", "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978" + integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-decorators@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz#81a8b535b284476c41be6de06853a8802b98c5dd" + integrity sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-json-strings@^7.2.0", "@babel/plugin-syntax-json-strings@^7.8.0": +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.2.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94" - integrity sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A== +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.8.3": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" + integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.10.4": +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0": +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-catch-binding@^7.2.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.0": +"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-chaining@^7.8.0": +"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-pipeline-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.8.3.tgz#945d9f13958408e2b1048f6ebe03f370d390aaca" - integrity sha512-GhiBvlXZLWeP+MjKaEv33KmiR/QMCv4iCwz1AuuAp7pHxBvOxxyQmIPukh+N/py6PRLYG10bvRCNeenG34QbDA== +"@babel/plugin-syntax-pipeline-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.12.1.tgz#6186f1d5feb86d315a920a5056a86c991bf4b7f4" + integrity sha512-NazCTl1P9Kp+790g7gDRQEvhU0+OYbZVsuW45ThfgVCdUyhtxzFJeFrzY6BX/u/NfFyXWbKAIl6wR0PhJWwyDA== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-top-level-await@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" + integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-top-level-await@^7.8.3": version "7.8.3" @@ -489,21 +851,37 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-typescript@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.8.3.tgz#c1f659dda97711a569cef75275f7e15dcaa6cabc" - integrity sha512-GO1MQ/SGGGoiEXY0e0bSpHimJvxqB7lktLLIq2pv8xG7WZ8IMEle74jIe1FhprHBWjwjZtXHkycDLZXIWM5Wfg== +"@babel/plugin-syntax-typescript@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz#460ba9d77077653803c3dd2e673f76d66b4029e5" + integrity sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-arrow-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3" + integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-arrow-functions@^7.2.0", "@babel/plugin-transform-arrow-functions@^7.8.3": +"@babel/plugin-transform-arrow-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6" integrity sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg== dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-async-to-generator@^7.3.4", "@babel/plugin-transform-async-to-generator@^7.8.3": +"@babel/plugin-transform-async-to-generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" + integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A== + dependencies: + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.12.1" + +"@babel/plugin-transform-async-to-generator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086" integrity sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ== @@ -512,14 +890,28 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/helper-remap-async-to-generator" "^7.8.3" -"@babel/plugin-transform-block-scoped-functions@^7.2.0", "@babel/plugin-transform-block-scoped-functions@^7.8.3": +"@babel/plugin-transform-block-scoped-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" + integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-block-scoped-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3" integrity sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg== dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-block-scoping@^7.3.4", "@babel/plugin-transform-block-scoping@^7.8.3": +"@babel/plugin-transform-block-scoping@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1" + integrity sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-block-scoping@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a" integrity sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w== @@ -527,7 +919,21 @@ "@babel/helper-plugin-utils" "^7.8.3" lodash "^4.17.13" -"@babel/plugin-transform-classes@^7.3.4", "@babel/plugin-transform-classes@^7.8.3": +"@babel/plugin-transform-classes@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6" + integrity sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-define-map" "^7.10.4" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.10.4" + globals "^11.1.0" + +"@babel/plugin-transform-classes@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.3.tgz#46fd7a9d2bb9ea89ce88720477979fe0d71b21b8" integrity sha512-SjT0cwFJ+7Rbr1vQsvphAHwUHvSUPmMjMU/0P59G8U2HLFqSa082JO7zkbDNWs9kH/IUqpHI6xWNesGf8haF1w== @@ -541,21 +947,43 @@ "@babel/helper-split-export-declaration" "^7.8.3" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.2.0", "@babel/plugin-transform-computed-properties@^7.8.3": +"@babel/plugin-transform-computed-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852" + integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-computed-properties@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b" integrity sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA== dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-destructuring@^7.2.0", "@babel/plugin-transform-destructuring@^7.8.3": +"@babel/plugin-transform-destructuring@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847" + integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-destructuring@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz#20ddfbd9e4676906b1056ee60af88590cc7aaa0b" integrity sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ== dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-dotall-regex@^7.2.0", "@babel/plugin-transform-dotall-regex@^7.8.3": +"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975" + integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-dotall-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" integrity sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw== @@ -563,14 +991,29 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-duplicate-keys@^7.2.0", "@babel/plugin-transform-duplicate-keys@^7.8.3": +"@babel/plugin-transform-duplicate-keys@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" + integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-duplicate-keys@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1" integrity sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ== dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-exponentiation-operator@^7.2.0", "@babel/plugin-transform-exponentiation-operator@^7.8.3": +"@babel/plugin-transform-exponentiation-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" + integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-exponentiation-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7" integrity sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ== @@ -578,14 +1021,29 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-for-of@^7.2.0", "@babel/plugin-transform-for-of@^7.8.4": +"@babel/plugin-transform-for-of@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa" + integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-for-of@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.4.tgz#6fe8eae5d6875086ee185dd0b098a8513783b47d" integrity sha512-iAXNlOWvcYUYoV8YIxwS7TxGRJcxyl8eQCfT+A5j8sKUzRFvJdcyjp97jL2IghWSRDaL2PU2O2tX8Cu9dTBq5A== dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-function-name@^7.2.0", "@babel/plugin-transform-function-name@^7.8.3": +"@babel/plugin-transform-function-name@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667" + integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-function-name@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b" integrity sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ== @@ -593,13 +1051,27 @@ "@babel/helper-function-name" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-literals@^7.2.0", "@babel/plugin-transform-literals@^7.8.3": +"@babel/plugin-transform-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" + integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1" integrity sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A== dependencies: "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-transform-member-expression-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad" + integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-member-expression-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410" @@ -607,7 +1079,16 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-modules-amd@^7.2.0", "@babel/plugin-transform-modules-amd@^7.8.3": +"@babel/plugin-transform-modules-amd@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9" + integrity sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ== + dependencies: + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-amd@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz#65606d44616b50225e76f5578f33c568a0b876a5" integrity sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ== @@ -616,7 +1097,17 @@ "@babel/helper-plugin-utils" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-commonjs@^7.2.0", "@babel/plugin-transform-modules-commonjs@^7.8.3": +"@babel/plugin-transform-modules-commonjs@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648" + integrity sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag== + dependencies: + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-simple-access" "^7.12.1" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz#df251706ec331bd058a34bdd72613915f82928a5" integrity sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg== @@ -626,7 +1117,18 @@ "@babel/helper-simple-access" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-systemjs@^7.3.4", "@babel/plugin-transform-modules-systemjs@^7.8.3": +"@babel/plugin-transform-modules-systemjs@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086" + integrity sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q== + dependencies: + "@babel/helper-hoist-variables" "^7.10.4" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-identifier" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz#d8bbf222c1dbe3661f440f2f00c16e9bb7d0d420" integrity sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg== @@ -636,7 +1138,15 @@ "@babel/helper-plugin-utils" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-umd@^7.2.0", "@babel/plugin-transform-modules-umd@^7.8.3": +"@babel/plugin-transform-modules-umd@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902" + integrity sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q== + dependencies: + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-modules-umd@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz#592d578ce06c52f5b98b02f913d653ffe972661a" integrity sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw== @@ -644,21 +1154,43 @@ "@babel/helper-module-transforms" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-named-capturing-groups-regex@^7.3.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753" + integrity sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" integrity sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.8.3" -"@babel/plugin-transform-new-target@^7.0.0", "@babel/plugin-transform-new-target@^7.8.3": +"@babel/plugin-transform-new-target@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0" + integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-new-target@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43" integrity sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw== dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-object-super@^7.2.0", "@babel/plugin-transform-object-super@^7.8.3": +"@babel/plugin-transform-object-super@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e" + integrity sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" + +"@babel/plugin-transform-object-super@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725" integrity sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ== @@ -666,7 +1198,14 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/helper-replace-supers" "^7.8.3" -"@babel/plugin-transform-parameters@^7.2.0", "@babel/plugin-transform-parameters@^7.8.4": +"@babel/plugin-transform-parameters@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d" + integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-parameters@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.4.tgz#1d5155de0b65db0ccf9971165745d3bb990d77d3" integrity sha512-IsS3oTxeTsZlE5KqzTbcC2sV0P9pXdec53SU+Yxv7o/6dvGM5AkTotQKhoSffhNgZ/dftsSiOoxy7evCYJXzVA== @@ -675,6 +1214,13 @@ "@babel/helper-get-function-arity" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-transform-property-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" + integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-property-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263" @@ -682,13 +1228,27 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-regenerator@^7.3.4", "@babel/plugin-transform-regenerator@^7.8.3": +"@babel/plugin-transform-regenerator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz#5f0a28d842f6462281f06a964e88ba8d7ab49753" + integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-regenerator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.3.tgz#b31031e8059c07495bf23614c97f3d9698bc6ec8" integrity sha512-qt/kcur/FxrQrzFR432FGZznkVAjiyFtCOANjkAKwCbt465L6ZCiUQh2oMYGU3Wo8LRFJxNDFwWn106S5wVUNA== dependencies: regenerator-transform "^0.14.0" +"@babel/plugin-transform-reserved-words@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8" + integrity sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-reserved-words@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5" @@ -696,31 +1256,54 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-runtime@^7.4.0", "@babel/plugin-transform-runtime@^7.6.2": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.8.3.tgz#c0153bc0a5375ebc1f1591cb7eea223adea9f169" - integrity sha512-/vqUt5Yh+cgPZXXjmaG9NT8aVfThKk7G4OqkVhrXqwsC5soMn/qTCxs36rZ2QFhpfTJcjw4SNDIZ4RUb8OL4jQ== +"@babel/plugin-transform-runtime@^7.11.0", "@babel/plugin-transform-runtime@^7.6.2": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz#04b792057eb460389ff6a4198e377614ea1e7ba5" + integrity sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg== dependencies: - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-shorthand-properties@^7.2.0", "@babel/plugin-transform-shorthand-properties@^7.8.3": +"@babel/plugin-transform-shorthand-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz#0bf9cac5550fce0cfdf043420f661d645fdc75e3" + integrity sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-shorthand-properties@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8" integrity sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w== dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-spread@^7.2.0", "@babel/plugin-transform-spread@^7.8.3": +"@babel/plugin-transform-spread@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e" + integrity sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + +"@babel/plugin-transform-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8" integrity sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g== dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-sticky-regex@^7.2.0", "@babel/plugin-transform-sticky-regex@^7.8.3": +"@babel/plugin-transform-sticky-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz#5c24cf50de396d30e99afc8d1c700e8bce0f5caf" + integrity sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-regex" "^7.10.4" + +"@babel/plugin-transform-sticky-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100" integrity sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw== @@ -728,7 +1311,14 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/helper-regex" "^7.8.3" -"@babel/plugin-transform-template-literals@^7.2.0", "@babel/plugin-transform-template-literals@^7.8.3": +"@babel/plugin-transform-template-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz#b43ece6ed9a79c0c71119f576d299ef09d942843" + integrity sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-template-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80" integrity sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ== @@ -736,23 +1326,45 @@ "@babel/helper-annotate-as-pure" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-typeof-symbol@^7.2.0", "@babel/plugin-transform-typeof-symbol@^7.8.4": +"@babel/plugin-transform-typeof-symbol@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz#9ca6be343d42512fbc2e68236a82ae64bc7af78a" + integrity sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-typeof-symbol@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412" integrity sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg== dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-typescript@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.8.3.tgz#be6f01a7ef423be68e65ace1f04fc407e6d88917" - integrity sha512-Ebj230AxcrKGZPKIp4g4TdQLrqX95TobLUWKd/CwG7X1XHUH1ZpkpFvXuXqWbtGRWb7uuEWNlrl681wsOArAdQ== +"@babel/plugin-transform-typescript@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz#d92cc0af504d510e26a754a7dbc2e5c8cd9c7ab4" + integrity sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-typescript" "^7.8.3" + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-typescript" "^7.12.1" + +"@babel/plugin-transform-unicode-escapes@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz#5232b9f81ccb07070b7c3c36c67a1b78f1845709" + integrity sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-unicode-regex@^7.2.0", "@babel/plugin-transform-unicode-regex@^7.8.3": +"@babel/plugin-transform-unicode-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb" + integrity sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-unicode-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad" integrity sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw== @@ -760,56 +1372,79 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/preset-env@^7.0.0 < 7.4.0": - version "7.3.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.3.4.tgz#887cf38b6d23c82f19b5135298bdb160062e33e1" - integrity sha512-2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA== +"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.6.2": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" + integrity sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg== dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.2.0" - "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.3.4" - "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.2.0" - "@babel/plugin-syntax-async-generators" "^7.2.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.3.4" - "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.3.4" - "@babel/plugin-transform-classes" "^7.3.4" - "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.2.0" - "@babel/plugin-transform-dotall-regex" "^7.2.0" - "@babel/plugin-transform-duplicate-keys" "^7.2.0" - "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.2.0" - "@babel/plugin-transform-function-name" "^7.2.0" - "@babel/plugin-transform-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.2.0" - "@babel/plugin-transform-modules-commonjs" "^7.2.0" - "@babel/plugin-transform-modules-systemjs" "^7.3.4" - "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.3.0" - "@babel/plugin-transform-new-target" "^7.0.0" - "@babel/plugin-transform-object-super" "^7.2.0" - "@babel/plugin-transform-parameters" "^7.2.0" - "@babel/plugin-transform-regenerator" "^7.3.4" - "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.2.0" - "@babel/plugin-transform-sticky-regex" "^7.2.0" - "@babel/plugin-transform-template-literals" "^7.2.0" - "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.2.0" - browserslist "^4.3.4" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.3.0" + "@babel/compat-data" "^7.12.1" + "@babel/helper-compilation-targets" "^7.12.1" + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-option" "^7.12.1" + "@babel/plugin-proposal-async-generator-functions" "^7.12.1" + "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-dynamic-import" "^7.12.1" + "@babel/plugin-proposal-export-namespace-from" "^7.12.1" + "@babel/plugin-proposal-json-strings" "^7.12.1" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" + "@babel/plugin-proposal-numeric-separator" "^7.12.1" + "@babel/plugin-proposal-object-rest-spread" "^7.12.1" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.1" + "@babel/plugin-proposal-private-methods" "^7.12.1" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.12.1" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@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.12.1" + "@babel/plugin-transform-arrow-functions" "^7.12.1" + "@babel/plugin-transform-async-to-generator" "^7.12.1" + "@babel/plugin-transform-block-scoped-functions" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.1" + "@babel/plugin-transform-classes" "^7.12.1" + "@babel/plugin-transform-computed-properties" "^7.12.1" + "@babel/plugin-transform-destructuring" "^7.12.1" + "@babel/plugin-transform-dotall-regex" "^7.12.1" + "@babel/plugin-transform-duplicate-keys" "^7.12.1" + "@babel/plugin-transform-exponentiation-operator" "^7.12.1" + "@babel/plugin-transform-for-of" "^7.12.1" + "@babel/plugin-transform-function-name" "^7.12.1" + "@babel/plugin-transform-literals" "^7.12.1" + "@babel/plugin-transform-member-expression-literals" "^7.12.1" + "@babel/plugin-transform-modules-amd" "^7.12.1" + "@babel/plugin-transform-modules-commonjs" "^7.12.1" + "@babel/plugin-transform-modules-systemjs" "^7.12.1" + "@babel/plugin-transform-modules-umd" "^7.12.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" + "@babel/plugin-transform-new-target" "^7.12.1" + "@babel/plugin-transform-object-super" "^7.12.1" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-transform-property-literals" "^7.12.1" + "@babel/plugin-transform-regenerator" "^7.12.1" + "@babel/plugin-transform-reserved-words" "^7.12.1" + "@babel/plugin-transform-shorthand-properties" "^7.12.1" + "@babel/plugin-transform-spread" "^7.12.1" + "@babel/plugin-transform-sticky-regex" "^7.12.1" + "@babel/plugin-transform-template-literals" "^7.12.1" + "@babel/plugin-transform-typeof-symbol" "^7.12.1" + "@babel/plugin-transform-unicode-escapes" "^7.12.1" + "@babel/plugin-transform-unicode-regex" "^7.12.1" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.12.1" + core-js-compat "^3.6.2" + semver "^5.5.0" -"@babel/preset-env@^7.6.2", "@babel/preset-env@^7.7.6": +"@babel/preset-env@^7.7.6": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.8.4.tgz#9dac6df5f423015d3d49b6e9e5fa3413e4a72c4e" integrity sha512-HihCgpr45AnSOHRbS5cWNTINs0TwaR8BS8xIIH+QwiW8cKL0llV91njQMpeMReEPVs+1Ao0x3RLEBLtt1hOq4w== @@ -872,33 +1507,36 @@ levenary "^1.1.1" semver "^5.5.0" +"@babel/preset-modules@^0.1.3": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" + integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== + 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" + "@babel/preset-typescript@^7.6.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.8.3.tgz#90af8690121beecd9a75d0cc26c6be39d1595d13" - integrity sha512-qee5LgPGui9zQ0jR1TeU5/fP9L+ovoArklEqY12ek8P/wV5ZeM/VYSQYwICeoT6FfpJTekG9Ilay5PhwsOpMHA== + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz#86480b483bb97f75036e8864fe404cc782cc311b" + integrity sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-transform-typescript" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-typescript" "^7.12.1" -"@babel/register@^7.6.2", "@babel/register@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.8.3.tgz#5d5d30cfcc918437535d724b8ac1e4a60c5db1f8" - integrity sha512-t7UqebaWwo9nXWClIPLPloa5pN33A2leVs8Hf0e9g9YwUP8/H9NeR7DJU+4CXo23QtjChQv5a3DjEtT83ih1rg== +"@babel/register@^7.6.2": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.12.1.tgz#cdb087bdfc4f7241c03231f22e15d211acf21438" + integrity sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q== dependencies: find-cache-dir "^2.0.0" - lodash "^4.17.13" + lodash "^4.17.19" make-dir "^2.1.0" pirates "^4.0.0" source-map-support "^0.5.16" -"@babel/runtime-corejs2@^7.2.0": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.8.4.tgz#e4ed23a8be40fa26b97fb649deaba8144c987593" - integrity sha512-7jU2FgNqNHX6yTuU/Dr/vH5/O8eVL9U85MG5aDw1LzGfCvvhXC1shdXfVzCQDsoY967yrAKeLujRv7l8BU+dZA== - dependencies: - core-js "^2.6.5" - regenerator-runtime "^0.13.2" - "@babel/runtime-corejs3@^7.7.6": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.8.4.tgz#ccc4e042e2fae419c67fa709567e5d2179ed3940" @@ -907,20 +1545,29 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.2" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.6.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.4.tgz#d79f5a2040f7caa24d53e563aad49cbc05581308" - integrity sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ== +"@babel/runtime@^7.11.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.6.2", "@babel/runtime@^7.8.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" + integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== dependencies: - regenerator-runtime "^0.13.2" + regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.4": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.0.tgz#f10245877042a815e07f7e693faff0ae9d3a2aac" - integrity sha512-qArkXsjJq7H+T86WrIFV0Fnu/tNOkZ4cgXmjkzAu3b/58D5mFIO8JH/y77t7C9q0OdDRdh9s7Ue5GasYssxtXw== +"@babel/runtime@^7.11.2": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.0.tgz#98bd7666186969c04be893d747cf4a6c6c8fa6b0" + integrity sha512-lS4QLXQ2Vbw2ubfQjeQcn+BZgZ5+ROHW9f+DWjEp5Y+NHYmkRGKqHSJ1tuhbUauKu2nhZNTBIvsIQ8dXfY5Gjw== dependencies: regenerator-runtime "^0.13.4" +"@babel/template@^7.10.4", "@babel/template@^7.3.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" + integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + "@babel/template@^7.4.0", "@babel/template@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.3.tgz#e02ad04fe262a657809327f578056ca15fd4d1b8" @@ -930,6 +1577,21 @@ "@babel/parser" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/traverse@^7.0.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.1.tgz#941395e0c5cc86d5d3e75caa095d3924526f0c1e" + integrity sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.1" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.12.1" + "@babel/types" "^7.12.1" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.4.tgz#f0845822365f9d5b0e312ed3959d3f827f869e3c" @@ -954,6 +1616,15 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.12.1", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae" + integrity sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@babel/types@^7.11.0": version "7.11.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" @@ -963,10 +1634,10 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" -"@cennznet/cennznut-wasm@^0.0.1-dev.0": - version "0.0.1-dev.0" - resolved "https://registry.yarnpkg.com/@cennznet/cennznut-wasm/-/cennznut-wasm-0.0.1-dev.0.tgz#ca14f8cdc24fc3865424303510492d96a166de0b" - integrity sha512-twB1kO8SjdsGRf4epz7aq7LhELQky2ed9tVE8hB2VykXNwBvgJhmBdRDOu5HSSxwiR7WNdJk0LwPfVLnhE6W7g== +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== "@cnakazawa/watch@^1.0.3": version "1.0.4" @@ -976,6 +1647,22 @@ exec-sh "^0.3.2" minimist "^1.2.0" +"@eslint/eslintrc@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.1.3.tgz#7d1a2b2358552cc04834c0979bd4275362e37085" + integrity sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + lodash "^4.17.19" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + "@evocateur/libnpmaccess@^3.1.2": version "3.1.2" resolved "https://registry.yarnpkg.com/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz#ecf7f6ce6b004e9f942b098d92200be4a4b1c845" @@ -1050,6 +1737,31 @@ unique-filename "^1.1.1" which "^1.3.1" +"@iarna/cli@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@iarna/cli/-/cli-1.2.0.tgz#0f7af5e851afe895104583c4ca07377a8094d641" + integrity sha512-ukITQAqVs2n9HGmn3car/Ir7d3ta650iXhrG7pjr3EWdFmJuuOVWgYsu7ftsSe5VifEFFhjxVuX9+8F7L8hwcA== + dependencies: + signal-exit "^3.0.2" + update-notifier "^2.2.0" + yargs "^8.0.2" + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" + integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== + "@jest/console@^24.7.1", "@jest/console@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" @@ -1059,6 +1771,18 @@ chalk "^2.0.1" slash "^2.0.0" +"@jest/console@^26.5.2": + version "26.5.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.5.2.tgz#94fc4865b1abed7c352b5e21e6c57be4b95604a6" + integrity sha512-lJELzKINpF1v74DXHbCRIkQ/+nUV1M+ntj+X1J8LxCgpmJZjfLmhFejiMSbjjD66fayxl5Z06tbs3HMyuik6rw== + dependencies: + "@jest/types" "^26.5.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.5.2" + jest-util "^26.5.2" + slash "^3.0.0" + "@jest/core@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" @@ -1093,6 +1817,40 @@ slash "^2.0.0" strip-ansi "^5.0.0" +"@jest/core@^26.5.3": + version "26.5.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.5.3.tgz#712ed4adb64c3bda256a3f400ff1d3eb2a031f13" + integrity sha512-CiU0UKFF1V7KzYTVEtFbFmGLdb2g4aTtY0WlyUfLgj/RtoTnJFhh50xKKr7OYkdmBUlGFSa2mD1TU3UZ6OLd4g== + dependencies: + "@jest/console" "^26.5.2" + "@jest/reporters" "^26.5.3" + "@jest/test-result" "^26.5.2" + "@jest/transform" "^26.5.2" + "@jest/types" "^26.5.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.5.2" + jest-config "^26.5.3" + jest-haste-map "^26.5.2" + jest-message-util "^26.5.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.5.2" + jest-resolve-dependencies "^26.5.3" + jest-runner "^26.5.3" + jest-runtime "^26.5.3" + jest-snapshot "^26.5.3" + jest-util "^26.5.2" + jest-validate "^26.5.3" + jest-watcher "^26.5.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + "@jest/environment@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" @@ -1103,6 +1861,16 @@ "@jest/types" "^24.9.0" jest-mock "^24.9.0" +"@jest/environment@^26.5.2": + version "26.5.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.5.2.tgz#eba3cfc698f6e03739628f699c28e8a07f5e65fe" + integrity sha512-YjhCD/Zhkz0/1vdlS/QN6QmuUdDkpgBdK4SdiVg4Y19e29g4VQYN5Xg8+YuHjdoWGY7wJHMxc79uDTeTOy9Ngw== + dependencies: + "@jest/fake-timers" "^26.5.2" + "@jest/types" "^26.5.2" + "@types/node" "*" + jest-mock "^26.5.2" + "@jest/fake-timers@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" @@ -1112,6 +1880,27 @@ jest-message-util "^24.9.0" jest-mock "^24.9.0" +"@jest/fake-timers@^26.5.2": + version "26.5.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.5.2.tgz#1291ac81680ceb0dc7daa1f92c059307eea6400a" + integrity sha512-09Hn5Oraqt36V1akxQeWMVL0fR9c6PnEhpgLaYvREXZJAh2H2Y+QLCsl0g7uMoJeoWJAuz4tozk1prbR1Fc1sw== + dependencies: + "@jest/types" "^26.5.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.5.2" + jest-mock "^26.5.2" + jest-util "^26.5.2" + +"@jest/globals@^26.5.3": + version "26.5.3" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.5.3.tgz#90769b40e0af3fa0b28f6d8c5bbe3712467243fd" + integrity sha512-7QztI0JC2CuB+Wx1VdnOUNeIGm8+PIaqngYsZXQCkH2QV0GFqzAYc9BZfU0nuqA6cbYrWh5wkuMzyii3P7deug== + dependencies: + "@jest/environment" "^26.5.2" + "@jest/types" "^26.5.2" + expect "^26.5.3" + "@jest/reporters@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" @@ -1139,6 +1928,38 @@ source-map "^0.6.0" string-length "^2.0.0" +"@jest/reporters@^26.5.3": + version "26.5.3" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.5.3.tgz#e810e9c2b670f33f1c09e9975749260ca12f1c17" + integrity sha512-X+vR0CpfMQzYcYmMFKNY9n4jklcb14Kffffp7+H/MqitWnb0440bW2L76NGWKAa+bnXhNoZr+lCVtdtPmfJVOQ== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.5.2" + "@jest/test-result" "^26.5.2" + "@jest/transform" "^26.5.2" + "@jest/types" "^26.5.2" + 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.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.5.2" + jest-resolve "^26.5.2" + jest-util "^26.5.2" + jest-worker "^26.5.0" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^6.0.1" + optionalDependencies: + node-notifier "^8.0.0" + "@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" @@ -1148,6 +1969,15 @@ graceful-fs "^4.1.15" source-map "^0.6.0" +"@jest/source-map@^26.5.0": + version "26.5.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.5.0.tgz#98792457c85bdd902365cd2847b58fff05d96367" + integrity sha512-jWAw9ZwYHJMe9eZq/WrsHlwF8E3hM9gynlcDpOyCb9bR8wEd9ZNBZCi7/jZyzHxC7t3thZ10gO2IDhu0bPKS5g== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + "@jest/test-result@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" @@ -1157,6 +1987,16 @@ "@jest/types" "^24.9.0" "@types/istanbul-lib-coverage" "^2.0.0" +"@jest/test-result@^26.5.2": + version "26.5.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.5.2.tgz#cc1a44cfd4db2ecee3fb0bc4e9fe087aa54b5230" + integrity sha512-E/Zp6LURJEGSCWpoMGmCFuuEI1OWuI3hmZwmULV0GsgJBh7u0rwqioxhRU95euUuviqBDN8ruX/vP/4bwYolXw== + dependencies: + "@jest/console" "^26.5.2" + "@jest/types" "^26.5.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + "@jest/test-sequencer@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" @@ -1167,6 +2007,17 @@ jest-runner "^24.9.0" jest-runtime "^24.9.0" +"@jest/test-sequencer@^26.5.3": + version "26.5.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.5.3.tgz#9ae0ab9bc37d5171b28424029192e50229814f8d" + integrity sha512-Wqzb7aQ13L3T47xHdpUqYMOpiqz6Dx2QDDghp5AV/eUDXR7JieY+E1s233TQlNyl+PqtqgjVokmyjzX/HA51BA== + dependencies: + "@jest/test-result" "^26.5.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.5.2" + jest-runner "^26.5.3" + jest-runtime "^26.5.3" + "@jest/transform@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" @@ -1189,6 +2040,27 @@ source-map "^0.6.1" write-file-atomic "2.4.1" +"@jest/transform@^26.5.2": + version "26.5.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.5.2.tgz#6a0033a1d24316a1c75184d010d864f2c681bef5" + integrity sha512-AUNjvexh+APhhmS8S+KboPz+D3pCxPvEAGduffaAJYxIFxGi/ytZQkrqcKDUU0ERBAo5R7087fyOYr2oms1seg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.5.2" + 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.5.2" + jest-regex-util "^26.0.0" + jest-util "^26.5.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + "@jest/types@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" @@ -1198,6 +2070,27 @@ "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^13.0.0" +"@jest/types@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" + integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" + +"@jest/types@^26.5.2": + version "26.5.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.5.2.tgz#44c24f30c8ee6c7f492ead9ec3f3c62a5289756d" + integrity sha512-QDs5d0gYiyetI8q+2xWdkixVQMklReZr4ltw7GFDtb4fuJIBCE6mzj2LnitGqCuAlLap6wPyb8fpoHgwZz5fdg== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + "@lerna/add@3.20.0": version "3.20.0" resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.20.0.tgz#bea7edf36fc93fb72ec34cb9ba854c48d4abf309" @@ -1214,6 +2107,22 @@ p-map "^2.1.0" semver "^6.2.0" +"@lerna/add@3.21.0": + version "3.21.0" + resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.21.0.tgz#27007bde71cc7b0a2969ab3c2f0ae41578b4577b" + integrity sha512-vhUXXF6SpufBE1EkNEXwz1VLW03f177G9uMOFMQkp6OJ30/PWg4Ekifuz9/3YfgB2/GH8Tu4Lk3O51P2Hskg/A== + dependencies: + "@evocateur/pacote" "^9.6.3" + "@lerna/bootstrap" "3.21.0" + "@lerna/command" "3.21.0" + "@lerna/filter-options" "3.20.0" + "@lerna/npm-conf" "3.16.0" + "@lerna/validation-error" "3.13.0" + dedent "^0.7.0" + npm-package-arg "^6.1.0" + p-map "^2.1.0" + semver "^6.2.0" + "@lerna/bootstrap@3.20.0": version "3.20.0" resolved "https://registry.yarnpkg.com/@lerna/bootstrap/-/bootstrap-3.20.0.tgz#635d71046830f208e851ab429a63da1747589e37" @@ -1243,6 +2152,35 @@ read-package-tree "^5.1.6" semver "^6.2.0" +"@lerna/bootstrap@3.21.0": + version "3.21.0" + resolved "https://registry.yarnpkg.com/@lerna/bootstrap/-/bootstrap-3.21.0.tgz#bcd1b651be5b0970b20d8fae04c864548123aed6" + integrity sha512-mtNHlXpmvJn6JTu0KcuTTPl2jLsDNud0QacV/h++qsaKbhAaJr/FElNZ5s7MwZFUM3XaDmvWzHKaszeBMHIbBw== + dependencies: + "@lerna/command" "3.21.0" + "@lerna/filter-options" "3.20.0" + "@lerna/has-npm-version" "3.16.5" + "@lerna/npm-install" "3.16.5" + "@lerna/package-graph" "3.18.5" + "@lerna/pulse-till-done" "3.13.0" + "@lerna/rimraf-dir" "3.16.5" + "@lerna/run-lifecycle" "3.16.2" + "@lerna/run-topologically" "3.18.5" + "@lerna/symlink-binary" "3.17.0" + "@lerna/symlink-dependencies" "3.17.0" + "@lerna/validation-error" "3.13.0" + dedent "^0.7.0" + get-port "^4.2.0" + multimatch "^3.0.0" + npm-package-arg "^6.1.0" + npmlog "^4.1.2" + p-finally "^1.0.0" + p-map "^2.1.0" + p-map-series "^1.0.0" + p-waterfall "^1.0.0" + read-package-tree "^5.1.6" + semver "^6.2.0" + "@lerna/changed@3.20.0": version "3.20.0" resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-3.20.0.tgz#66b97ebd6c8f8d207152ee524a0791846a9097ae" @@ -1253,6 +2191,16 @@ "@lerna/listable" "3.18.5" "@lerna/output" "3.13.0" +"@lerna/changed@3.21.0": + version "3.21.0" + resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-3.21.0.tgz#108e15f679bfe077af500f58248c634f1044ea0b" + integrity sha512-hzqoyf8MSHVjZp0gfJ7G8jaz+++mgXYiNs9iViQGA8JlN/dnWLI5sWDptEH3/B30Izo+fdVz0S0s7ydVE3pWIw== + dependencies: + "@lerna/collect-updates" "3.20.0" + "@lerna/command" "3.21.0" + "@lerna/listable" "3.18.5" + "@lerna/output" "3.13.0" + "@lerna/check-working-tree@3.16.5": version "3.16.5" resolved "https://registry.yarnpkg.com/@lerna/check-working-tree/-/check-working-tree-3.16.5.tgz#b4f8ae61bb4523561dfb9f8f8d874dd46bb44baa" @@ -1285,6 +2233,20 @@ p-map-series "^1.0.0" p-waterfall "^1.0.0" +"@lerna/clean@3.21.0": + version "3.21.0" + resolved "https://registry.yarnpkg.com/@lerna/clean/-/clean-3.21.0.tgz#c0b46b5300cc3dae2cda3bec14b803082da3856d" + integrity sha512-b/L9l+MDgE/7oGbrav6rG8RTQvRiZLO1zTcG17zgJAAuhlsPxJExMlh2DFwJEVi2les70vMhHfST3Ue1IMMjpg== + dependencies: + "@lerna/command" "3.21.0" + "@lerna/filter-options" "3.20.0" + "@lerna/prompt" "3.18.5" + "@lerna/pulse-till-done" "3.13.0" + "@lerna/rimraf-dir" "3.16.5" + p-map "^2.1.0" + p-map-series "^1.0.0" + p-waterfall "^1.0.0" + "@lerna/cli@3.18.5": version "3.18.5" resolved "https://registry.yarnpkg.com/@lerna/cli/-/cli-3.18.5.tgz#c90c461542fcd35b6d5b015a290fb0dbfb41d242" @@ -1332,6 +2294,22 @@ is-ci "^2.0.0" npmlog "^4.1.2" +"@lerna/command@3.21.0": + version "3.21.0" + resolved "https://registry.yarnpkg.com/@lerna/command/-/command-3.21.0.tgz#9a2383759dc7b700dacfa8a22b2f3a6e190121f7" + integrity sha512-T2bu6R8R3KkH5YoCKdutKv123iUgUbW8efVjdGCDnCMthAQzoentOJfDeodBwn0P2OqCl3ohsiNVtSn9h78fyQ== + dependencies: + "@lerna/child-process" "3.16.5" + "@lerna/package-graph" "3.18.5" + "@lerna/project" "3.21.0" + "@lerna/validation-error" "3.13.0" + "@lerna/write-log-file" "3.13.0" + clone-deep "^4.0.1" + dedent "^0.7.0" + execa "^1.0.0" + is-ci "^2.0.0" + npmlog "^4.1.2" + "@lerna/conventional-commits@3.18.5": version "3.18.5" resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-3.18.5.tgz#08efd2e5b45acfaf3f151a53a3ec7ecade58a7bc" @@ -1349,6 +2327,23 @@ pify "^4.0.1" semver "^6.2.0" +"@lerna/conventional-commits@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-3.22.0.tgz#2798f4881ee2ef457bdae027ab7d0bf0af6f1e09" + integrity sha512-z4ZZk1e8Mhz7+IS8NxHr64wyklHctCJyWpJKEZZPJiLFJ8yKto/x38O80R10pIzC0rr8Sy/OsjSH4bl0TbbgqA== + dependencies: + "@lerna/validation-error" "3.13.0" + conventional-changelog-angular "^5.0.3" + conventional-changelog-core "^3.1.6" + conventional-recommended-bump "^5.0.0" + fs-extra "^8.1.0" + get-stream "^4.0.0" + lodash.template "^4.5.0" + npm-package-arg "^6.1.0" + npmlog "^4.1.2" + pify "^4.0.1" + semver "^6.2.0" + "@lerna/create-symlink@3.16.2": version "3.16.2" resolved "https://registry.yarnpkg.com/@lerna/create-symlink/-/create-symlink-3.16.2.tgz#412cb8e59a72f5a7d9463e4e4721ad2070149967" @@ -1382,6 +2377,30 @@ validate-npm-package-name "^3.0.0" whatwg-url "^7.0.0" +"@lerna/create@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@lerna/create/-/create-3.22.0.tgz#d6bbd037c3dc5b425fe5f6d1b817057c278f7619" + integrity sha512-MdiQQzCcB4E9fBF1TyMOaAEz9lUjIHp1Ju9H7f3lXze5JK6Fl5NYkouAvsLgY6YSIhXMY8AHW2zzXeBDY4yWkw== + dependencies: + "@evocateur/pacote" "^9.6.3" + "@lerna/child-process" "3.16.5" + "@lerna/command" "3.21.0" + "@lerna/npm-conf" "3.16.0" + "@lerna/validation-error" "3.13.0" + camelcase "^5.0.0" + dedent "^0.7.0" + fs-extra "^8.1.0" + globby "^9.2.0" + init-package-json "^1.10.3" + npm-package-arg "^6.1.0" + p-reduce "^1.0.0" + pify "^4.0.1" + semver "^6.2.0" + slash "^2.0.0" + validate-npm-package-license "^3.0.3" + validate-npm-package-name "^3.0.0" + whatwg-url "^7.0.0" + "@lerna/describe-ref@3.16.5": version "3.16.5" resolved "https://registry.yarnpkg.com/@lerna/describe-ref/-/describe-ref-3.16.5.tgz#a338c25aaed837d3dc70b8a72c447c5c66346ac0" @@ -1400,6 +2419,16 @@ "@lerna/validation-error" "3.13.0" npmlog "^4.1.2" +"@lerna/diff@3.21.0": + version "3.21.0" + resolved "https://registry.yarnpkg.com/@lerna/diff/-/diff-3.21.0.tgz#e6df0d8b9916167ff5a49fcb02ac06424280a68d" + integrity sha512-5viTR33QV3S7O+bjruo1SaR40m7F2aUHJaDAC7fL9Ca6xji+aw1KFkpCtVlISS0G8vikUREGMJh+c/VMSc8Usw== + dependencies: + "@lerna/child-process" "3.16.5" + "@lerna/command" "3.21.0" + "@lerna/validation-error" "3.13.0" + npmlog "^4.1.2" + "@lerna/exec@3.20.0": version "3.20.0" resolved "https://registry.yarnpkg.com/@lerna/exec/-/exec-3.20.0.tgz#29f0c01aee2340eb46f90706731fef2062a49639" @@ -1413,6 +2442,19 @@ "@lerna/validation-error" "3.13.0" p-map "^2.1.0" +"@lerna/exec@3.21.0": + version "3.21.0" + resolved "https://registry.yarnpkg.com/@lerna/exec/-/exec-3.21.0.tgz#17f07533893cb918a17b41bcc566dc437016db26" + integrity sha512-iLvDBrIE6rpdd4GIKTY9mkXyhwsJ2RvQdB9ZU+/NhR3okXfqKc6py/24tV111jqpXTtZUW6HNydT4dMao2hi1Q== + dependencies: + "@lerna/child-process" "3.16.5" + "@lerna/command" "3.21.0" + "@lerna/filter-options" "3.20.0" + "@lerna/profiler" "3.20.0" + "@lerna/run-topologically" "3.18.5" + "@lerna/validation-error" "3.13.0" + p-map "^2.1.0" + "@lerna/filter-options@3.20.0": version "3.20.0" resolved "https://registry.yarnpkg.com/@lerna/filter-options/-/filter-options-3.20.0.tgz#0f0f5d5a4783856eece4204708cc902cbc8af59b" @@ -1460,6 +2502,17 @@ git-url-parse "^11.1.2" npmlog "^4.1.2" +"@lerna/github-client@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@lerna/github-client/-/github-client-3.22.0.tgz#5d816aa4f76747ed736ae64ff962b8f15c354d95" + integrity sha512-O/GwPW+Gzr3Eb5bk+nTzTJ3uv+jh5jGho9BOqKlajXaOkMYGBELEAqV5+uARNGWZFvYAiF4PgqHb6aCUu7XdXg== + dependencies: + "@lerna/child-process" "3.16.5" + "@octokit/plugin-enterprise-rest" "^6.0.1" + "@octokit/rest" "^16.28.4" + git-url-parse "^11.1.2" + npmlog "^4.1.2" + "@lerna/gitlab-client@3.15.0": version "3.15.0" resolved "https://registry.yarnpkg.com/@lerna/gitlab-client/-/gitlab-client-3.15.0.tgz#91f4ec8c697b5ac57f7f25bd50fe659d24aa96a6" @@ -1496,6 +2549,20 @@ fs-extra "^8.1.0" p-map-series "^1.0.0" +"@lerna/import@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@lerna/import/-/import-3.22.0.tgz#1a5f0394f38e23c4f642a123e5e1517e70d068d2" + integrity sha512-uWOlexasM5XR6tXi4YehODtH9Y3OZrFht3mGUFFT3OIl2s+V85xIGFfqFGMTipMPAGb2oF1UBLL48kR43hRsOg== + dependencies: + "@lerna/child-process" "3.16.5" + "@lerna/command" "3.21.0" + "@lerna/prompt" "3.18.5" + "@lerna/pulse-till-done" "3.13.0" + "@lerna/validation-error" "3.13.0" + dedent "^0.7.0" + fs-extra "^8.1.0" + p-map-series "^1.0.0" + "@lerna/info@3.20.0": version "3.20.0" resolved "https://registry.yarnpkg.com/@lerna/info/-/info-3.20.0.tgz#3a5212f3029f2bc6255f9533bdf4bcb120ef329a" @@ -1505,6 +2572,15 @@ "@lerna/output" "3.13.0" envinfo "^7.3.1" +"@lerna/info@3.21.0": + version "3.21.0" + resolved "https://registry.yarnpkg.com/@lerna/info/-/info-3.21.0.tgz#76696b676fdb0f35d48c83c63c1e32bb5e37814f" + integrity sha512-0XDqGYVBgWxUquFaIptW2bYSIu6jOs1BtkvRTWDDhw4zyEdp6q4eaMvqdSap1CG+7wM5jeLCi6z94wS0AuiuwA== + dependencies: + "@lerna/command" "3.21.0" + "@lerna/output" "3.13.0" + envinfo "^7.3.1" + "@lerna/init@3.18.5": version "3.18.5" resolved "https://registry.yarnpkg.com/@lerna/init/-/init-3.18.5.tgz#86dd0b2b3290755a96975069b5cb007f775df9f5" @@ -1516,6 +2592,17 @@ p-map "^2.1.0" write-json-file "^3.2.0" +"@lerna/init@3.21.0": + version "3.21.0" + resolved "https://registry.yarnpkg.com/@lerna/init/-/init-3.21.0.tgz#1e810934dc8bf4e5386c031041881d3b4096aa5c" + integrity sha512-6CM0z+EFUkFfurwdJCR+LQQF6MqHbYDCBPyhu/d086LRf58GtYZYj49J8mKG9ktayp/TOIxL/pKKjgLD8QBPOg== + dependencies: + "@lerna/child-process" "3.16.5" + "@lerna/command" "3.21.0" + fs-extra "^8.1.0" + p-map "^2.1.0" + write-json-file "^3.2.0" + "@lerna/link@3.18.5": version "3.18.5" resolved "https://registry.yarnpkg.com/@lerna/link/-/link-3.18.5.tgz#f24347e4f0b71d54575bd37cfa1794bc8ee91b18" @@ -1527,12 +2614,33 @@ p-map "^2.1.0" slash "^2.0.0" +"@lerna/link@3.21.0": + version "3.21.0" + resolved "https://registry.yarnpkg.com/@lerna/link/-/link-3.21.0.tgz#8be68ff0ccee104b174b5bbd606302c2f06e9d9b" + integrity sha512-tGu9GxrX7Ivs+Wl3w1+jrLi1nQ36kNI32dcOssij6bg0oZ2M2MDEFI9UF2gmoypTaN9uO5TSsjCFS7aR79HbdQ== + dependencies: + "@lerna/command" "3.21.0" + "@lerna/package-graph" "3.18.5" + "@lerna/symlink-dependencies" "3.17.0" + p-map "^2.1.0" + slash "^2.0.0" + "@lerna/list@3.20.0": version "3.20.0" resolved "https://registry.yarnpkg.com/@lerna/list/-/list-3.20.0.tgz#7e67cc29c5cf661cfd097e8a7c2d3dcce7a81029" integrity sha512-fXTicPrfioVnRzknyPawmYIVkzDRBaQqk9spejS1S3O1DOidkihK0xxNkr8HCVC0L22w6f92g83qWDp2BYRUbg== dependencies: - "@lerna/command" "3.18.5" + "@lerna/command" "3.18.5" + "@lerna/filter-options" "3.20.0" + "@lerna/listable" "3.18.5" + "@lerna/output" "3.13.0" + +"@lerna/list@3.21.0": + version "3.21.0" + resolved "https://registry.yarnpkg.com/@lerna/list/-/list-3.21.0.tgz#42f76fafa56dea13b691ec8cab13832691d61da2" + integrity sha512-KehRjE83B1VaAbRRkRy6jLX1Cin8ltsrQ7FHf2bhwhRHK0S54YuA6LOoBnY/NtA8bHDX/Z+G5sMY78X30NS9tg== + dependencies: + "@lerna/command" "3.21.0" "@lerna/filter-options" "3.20.0" "@lerna/listable" "3.18.5" "@lerna/output" "3.13.0" @@ -1696,6 +2804,24 @@ resolve-from "^4.0.0" write-json-file "^3.2.0" +"@lerna/project@3.21.0": + version "3.21.0" + resolved "https://registry.yarnpkg.com/@lerna/project/-/project-3.21.0.tgz#5d784d2d10c561a00f20320bcdb040997c10502d" + integrity sha512-xT1mrpET2BF11CY32uypV2GPtPVm6Hgtha7D81GQP9iAitk9EccrdNjYGt5UBYASl4CIDXBRxwmTTVGfrCx82A== + dependencies: + "@lerna/package" "3.16.0" + "@lerna/validation-error" "3.13.0" + cosmiconfig "^5.1.0" + dedent "^0.7.0" + dot-prop "^4.2.0" + glob-parent "^5.0.0" + globby "^9.2.0" + load-json-file "^5.3.0" + npmlog "^4.1.2" + p-map "^2.1.0" + resolve-from "^4.0.0" + write-json-file "^3.2.0" + "@lerna/prompt@3.18.5": version "3.18.5" resolved "https://registry.yarnpkg.com/@lerna/prompt/-/prompt-3.18.5.tgz#628cd545f225887d060491ab95df899cfc5218a1" @@ -1740,6 +2866,42 @@ p-pipe "^1.2.0" semver "^6.2.0" +"@lerna/publish@3.22.1": + version "3.22.1" + resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-3.22.1.tgz#b4f7ce3fba1e9afb28be4a1f3d88222269ba9519" + integrity sha512-PG9CM9HUYDreb1FbJwFg90TCBQooGjj+n/pb3gw/eH5mEDq0p8wKdLFe0qkiqUkm/Ub5C8DbVFertIo0Vd0zcw== + dependencies: + "@evocateur/libnpmaccess" "^3.1.2" + "@evocateur/npm-registry-fetch" "^4.0.0" + "@evocateur/pacote" "^9.6.3" + "@lerna/check-working-tree" "3.16.5" + "@lerna/child-process" "3.16.5" + "@lerna/collect-updates" "3.20.0" + "@lerna/command" "3.21.0" + "@lerna/describe-ref" "3.16.5" + "@lerna/log-packed" "3.16.0" + "@lerna/npm-conf" "3.16.0" + "@lerna/npm-dist-tag" "3.18.5" + "@lerna/npm-publish" "3.18.5" + "@lerna/otplease" "3.18.5" + "@lerna/output" "3.13.0" + "@lerna/pack-directory" "3.16.4" + "@lerna/prerelease-id-from-version" "3.16.0" + "@lerna/prompt" "3.18.5" + "@lerna/pulse-till-done" "3.13.0" + "@lerna/run-lifecycle" "3.16.2" + "@lerna/run-topologically" "3.18.5" + "@lerna/validation-error" "3.13.0" + "@lerna/version" "3.22.1" + figgy-pudding "^3.5.1" + fs-extra "^8.1.0" + npm-package-arg "^6.1.0" + npmlog "^4.1.2" + p-finally "^1.0.0" + p-map "^2.1.0" + p-pipe "^1.2.0" + semver "^6.2.0" + "@lerna/pulse-till-done@3.13.0": version "3.13.0" resolved "https://registry.yarnpkg.com/@lerna/pulse-till-done/-/pulse-till-done-3.13.0.tgz#c8e9ce5bafaf10d930a67d7ed0ccb5d958fe0110" @@ -1808,6 +2970,21 @@ "@lerna/validation-error" "3.13.0" p-map "^2.1.0" +"@lerna/run@3.21.0": + version "3.21.0" + resolved "https://registry.yarnpkg.com/@lerna/run/-/run-3.21.0.tgz#2a35ec84979e4d6e42474fe148d32e5de1cac891" + integrity sha512-fJF68rT3veh+hkToFsBmUJ9MHc9yGXA7LSDvhziAojzOb0AI/jBDp6cEcDQyJ7dbnplba2Lj02IH61QUf9oW0Q== + dependencies: + "@lerna/command" "3.21.0" + "@lerna/filter-options" "3.20.0" + "@lerna/npm-run-script" "3.16.5" + "@lerna/output" "3.13.0" + "@lerna/profiler" "3.20.0" + "@lerna/run-topologically" "3.18.5" + "@lerna/timer" "3.13.0" + "@lerna/validation-error" "3.13.0" + p-map "^2.1.0" + "@lerna/symlink-binary@3.17.0": version "3.17.0" resolved "https://registry.yarnpkg.com/@lerna/symlink-binary/-/symlink-binary-3.17.0.tgz#8f8031b309863814883d3f009877f82e38aef45a" @@ -1875,6 +3052,38 @@ temp-write "^3.4.0" write-json-file "^3.2.0" +"@lerna/version@3.22.1": + version "3.22.1" + resolved "https://registry.yarnpkg.com/@lerna/version/-/version-3.22.1.tgz#9805a9247a47ee62d6b81bd9fa5fb728b24b59e2" + integrity sha512-PSGt/K1hVqreAFoi3zjD0VEDupQ2WZVlVIwesrE5GbrL2BjXowjCsTDPqblahDUPy0hp6h7E2kG855yLTp62+g== + dependencies: + "@lerna/check-working-tree" "3.16.5" + "@lerna/child-process" "3.16.5" + "@lerna/collect-updates" "3.20.0" + "@lerna/command" "3.21.0" + "@lerna/conventional-commits" "3.22.0" + "@lerna/github-client" "3.22.0" + "@lerna/gitlab-client" "3.15.0" + "@lerna/output" "3.13.0" + "@lerna/prerelease-id-from-version" "3.16.0" + "@lerna/prompt" "3.18.5" + "@lerna/run-lifecycle" "3.16.2" + "@lerna/run-topologically" "3.18.5" + "@lerna/validation-error" "3.13.0" + chalk "^2.3.1" + dedent "^0.7.0" + load-json-file "^5.3.0" + minimatch "^3.0.4" + npmlog "^4.1.2" + p-map "^2.1.0" + p-pipe "^1.2.0" + p-reduce "^1.0.0" + p-waterfall "^1.0.0" + semver "^6.2.0" + slash "^2.0.0" + temp-write "^3.4.0" + write-json-file "^3.2.0" + "@lerna/write-log-file@3.13.0": version "3.13.0" resolved "https://registry.yarnpkg.com/@lerna/write-log-file/-/write-log-file-3.13.0.tgz#b78d9e4cfc1349a8be64d91324c4c8199e822a26" @@ -1891,11 +3100,39 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@nicolo-ribaudo/chokidar-2@^2.1.8": + version "2.1.8" + resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8.tgz#eef8d9b47e8dc589499f14d656e8d2dd978c3d14" + integrity sha512-FohwULwAebCUKi/akMFyGi7jfc7JXTeMHzKxuP3umRd9mK/2Y7/SMBSI2jX+YLopPXi+PF9l307NmpfxTdCegA== + dependencies: + chokidar "2.1.8" + +"@nodelib/fs.scandir@2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" + integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== + dependencies: + "@nodelib/fs.stat" "2.0.3" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" + integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== + "@nodelib/fs.stat@^1.1.2": version "1.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== +"@nodelib/fs.walk@^1.2.3": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" + integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + dependencies: + "@nodelib/fs.scandir" "2.1.3" + fastq "^1.6.0" + "@octokit/auth-token@^2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.0.tgz#b64178975218b99e4dfe948253f0673cbbb59d9f" @@ -1917,6 +3154,11 @@ resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-3.6.2.tgz#74de25bef21e0182b4fa03a8678cd00a4e67e561" integrity sha512-3wF5eueS5OHQYuAEudkpN+xVeUsg8vYEMMenEzLphUZ7PRZ8OJtDcsreL3ad9zxXmBbaFWzLmFcdob5CLyZftA== +"@octokit/plugin-enterprise-rest@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437" + integrity sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw== + "@octokit/plugin-paginate-rest@^1.1.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz#004170acf8c2be535aba26727867d692f7b488fc" @@ -1960,6 +3202,28 @@ once "^1.4.0" universal-user-agent "^4.0.0" +"@octokit/rest@^16.27.0": + version "16.43.2" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.43.2.tgz#c53426f1e1d1044dee967023e3279c50993dd91b" + integrity sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ== + dependencies: + "@octokit/auth-token" "^2.4.0" + "@octokit/plugin-paginate-rest" "^1.1.1" + "@octokit/plugin-request-log" "^1.0.0" + "@octokit/plugin-rest-endpoint-methods" "2.4.0" + "@octokit/request" "^5.2.0" + "@octokit/request-error" "^1.0.2" + atob-lite "^2.0.0" + before-after-hook "^2.0.0" + btoa-lite "^1.0.0" + deprecation "^2.0.0" + lodash.get "^4.4.2" + lodash.set "^4.3.2" + lodash.uniq "^4.5.0" + octokit-pagination-methods "^1.1.0" + once "^1.4.0" + universal-user-agent "^4.0.0" + "@octokit/rest@^16.28.4": version "16.43.1" resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.43.1.tgz#3b11e7d1b1ac2bbeeb23b08a17df0b20947eda6b" @@ -1989,47 +3253,40 @@ dependencies: "@types/node" ">= 8" -"@plugnet/doughnut-wasm@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@plugnet/doughnut-wasm/-/doughnut-wasm-0.2.0.tgz#bc0bbf3650f8389db08d2f44059ba93ffd3bd2a2" - integrity sha512-w4VjI5UghgKXEp2+BrEIzQ7ff9NZcL0w6pyQy7K5Gv6KMD/0keb9S/N4H1mpFXE2g9fU97RJ71w1+h9T7kOGcA== - dependencies: - "@polkadot/util-crypto" "^2.18.1" - tweetnacl "^1.0.3" - -"@polkadot/api-derive@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-1.2.1.tgz#df4abae2cdf3c72d89d1c6f87e647374fe93680f" - integrity sha512-HUgIDuVAWeLlDQufU03o/vgaGtLqIlsNc86gfL5H8Y2Fodhqr8EWogSbpkFdwhIac6MWXvTjQKxdCmssA6YwRw== - dependencies: - "@babel/runtime" "^7.8.4" - "@polkadot/api" "^1.2.1" - "@polkadot/rpc-core" "^1.2.1" - "@polkadot/rpc-provider" "^1.2.1" - "@polkadot/types" "^1.2.1" - "@polkadot/util" "^2.3.1" - "@polkadot/util-crypto" "^2.3.1" - bn.js "^5.1.1" +"@polkadot/api-derive@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-2.3.1.tgz#7917035c087724782dc275411a256f5b8f747af4" + integrity sha512-FcDEx+/1Io7zOHPjbQAEzXB0KenA9emgY+96aHS4yPV/OVmAifU0IAxudZdMVp7uVC2dWq9iFvjxx84yCXgVRA== + dependencies: + "@babel/runtime" "^7.12.1" + "@polkadot/api" "2.3.1" + "@polkadot/rpc-core" "2.3.1" + "@polkadot/rpc-provider" "2.3.1" + "@polkadot/types" "2.3.1" + "@polkadot/util" "^3.6.1" + "@polkadot/util-crypto" "^3.6.1" + bn.js "^5.1.3" memoizee "^0.4.14" - rxjs "^6.5.4" + rxjs "^6.6.3" -"@polkadot/api@^1.1.1", "@polkadot/api@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-1.2.1.tgz#ac10db7d2759a6b09d94597372dec32b2cf19153" - integrity sha512-5xC+0M3df+IYDY2u7q7VBUYqa9niFaXhaMCbr4+8lIjs8WyUuOFKABG8EvMQOEZYVtBu2/tCIm5HMSIcb+AaHQ== - dependencies: - "@babel/runtime" "^7.8.4" - "@polkadot/api-derive" "^1.2.1" - "@polkadot/keyring" "^2.3.1" - "@polkadot/metadata" "^1.2.1" - "@polkadot/rpc-core" "^1.2.1" - "@polkadot/rpc-provider" "^1.2.1" - "@polkadot/types" "^1.2.1" - "@polkadot/util" "^2.3.1" - "@polkadot/util-crypto" "^2.3.1" - bn.js "^5.1.1" - eventemitter3 "^4.0.0" - rxjs "^6.5.4" +"@polkadot/api@2.3.1", "@polkadot/api@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-2.3.1.tgz#70be0f4558b4cff85323ea36767bdacb51e8323c" + integrity sha512-B9ZOb1PiPaAlke4wQHoivVQ5ZCQWn5bgLjhVIGdcEZ4WjIcxApmzTV4ruSfqVoRKpRiVOyV3Dx/VUQDD/WgBFw== + dependencies: + "@babel/runtime" "^7.12.1" + "@polkadot/api-derive" "2.3.1" + "@polkadot/keyring" "^3.6.1" + "@polkadot/metadata" "2.3.1" + "@polkadot/rpc-core" "2.3.1" + "@polkadot/rpc-provider" "2.3.1" + "@polkadot/types" "2.3.1" + "@polkadot/types-known" "2.3.1" + "@polkadot/util" "^3.6.1" + "@polkadot/util-crypto" "^3.6.1" + bn.js "^5.1.3" + eventemitter3 "^4.0.7" + rxjs "^6.6.3" "@polkadot/dev@0.31.1": version "0.31.1" @@ -2076,74 +3333,70 @@ typescript "^3.6.3" vuepress "^1.1.0" -"@polkadot/jsonrpc@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-1.2.1.tgz#08c6744369ab4c6ea02004c2c1b73486c0a5c43c" - integrity sha512-VJq+u/q+R6iJDlXbX/Scn3kgoGocXT7tdGykUaUcryaLZe1VnxQFzww5kMfidr+eXtfxNQsw979J0O76W2VdUQ== +"@polkadot/keyring@^3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-3.5.1.tgz#6a884be3812640efc26e6a7bc0a72eb590023790" + integrity sha512-Wg8PBACl+RobbmcShl659/5a+foU1j7PGdvdr2pZowkZul8jvwyAN+piIyPSfrsaJkbUoDUR9Pe+oVoeF4ZoXg== dependencies: - "@babel/runtime" "^7.8.4" - "@polkadot/types" "^1.2.1" - "@polkadot/util" "^2.3.1" + "@babel/runtime" "^7.11.2" + "@polkadot/util" "3.5.1" + "@polkadot/util-crypto" "3.5.1" -"@polkadot/keyring@2.3.1", "@polkadot/keyring@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-2.3.1.tgz#64ed052760c6ebf3e71a2413a0f362d8522d0060" - integrity sha512-MvkyR/ohYAsSQrSEVBo6w/S5S9i4AEPYGNqPOyR7erEJD3YQjZhJJkJx23w6XsbWr0XDfzJG9SQ5uq585DIi4g== +"@polkadot/keyring@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-3.6.1.tgz#51a4a08e650f9717115b4ee6ccf8f6dccd273594" + integrity sha512-JbW4M5Ct3HaX3vgoa/UWAQVF/0sc1PbbA2D6v0KKaJkXl+EYVP9uyOYAoRCppB6ENZThz7CUJVQp8trs8WTrFQ== dependencies: - "@babel/runtime" "^7.8.4" - "@polkadot/util" "^2.3.1" - "@polkadot/util-crypto" "^2.3.1" + "@babel/runtime" "^7.12.1" + "@polkadot/util" "3.6.1" + "@polkadot/util-crypto" "3.6.1" -"@polkadot/metadata@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-1.1.1.tgz#1c7d2e026791d5e3453304065646711da74a0025" - integrity sha512-NjBngIHy5JsrMI6iyDT8qMx25pSwXaNnRrgHiP3oNaoMadoCfqRRSsC3JCqIhHQva6WZ/JfFxorRyH1sTAKbZg== +"@polkadot/metadata@2.3.1", "@polkadot/metadata@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-2.3.1.tgz#c061ca73bfac65416f9717b6452794a5fb648948" + integrity sha512-F/QwDDR/d9mcqToDqndRTUYvMt/GYzjQ+kNGjQYBOIDRqF9zDbPHAXruqcHd0Y5MMpPMRBZGNaqPOb3BMrIdOQ== dependencies: - "@babel/runtime" "^7.8.3" - "@polkadot/types" "^1.1.1" - "@polkadot/util" "^2.2.1" - "@polkadot/util-crypto" "^2.2.1" + "@babel/runtime" "^7.12.1" + "@polkadot/types" "2.3.1" + "@polkadot/types-known" "2.3.1" + "@polkadot/util" "^3.6.1" + "@polkadot/util-crypto" "^3.6.1" + bn.js "^5.1.3" -"@polkadot/metadata@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-1.2.1.tgz#0b36f9b0c8533a029643aa1114d6c961c2e3c041" - integrity sha512-35yApYyInGQELiy0GqE6mbxBn0lUwgpkC/PXV6q+Y6eW0TNQR1eUSr9K4NUisBlZe4s9HDpclR3b39SVvlNr6g== +"@polkadot/networks@3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-3.6.1.tgz#647858a03fd450014af453e72b66b812b027dc19" + integrity sha512-PEEw/vTZaKf32vuAUeFXYNJei+b/s3hr7msMKfvoYeKDU/otgt9Mgkqrh6VCaE6+lHHgX8vLbH70pCqQrGG/uA== dependencies: - "@babel/runtime" "^7.8.4" - "@polkadot/types" "^1.2.1" - "@polkadot/util" "^2.3.1" - "@polkadot/util-crypto" "^2.3.1" - bn.js "^5.1.1" + "@babel/runtime" "^7.12.1" -"@polkadot/rpc-core@^1.1.1", "@polkadot/rpc-core@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-1.2.1.tgz#26b9ac765e08fcb2d976fa73ca7a7259d4c3caa0" - integrity sha512-oo43JM2O6gRVBusDk4EW8A+Ns5EVCpAvahYJTbbj7t34c0ToyUDhush/S6DquvgmAhdFxEELs8ilkeQSksegZg== - dependencies: - "@babel/runtime" "^7.8.4" - "@polkadot/jsonrpc" "^1.2.1" - "@polkadot/metadata" "^1.2.1" - "@polkadot/rpc-provider" "^1.2.1" - "@polkadot/types" "^1.2.1" - "@polkadot/util" "^2.3.1" +"@polkadot/rpc-core@2.3.1", "@polkadot/rpc-core@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-2.3.1.tgz#aa89b13eb51c5919944c785cebfe9c1dbf57a7fe" + integrity sha512-SWYU6azxNwWkhz6bm/wpRPQZ/5KJ2hnEXPS4EN77q7EFH4c4k9mNtVyjUQFkKJsG7T85vxaCCWwhx60aYCZVeA== + dependencies: + "@babel/runtime" "^7.12.1" + "@polkadot/metadata" "2.3.1" + "@polkadot/rpc-provider" "2.3.1" + "@polkadot/types" "2.3.1" + "@polkadot/util" "^3.6.1" memoizee "^0.4.14" - rxjs "^6.5.4" + rxjs "^6.6.3" -"@polkadot/rpc-provider@^1.1.1", "@polkadot/rpc-provider@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-1.2.1.tgz#7478c5657eded5ce940234945d2e1da47f195b6c" - integrity sha512-Z8S5hSbWHjj+slEbjux3JvEmbcsse8ZB/eyBHsySJ3XMTUIOWmpfxO3CBRuVWXxfZXLCXDzphKlE8dNFtEgIlg== - dependencies: - "@babel/runtime" "^7.8.4" - "@polkadot/jsonrpc" "^1.2.1" - "@polkadot/metadata" "^1.2.1" - "@polkadot/types" "^1.2.1" - "@polkadot/util" "^2.3.1" - "@polkadot/util-crypto" "^2.3.1" - bn.js "^5.1.1" - eventemitter3 "^4.0.0" - isomorphic-fetch "^2.2.1" - websocket "^1.0.31" +"@polkadot/rpc-provider@2.3.1", "@polkadot/rpc-provider@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-2.3.1.tgz#1ba314027b2e9cd4bdf86b178b9ace598cb7befc" + integrity sha512-lRN68RosWvtBA844PWqhYEV2ifT3T9SUyAP2WvRYyWVPiMmXjw57qG1zHKQWgZk5aFzeaHKSYgsKTmkWz9IM4g== + dependencies: + "@babel/runtime" "^7.12.1" + "@polkadot/metadata" "2.3.1" + "@polkadot/types" "2.3.1" + "@polkadot/util" "^3.6.1" + "@polkadot/util-crypto" "^3.6.1" + "@polkadot/x-fetch" "^0.3.3" + "@polkadot/x-ws" "^0.3.3" + bn.js "^5.1.3" + eventemitter3 "^4.0.7" "@polkadot/ts@^0.1.86": version "0.1.91" @@ -2152,93 +3405,147 @@ dependencies: "@types/chrome" "^0.0.92" -"@polkadot/types@^1.1.1", "@polkadot/types@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-1.2.1.tgz#d3734942ec5e03b9ab0cf19c453bf54ff7608c76" - integrity sha512-fvDoDr2b6LgtWqIxWOhEHazq5N01hy8yNQb6BxI5thmHfq/21vpMO4cUkcDlPI1tmQKRbC5LxJ4yvxQBZPMppw== +"@polkadot/types-known@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-2.3.1.tgz#4aa255bbe998ed8f0d10f344eb364d96b3cb6fb7" + integrity sha512-34yuvDraW9Sjy5ookQZf55sBKLOsTqos+WQdTu6DUxtRuwvMP9DEAGcs2m6AFvWxwZps+3zFGUvzn6SMHsSJ5Q== dependencies: - "@babel/core" "^7.8.4" - "@babel/register" "^7.8.3" - "@babel/runtime" "^7.8.4" - "@polkadot/api" "^1.2.1" - "@polkadot/metadata" "^1.2.1" - "@polkadot/util" "^2.3.1" - "@polkadot/util-crypto" "^2.3.1" - bn.js "^5.1.1" + "@babel/runtime" "^7.12.1" + "@polkadot/types" "2.3.1" + "@polkadot/util" "^3.6.1" + bn.js "^5.1.3" + +"@polkadot/types@2.3.1", "@polkadot/types@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-2.3.1.tgz#8a91678bf67f27c8e174dbf565ec5738bbd0d344" + integrity sha512-G3cyYYV+vYmpkMjPirwOA/zLreb1uBrKpEMWTvtTuCz/sNwcbCT5hI/KZCzNo1PueOQAowroKPe4yQ793dqVPw== + dependencies: + "@babel/runtime" "^7.12.1" + "@polkadot/metadata" "2.3.1" + "@polkadot/util" "^3.6.1" + "@polkadot/util-crypto" "^3.6.1" + "@types/bn.js" "^4.11.6" + bn.js "^5.1.3" memoizee "^0.4.14" - rxjs "^6.5.4" - websocket "^1.0.31" - yargs "^15.1.0" - -"@polkadot/util-crypto@^2.18.1": - version "2.18.1" - resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-2.18.1.tgz#c4c36cd49c303f551f878a573f516479c94aeafe" - integrity sha512-RqCIv+WKLStJXhZcE+pT3V/xQvt7V74laqhLyLKIsVXPpeuKDiTxt0E5EB+gkuW1eTC4A03kitULcNA5w4JtFw== - dependencies: - "@babel/runtime" "^7.10.4" - "@polkadot/util" "2.18.1" - "@polkadot/wasm-crypto" "^1.2.1" + rxjs "^6.6.3" + +"@polkadot/util-crypto@3.5.1", "@polkadot/util-crypto@^3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-3.5.1.tgz#7f8d8b5982f9d2df2432ff017d89110e7212f330" + integrity sha512-7SWxOYG+dUCAkGW2xCJc9gutLJ02T9LwiumTW8cXFysRai4qLA3XRl+XQHAEdRzKA+97IQmtGMl4/Tjq9TGwYw== + dependencies: + "@babel/runtime" "^7.11.2" + "@polkadot/util" "3.5.1" + "@polkadot/wasm-crypto" "^1.4.1" base-x "^3.0.8" bip39 "^3.0.2" blakejs "^1.1.0" - bn.js "^5.1.2" + bn.js "^5.1.3" elliptic "^6.5.3" js-sha3 "^0.8.0" pbkdf2 "^3.1.1" + scryptsy "^2.1.0" tweetnacl "^1.0.3" xxhashjs "^0.2.2" -"@polkadot/util-crypto@^2.2.1", "@polkadot/util-crypto@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-2.3.1.tgz#e95bace6ef59408657df1068f8044766744f453c" - integrity sha512-I9lKhheW/cWeFSs5NBgiw5WkkfAsceEzW4/eWf/s39TLVueUnOiXG/+fcaRHBZmBDMhK9Mc2FxvLn2Df6YQGUg== +"@polkadot/util-crypto@3.6.1", "@polkadot/util-crypto@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-3.6.1.tgz#827b679ef5c03bf1400d5fac942f4a0b59aa3acd" + integrity sha512-mRCijOXrxTa2JD5vpNvr1MHSj3NaSGaImg1yzAf3l7nw7zNGjLy1K3qQNcFgr8+0NHyPKk5lCIehtwGTRZYsiA== dependencies: - "@babel/runtime" "^7.8.4" - "@polkadot/util" "^2.3.1" - "@polkadot/wasm-crypto" "^1.0.1" - base-x "^3.0.7" + "@babel/runtime" "^7.12.1" + "@polkadot/networks" "3.6.1" + "@polkadot/util" "3.6.1" + "@polkadot/wasm-crypto" "^1.4.1" + base-x "^3.0.8" bip39 "^3.0.2" blakejs "^1.1.0" - bn.js "^5.1.1" - bs58 "^4.0.1" - elliptic "^6.5.2" + bn.js "^5.1.3" + elliptic "^6.5.3" js-sha3 "^0.8.0" - pbkdf2 "^3.0.9" + pbkdf2 "^3.1.1" + scryptsy "^2.1.0" tweetnacl "^1.0.3" xxhashjs "^0.2.2" -"@polkadot/util@2.18.1": - version "2.18.1" - resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-2.18.1.tgz#81380f21e47f3c5657ef09be7c477a72838d35eb" - integrity sha512-0KAojJMR5KDaaobIyvHVuW9vBP5LG3S0vpRSovB4UPlGDok3ETJSm5lMhA0t2KM8C4gXGBakCotFVGSOvWGgjA== +"@polkadot/util@3.5.1", "@polkadot/util@^3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-3.5.1.tgz#65b7f2669dde043088d925274070bf2e51f9c045" + integrity sha512-9CBVeQlhmghlVeOttZDxwOtDVWLKpHSP0iAE2vG2bnI6T1dSjD0cFHCG9q7GeD6UAN8z+m17/M9WDV2WXzT6kA== dependencies: - "@babel/runtime" "^7.10.4" + "@babel/runtime" "^7.11.2" + "@polkadot/x-textdecoder" "^0.3.2" + "@polkadot/x-textencoder" "^0.3.2" "@types/bn.js" "^4.11.6" - bn.js "^5.1.2" + bn.js "^5.1.3" camelcase "^5.3.1" chalk "^4.1.0" ip-regex "^4.1.0" -"@polkadot/util@^2.2.1", "@polkadot/util@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-2.3.1.tgz#ea4142386e66db14eae78c8fda4fb62693cf072a" - integrity sha512-g00HThGm0t1sciOxDKuqnSsh6fyGUKtazVac0v58fMOtbX0geTu0TpddRdFav/L5KO6lkq8DBFUQW95x9Cf4gw== +"@polkadot/util@3.6.1", "@polkadot/util@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-3.6.1.tgz#1f45651d3a1bb89da27fcb42cc1af1536d30abd0" + integrity sha512-ToGVghmTtC8s8cg8mCGG3I88UasrCg9VNm5JoUvBH4nTZCxc/dQEkU24nULXwHUpmd7d39p3RLpVbkLCVYIMZw== dependencies: - "@babel/runtime" "^7.8.4" - bn.js "^5.1.1" + "@babel/runtime" "^7.12.1" + "@polkadot/x-textdecoder" "^0.3.3" + "@polkadot/x-textencoder" "^0.3.3" + "@types/bn.js" "^4.11.6" + bn.js "^5.1.3" camelcase "^5.3.1" - chalk "^3.0.0" - ip-regex "^4.1.0" + chalk "^4.1.0" + ip-regex "^4.2.0" -"@polkadot/wasm-crypto@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-1.0.1.tgz#80a2a6e8d63a7decdd1163cc49b263ccef4ad36d" - integrity sha512-l6izEdPXl4V8SBU9m3ct5PkHcdKZVDJMb10CFPNuNXT5OXMRaDs+Rlt/EHKjh8wbv8s9EOqy42BSHO8Qqrcg/g== +"@polkadot/wasm-crypto@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-1.4.1.tgz#0a053d0c2587da30fb5313cef81f8d9a52029c68" + integrity sha512-GPBCh8YvQmA5bobI4rqRkUhrEHkEWU1+lcJVPbZYsa7jiHFaZpzCLrGQfiqW/vtbU1aBS2wmJ0x1nlt33B9QqQ== -"@polkadot/wasm-crypto@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-1.2.1.tgz#2189702447acd28d763886359576c87562241767" - integrity sha512-nckIoZBV4nBZdeKwFwH5t7skS7L7GO5EFUl5B1F6uCjUfdNpDz3DtqbYQHcLdCZNmG4TDLg6w/1J+rkl2SiUZw== +"@polkadot/x-fetch@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-0.3.3.tgz#5ffb91a1f8f5309b60f4c139ab7a8fa61286cf78" + integrity sha512-Osa+ifkqlndIW5U5jLnuugLYTd6q/cHkjdfisyYgNev/etsEtXkqesbGvF/UKw5FgZBxhK8sj6jjfProfh2NZw== + dependencies: + "@babel/runtime" "^7.12.1" + "@types/node-fetch" "^2.5.7" + node-fetch "^2.6.1" + +"@polkadot/x-textdecoder@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-0.3.2.tgz#245a6652d0c15634064b93cf2916e5b4e87db1b0" + integrity sha512-W3KK6mMzOH5kts8pSkyYyfsQuAsKUHmIm8jQkhQnSR6FRyhwJtHLZnxP3feEwkNkRbGggG6CtDPrxYCuEO0MvA== + dependencies: + "@babel/runtime" "^7.11.2" + +"@polkadot/x-textdecoder@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-0.3.3.tgz#276d95866d5ebc0e666a60da658f5715e64fbddb" + integrity sha512-ehbPUUNn34kJh/RV8eQwyLnAFcMQSbtGPKqGRB7GSa/bL7P6hh1QGxB4DwvtlFU//bDTlofsv44ydpjDNmfWLg== + dependencies: + "@babel/runtime" "^7.12.1" + +"@polkadot/x-textencoder@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-0.3.2.tgz#6976bf9a2885fd7f96ae5f9363e259427b9ca259" + integrity sha512-nm7N9gWgKsZv8In1Fgfm+jYOPjprna/03Cd8hOqkCMRlSq0L4LS+d8BPrFhPOiT57VFTTW/7csLivFdeKv0GMA== + dependencies: + "@babel/runtime" "^7.11.2" + +"@polkadot/x-textencoder@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-0.3.3.tgz#e70038de82eaee7215524527da1324639c7c6810" + integrity sha512-klbz82L5LxDJTFoCO64G/EFfY1mKXHDlteJMDGFTOim/1oK1ypLOG8/7BmncmQAw2BevA0r1YkvWN+F3muJSag== + dependencies: + "@babel/runtime" "^7.12.1" + +"@polkadot/x-ws@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-0.3.3.tgz#b2f12c2ef6c534c11d600e239f8be1cade026357" + integrity sha512-t06ID5QLYi5B8bzlT2fcYsQ09yfLf5Uq9idunKRZj13EwSELaqvZFfn2UmiDFiIB1H5u7c2y+VDWbIdqE8ZxKw== + dependencies: + "@babel/runtime" "^7.12.1" + "@types/websocket" "^1.0.1" + websocket "^1.0.32" "@semantic-release/commit-analyzer@^6.1.0": version "6.3.3" @@ -2252,11 +3559,86 @@ import-from "^3.0.0" lodash "^4.17.4" +"@semantic-release/error@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@semantic-release/error/-/error-2.2.0.tgz#ee9d5a09c9969eade1ec864776aeda5c5cddbbf0" + integrity sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg== + +"@semantic-release/github@^5.1.0": + version "5.5.8" + resolved "https://registry.yarnpkg.com/@semantic-release/github/-/github-5.5.8.tgz#2c16d212ca057ba0b0553b6eb62ff0949cfbca6a" + integrity sha512-YxbBXbCThs/Xk3E4QU01AMIUM8eb0UTvjHJtclTDR3/DEW7kUpmXQqBMnSh3qCTuk4scRFIoaF0fGU/0xByZug== + dependencies: + "@octokit/rest" "^16.27.0" + "@semantic-release/error" "^2.2.0" + aggregate-error "^3.0.0" + bottleneck "^2.18.1" + debug "^4.0.0" + dir-glob "^3.0.0" + fs-extra "^8.0.0" + globby "^10.0.0" + http-proxy-agent "^3.0.0" + https-proxy-agent "^4.0.0" + issue-parser "^5.0.0" + lodash "^4.17.4" + mime "^2.4.3" + p-filter "^2.0.0" + p-retry "^4.0.0" + url-join "^4.0.0" + +"@semantic-release/npm@^5.0.5": + version "5.3.5" + resolved "https://registry.yarnpkg.com/@semantic-release/npm/-/npm-5.3.5.tgz#4a83952056d32e1401e1078c3910a159afc0cba8" + integrity sha512-AOREQ6rUT8OAiqXvWCp0kMNjcdnLLq1JdP0voZL4l5zf6Tgs/65YA7ctP+9shthW01Ps85Nu0pILW3p9GkaYuw== + dependencies: + "@semantic-release/error" "^2.2.0" + aggregate-error "^3.0.0" + execa "^3.2.0" + fs-extra "^8.0.0" + lodash "^4.17.15" + nerf-dart "^1.0.0" + normalize-url "^4.0.0" + npm "^6.10.3" + rc "^1.2.8" + read-pkg "^5.0.0" + registry-auth-token "^4.0.0" + tempy "^0.3.0" + +"@semantic-release/release-notes-generator@^7.1.2": + version "7.3.5" + resolved "https://registry.yarnpkg.com/@semantic-release/release-notes-generator/-/release-notes-generator-7.3.5.tgz#ed0941d5b594f18fa1d2667493c03e811f97c0ff" + integrity sha512-LGjgPBGjjmjap/76O0Md3wc04Y7IlLnzZceLsAkcYRwGQdRPTTFUJKqDQTuieWTs7zfHzQoZqsqPfFxEN+g2+Q== + dependencies: + conventional-changelog-angular "^5.0.0" + conventional-changelog-writer "^4.0.0" + conventional-commits-filter "^2.0.0" + conventional-commits-parser "^3.0.0" + debug "^4.0.0" + get-stream "^5.0.0" + import-from "^3.0.0" + into-stream "^5.0.0" + lodash "^4.17.4" + read-pkg-up "^7.0.0" + "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== +"@sinonjs/commons@^1.7.0": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217" + integrity sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + dependencies: + "@sinonjs/commons" "^1.7.0" + "@szmarczak/http-timer@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" @@ -2264,6 +3646,17 @@ dependencies: defer-to-connect "^1.0.1" +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + version "7.1.10" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.10.tgz#ca58fc195dd9734e77e57c6f2df565623636ab40" + integrity sha512-x8OM8XzITIMyiwl5Vmo2B1cR1S1Ipkyv4mdlbJjMa1lmuKvKY9FrBbEANIaMlnWn5Rf7uO+rC/VgYabNkE17Hw== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + "@types/babel__core@^7.1.0": version "7.1.4" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.4.tgz#5c5569cc40e5f2737dfc00692f5444e871e4a234" @@ -2297,6 +3690,13 @@ dependencies: "@babel/types" "^7.3.0" +"@types/babel__traverse@^7.0.4": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.15.tgz#db9e4238931eb69ef8aab0ad6523d4d4caa39d03" + integrity sha512-Pzh9O3sTK8V6I1olsXpCfj2k/ygO2q1X0vhhnDrEQyYLHZesWz+zMZMVcwXLCYf0U36EtmyYaFGPfXlTtDHe3A== + dependencies: + "@babel/types" "^7.3.0" + "@types/bn.js@^4.11.6": version "4.11.6" resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" @@ -2354,6 +3754,13 @@ "@types/minimatch" "*" "@types/node" "*" +"@types/graceful-fs@^4.1.2": + version "4.1.3" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.3.tgz#039af35fe26bec35003e8d86d2ee9c586354348f" + integrity sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ== + dependencies: + "@types/node" "*" + "@types/handlebars@^4.0.38": version "4.1.0" resolved "https://registry.yarnpkg.com/@types/handlebars/-/handlebars-4.1.0.tgz#3fcce9bf88f85fe73dc932240ab3fb682c624850" @@ -2371,6 +3778,11 @@ resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== +"@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + "@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" @@ -2386,7 +3798,22 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" -"@types/jest@^23.3.10", "@types/jest@^23.3.5": +"@types/istanbul-reports@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@26.x", "@types/jest@^26.0.14": + version "26.0.14" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.14.tgz#078695f8f65cb55c5a98450d65083b2b73e5a3f3" + integrity sha512-Hz5q8Vu0D288x3iWXePSn53W7hAjP0H7EQ6QvDO9c7t46mR0lNOLlfuwQ+JkVxuhygHzlzPX+0jKdA3ZgSh+Vg== + dependencies: + jest-diff "^25.2.1" + pretty-format "^25.2.1" + +"@types/jest@^23.3.5": version "23.3.14" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.14.tgz#37daaf78069e7948520474c87b80092ea912520a" integrity sha512-Q5hTcfdudEL2yOmluA1zaSyPbzWPmJ3XfSWeP3RyoYvS9hnje1ZyagrZOuQ6+1nQC1Gw+7gap3pLNL3xL6UBug== @@ -2403,6 +3830,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== +"@types/json-schema@^7.0.5": + version "7.0.6" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" + integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== + "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" @@ -2423,6 +3855,19 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== +"@types/minimist@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" + integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= + +"@types/node-fetch@^2.5.7": + version "2.5.7" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c" + integrity sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw== + dependencies: + "@types/node" "*" + form-data "^3.0.0" + "@types/node@*", "@types/node@>= 8": version "13.7.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.1.tgz#238eb34a66431b71d2aaddeaa7db166f25971a0d" @@ -2434,14 +3879,34 @@ integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== "@types/node@^12.7.7": - version "12.12.27" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.27.tgz#d7506f73160ad30fcebbcf5b8b7d2d976e649e42" - integrity sha512-odQFl/+B9idbdS0e8IxDl2ia/LP8KZLXhV3BUeI98TrZp0uoIzQPhGd+5EtzHmT0SMOIaPd7jfz6pOHLWTtl7A== + version "12.12.69" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.69.tgz#7cb6a3aa0d16664bf2dcd1450ccb8477464fbd79" + integrity sha512-2F2VQRSFmzqgUEXw75L51MgnnZqc6bKWVSUPfrDPzp6mzGGibeVwyQcpvZvBr5RnsoMRHmC8EcBQiobSeqeJxg== + +"@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/prettier@^2.0.0": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.5.tgz#b6ab3bba29e16b821d84e09ecfaded462b816b00" + integrity sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ== "@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== + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" + integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== + +"@types/retry@^0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== "@types/shelljs@^0.8.0": version "0.8.6" @@ -2456,6 +3921,18 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== +"@types/stack-utils@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" + integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== + +"@types/websocket@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/websocket/-/websocket-1.0.1.tgz#039272c196c2c0e4868a0d8a1a27bbb86e9e9138" + integrity sha512-f5WLMpezwVxCLm1xQe/kdPpQIOmL0TXYx2O15VYfYzc7hTIdxiOoOvez+McSIw3b7z/1zGovew9YSL7+h4h7/Q== + 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" @@ -2468,196 +3945,251 @@ dependencies: "@types/yargs-parser" "*" +"@types/yargs@^15.0.0": + version "15.0.9" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.9.tgz#524cd7998fe810cdb02f26101b699cccd156ff19" + integrity sha512-HmU8SeIRhZCWcnRskCs36Q1Q00KBV6Cqh/ora8WN1+22dY07AZdn6Gel8QZ3t26XYPImtcL8WV/eqjhVmMEw4g== + dependencies: + "@types/yargs-parser" "*" + "@typescript-eslint/eslint-plugin@^2.3.1": - version "2.19.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.19.2.tgz#e279aaae5d5c1f2547b4cff99204e1250bc7a058" - integrity sha512-HX2qOq2GOV04HNrmKnTpSIpHjfl7iwdXe3u/Nvt+/cpmdvzYvY0NHSiTkYN257jHnq4OM/yo+OsFgati+7LqJA== + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" + integrity sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ== dependencies: - "@typescript-eslint/experimental-utils" "2.19.2" - eslint-utils "^1.4.3" + "@typescript-eslint/experimental-utils" "2.34.0" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" tsutils "^3.17.1" -"@typescript-eslint/eslint-plugin@^3.10.0": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.0.tgz#40fd53e81639c0d1a515b44e5fdf4c03dfd3cd39" - integrity sha512-Bbeg9JAnSzZ85Y0gpInZscSpifA6SbEgRryaKdP5ZlUjhTKsvZS4GUIE6xAZCjhNTrf4zXXsySo83ZdHL7it0w== +"@typescript-eslint/eslint-plugin@^4.4.1": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.4.1.tgz#b8acea0373bd2a388ac47df44652f00bf8b368f5" + integrity sha512-O+8Utz8pb4OmcA+Nfi5THQnQpHSD2sDUNw9AxNHpuYOo326HZTtG8gsfT+EAYuVrFNaLyNb2QnUNkmTRDskuRA== dependencies: - "@typescript-eslint/experimental-utils" "3.10.0" + "@typescript-eslint/experimental-utils" "4.4.1" + "@typescript-eslint/scope-manager" "4.4.1" debug "^4.1.1" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@2.19.2": - version "2.19.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.19.2.tgz#4611d44cf0f0cb460c26aa7676fc0a787281e233" - integrity sha512-B88QuwT1wMJR750YvTJBNjMZwmiPpbmKYLm1yI7PCc3x0NariqPwqaPsoJRwU9DmUi0cd9dkhz1IqEnwfD+P1A== +"@typescript-eslint/experimental-utils@2.34.0": + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" + integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.19.2" + "@typescript-eslint/typescript-estree" "2.34.0" eslint-scope "^5.0.0" + eslint-utils "^2.0.0" -"@typescript-eslint/experimental-utils@3.10.0": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.0.tgz#f97a669a84a78319ab324cd51169d0c52853a360" - integrity sha512-e5ZLSTuXgqC/Gq3QzK2orjlhTZVXzwxDujQmTBOM1NIVBZgW3wiIZjaXuVutk9R4UltFlwC9UD2+bdxsA7yyNg== +"@typescript-eslint/experimental-utils@4.4.1": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.4.1.tgz#40613b9757fa0170de3e0043254dbb077cafac0c" + integrity sha512-Nt4EVlb1mqExW9cWhpV6pd1a3DkUbX9DeyYsdoeziKOpIJ04S2KMVDO+SEidsXRH/XHDpbzXykKcMTLdTXH6cQ== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/types" "3.10.0" - "@typescript-eslint/typescript-estree" "3.10.0" + "@typescript-eslint/scope-manager" "4.4.1" + "@typescript-eslint/types" "4.4.1" + "@typescript-eslint/typescript-estree" "4.4.1" eslint-scope "^5.0.0" eslint-utils "^2.0.0" "@typescript-eslint/parser@^2.3.1": - version "2.19.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.19.2.tgz#21f42c0694846367e7d6a907feb08ab2f89c0879" - integrity sha512-8uwnYGKqX9wWHGPGdLB9sk9+12sjcdqEEYKGgbS8A0IvYX59h01o8os5qXUHMq2na8vpDRaV0suTLM7S8wraTA== + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" + integrity sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.19.2" - "@typescript-eslint/typescript-estree" "2.19.2" + "@typescript-eslint/experimental-utils" "2.34.0" + "@typescript-eslint/typescript-estree" "2.34.0" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/parser@^3.10.0": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.10.0.tgz#820322d990a82265a78f4c1fc9aae03ce95b76ac" - integrity sha512-iJyf3f2HVwscvJR7ySGMXw2DJgIAPKEz8TeU17XVKzgJRV4/VgCeDFcqLzueRe7iFI2gv+Tln4AV88ZOnsCNXg== +"@typescript-eslint/parser@^4.4.1": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.4.1.tgz#25fde9c080611f303f2f33cedb145d2c59915b80" + integrity sha512-S0fuX5lDku28Au9REYUsV+hdJpW/rNW0gWlc4SXzF/kdrRaAVX9YCxKpziH7djeWT/HFAjLZcnY7NJD8xTeUEg== dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "3.10.0" - "@typescript-eslint/types" "3.10.0" - "@typescript-eslint/typescript-estree" "3.10.0" - eslint-visitor-keys "^1.1.0" + "@typescript-eslint/scope-manager" "4.4.1" + "@typescript-eslint/types" "4.4.1" + "@typescript-eslint/typescript-estree" "4.4.1" + debug "^4.1.1" + +"@typescript-eslint/scope-manager@4.4.1": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.4.1.tgz#d19447e60db2ce9c425898d62fa03b2cce8ea3f9" + integrity sha512-2oD/ZqD4Gj41UdFeWZxegH3cVEEH/Z6Bhr/XvwTtGv66737XkR4C9IqEkebCuqArqBJQSj4AgNHHiN1okzD/wQ== + dependencies: + "@typescript-eslint/types" "4.4.1" + "@typescript-eslint/visitor-keys" "4.4.1" -"@typescript-eslint/types@3.10.0": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.0.tgz#b81906674eca94a884345ba0bc1aaf6cd4da912a" - integrity sha512-ktUWSa75heQNwH85GRM7qP/UUrXqx9d6yIdw0iLO9/uE1LILW+i+3+B64dUodUS2WFWLzKTlwfi9giqrODibWg== +"@typescript-eslint/types@4.4.1": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.4.1.tgz#c507b35cf523bc7ba00aae5f75ee9b810cdabbc1" + integrity sha512-KNDfH2bCyax5db+KKIZT4rfA8rEk5N0EJ8P0T5AJjo5xrV26UAzaiqoJCxeaibqc0c/IvZxp7v2g3difn2Pn3w== -"@typescript-eslint/typescript-estree@2.19.2": - version "2.19.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.19.2.tgz#67485b00172f400474d243c6c0be27581a579350" - integrity sha512-Xu/qa0MDk6upQWqE4Qy2X16Xg8Vi32tQS2PR0AvnT/ZYS4YGDvtn2MStOh5y8Zy2mg4NuL06KUHlvCh95j9C6Q== +"@typescript-eslint/typescript-estree@2.34.0": + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" + integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== 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" + semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/typescript-estree@3.10.0": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.0.tgz#65df13579a5e53c12afb4f1c5309589e3855a5de" - integrity sha512-yjuY6rmVHRhcUKgXaSPNVloRueGWpFNhxR5EQLzxXfiFSl1U/+FBqHhbaGwtPPEgCSt61QNhZgiFjWT27bgAyw== +"@typescript-eslint/typescript-estree@4.4.1": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.4.1.tgz#598f6de488106c2587d47ca2462c60f6e2797cb8" + integrity sha512-wP/V7ScKzgSdtcY1a0pZYBoCxrCstLrgRQ2O9MmCUZDtmgxCO/TCqOTGRVwpP4/2hVfqMz/Vw1ZYrG8cVxvN3g== dependencies: - "@typescript-eslint/types" "3.10.0" - "@typescript-eslint/visitor-keys" "3.10.0" + "@typescript-eslint/types" "4.4.1" + "@typescript-eslint/visitor-keys" "4.4.1" debug "^4.1.1" - glob "^7.1.6" + globby "^11.0.1" is-glob "^4.0.1" lodash "^4.17.15" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@3.10.0": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.0.tgz#6c0cac867e705a42e2c71b359bf6a10a88a28985" - integrity sha512-g4qftk8lWb/rHZe9uEp8oZSvsJhUvR2cfp7F7qE6DyUD2SsovEs8JDQTRP1xHzsD+pERsEpYNqkDgQXW6+ob5A== +"@typescript-eslint/visitor-keys@4.4.1": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.4.1.tgz#1769dc7a9e2d7d2cfd3318b77ed8249187aed5c3" + integrity sha512-H2JMWhLaJNeaylSnMSQFEhT/S/FsJbebQALmoJxMPMxLtlVAMy2uJP/Z543n9IizhjRayLSqoInehCeNW9rWcw== dependencies: - eslint-visitor-keys "^1.1.0" + "@typescript-eslint/types" "4.4.1" + eslint-visitor-keys "^2.0.0" -"@vue/babel-helper-vue-jsx-merge-props@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0.tgz#048fe579958da408fb7a8b2a3ec050b50a661040" - integrity sha512-6tyf5Cqm4m6v7buITuwS+jHzPlIPxbFzEhXR5JGZpbrvOcp1hiQKckd305/3C7C36wFekNTQSxAtgeM0j0yoUw== +"@vue/babel-helper-vue-jsx-merge-props@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz#31624a7a505fb14da1d58023725a4c5f270e6a81" + integrity sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA== -"@vue/babel-plugin-transform-vue-jsx@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.1.2.tgz#c0a3e6efc022e75e4247b448a8fc6b86f03e91c0" - integrity sha512-YfdaoSMvD1nj7+DsrwfTvTnhDXI7bsuh+Y5qWwvQXlD24uLgnsoww3qbiZvWf/EoviZMrvqkqN4CBw0W3BWUTQ== +"@vue/babel-helper-vue-transform-on@^1.0.0-rc.2": + version "1.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.0-rc.2.tgz#7246341f666e7c6e65b13da420e2ce85714fbbca" + integrity sha512-1+7CwjQ0Kasml6rHoNQUmbISwqLNNfFVBUcZl6QBremUl296ZmLrVQPqJP5pyAAWjZke5bpI1hlj+LVVuT7Jcg== + +"@vue/babel-plugin-jsx@^1.0.0-0": + version "1.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.0-rc.3.tgz#ab477ee95c764fbe68842a2eddd474f122e70ac6" + integrity sha512-/Ibq0hoKsidnHWPhgRpjcjYhYcHpqEm2fiKVAPO88OXZNHGwaGgS4yXkC6TDEvlZep4mBDo+2S5T81wpbVh90Q== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + "@vue/babel-helper-vue-transform-on" "^1.0.0-rc.2" + camelcase "^6.0.0" + html-tags "^3.1.0" + svg-tags "^1.0.0" + +"@vue/babel-plugin-transform-vue-jsx@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz#646046c652c2f0242727f34519d917b064041ed7" + integrity sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" html-tags "^2.0.0" lodash.kebabcase "^4.1.1" svg-tags "^1.0.0" -"@vue/babel-preset-app@^3.1.1": - version "3.12.1" - resolved "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-3.12.1.tgz#24c477052f078f30fdb7735103b14dd1fa2cbfe1" - integrity sha512-Zjy5jQaikV1Pz+ri0YgXFS7q4/5wCxB5tRkDOEIt5+4105u0Feb/pvH20nVL6nx9GyXrECFfcm7Yxr/z++OaPQ== +"@vue/babel-preset-app@^4.1.2": + version "4.5.8" + resolved "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-4.5.8.tgz#3fc5f52181db76054ecc085622f3cb066c242f6d" + integrity sha512-efCBo2HY8Jcs6+SyCnvWl8jGeF1Fl38reFL35AjO4SBcro0ol/qjPkeeJLjzvXUxrHAsM9DMfL/DvPa/hBmZwQ== dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/plugin-proposal-class-properties" "^7.0.0" - "@babel/plugin-proposal-decorators" "^7.1.0" - "@babel/plugin-syntax-dynamic-import" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.0.0" - "@babel/plugin-transform-runtime" "^7.4.0" - "@babel/preset-env" "^7.0.0 < 7.4.0" - "@babel/runtime" "^7.0.0" - "@babel/runtime-corejs2" "^7.2.0" - "@vue/babel-preset-jsx" "^1.0.0" - babel-plugin-dynamic-import-node "^2.2.0" - babel-plugin-module-resolver "3.2.0" - core-js "^2.6.5" - -"@vue/babel-preset-jsx@^1.0.0": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.1.2.tgz#2e169eb4c204ea37ca66c2ea85a880bfc99d4f20" - integrity sha512-zDpVnFpeC9YXmvGIDSsKNdL7qCG2rA3gjywLYHPCKDT10erjxF4U+6ay9X6TW5fl4GsDlJp9bVfAVQAAVzxxvQ== + "@babel/core" "^7.11.0" + "@babel/helper-compilation-targets" "^7.9.6" + "@babel/helper-module-imports" "^7.8.3" + "@babel/plugin-proposal-class-properties" "^7.8.3" + "@babel/plugin-proposal-decorators" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-runtime" "^7.11.0" + "@babel/preset-env" "^7.11.0" + "@babel/runtime" "^7.11.0" + "@vue/babel-plugin-jsx" "^1.0.0-0" + "@vue/babel-preset-jsx" "^1.1.2" + babel-plugin-dynamic-import-node "^2.3.3" + core-js "^3.6.5" + core-js-compat "^3.6.5" + semver "^6.1.0" + +"@vue/babel-preset-jsx@^1.1.2": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.3.tgz#355f59206b691a558bc95e4dbd8e59cd27dd76cb" + integrity sha512-yMPoPFH6kiNFAhJknjLKAre7JQNWRPjH1K9EyzTPi/J5T5oDC8sEumSjWI6lBQxcSaBboXpQp92mvxZdXCfiFw== + dependencies: + "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" + "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" + "@vue/babel-sugar-composition-api-inject-h" "^1.2.1" + "@vue/babel-sugar-composition-api-render-instance" "^1.2.1" + "@vue/babel-sugar-functional-vue" "^1.2.2" + "@vue/babel-sugar-inject-h" "^1.2.2" + "@vue/babel-sugar-v-model" "^1.2.3" + "@vue/babel-sugar-v-on" "^1.2.3" + +"@vue/babel-sugar-composition-api-inject-h@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz#05d6e0c432710e37582b2be9a6049b689b6f03eb" + integrity sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ== dependencies: - "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0" - "@vue/babel-plugin-transform-vue-jsx" "^1.1.2" - "@vue/babel-sugar-functional-vue" "^1.1.2" - "@vue/babel-sugar-inject-h" "^1.1.2" - "@vue/babel-sugar-v-model" "^1.1.2" - "@vue/babel-sugar-v-on" "^1.1.2" + "@babel/plugin-syntax-jsx" "^7.2.0" -"@vue/babel-sugar-functional-vue@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.1.2.tgz#f7e24fba09e6f1ee70104560a8808057555f1a9a" - integrity sha512-YhmdJQSVEFF5ETJXzrMpj0nkCXEa39TvVxJTuVjzvP2rgKhdMmQzlJuMv/HpadhZaRVMCCF3AEjjJcK5q/cYzQ== +"@vue/babel-sugar-composition-api-render-instance@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.1.tgz#745cf4608ed71476c66434203d0603f32b4c025b" + integrity sha512-F2gQbEMOUPyapqc85/O1Tbw0qBuvgXC/qBcBsjMKqC7KWJ4hK1eJUvU3iLHHTbre6V7zzIjrqEe0SoE1lR4mfw== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" -"@vue/babel-sugar-inject-h@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.1.2.tgz#8a5276b6d8e2ed16ffc8078aad94236274e6edf0" - integrity sha512-VRSENdTvD5htpnVp7i7DNuChR5rVMcORdXjvv5HVvpdKHzDZAYiLSD+GhnhxLm3/dMuk8pSzV+k28ECkiN5m8w== +"@vue/babel-sugar-functional-vue@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz#267a9ac8d787c96edbf03ce3f392c49da9bd2658" + integrity sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" -"@vue/babel-sugar-v-model@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.1.2.tgz#1ff6fd1b800223fc9cb1e84dceb5e52d737a8192" - integrity sha512-vLXPvNq8vDtt0u9LqFdpGM9W9IWDmCmCyJXuozlq4F4UYVleXJ2Fa+3JsnTZNJcG+pLjjfnEGHci2339Kj5sGg== +"@vue/babel-sugar-inject-h@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz#d738d3c893367ec8491dcbb669b000919293e3aa" + integrity sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-v-model@^1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz#fa1f29ba51ebf0aa1a6c35fa66d539bc459a18f2" + integrity sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0" - "@vue/babel-plugin-transform-vue-jsx" "^1.1.2" + "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" + "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" camelcase "^5.0.0" html-tags "^2.0.0" svg-tags "^1.0.0" -"@vue/babel-sugar-v-on@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.1.2.tgz#b2ef99b8f2fab09fbead25aad70ef42e1cf5b13b" - integrity sha512-T8ZCwC8Jp2uRtcZ88YwZtZXe7eQrJcfRq0uTFy6ShbwYJyz5qWskRFoVsdTi9o0WEhmQXxhQUewodOSCUPVmsQ== +"@vue/babel-sugar-v-on@^1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz#342367178586a69f392f04bfba32021d02913ada" + integrity sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-plugin-transform-vue-jsx" "^1.1.2" + "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" camelcase "^5.0.0" "@vue/component-compiler-utils@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.1.1.tgz#d4ef8f80292674044ad6211e336a302e4d2a6575" - integrity sha512-+lN3nsfJJDGMNz7fCpcoYIORrXo0K3OTsdr8jCM7FuqdI4+70TY6gxY6viJ2Xi1clqyPg7LpeOWwjF31vSMmUw== + version "3.2.0" + resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz#8f85182ceed28e9b3c75313de669f83166d11e5d" + integrity sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw== dependencies: consolidate "^0.15.1" hash-sum "^1.0.2" @@ -2665,28 +4197,30 @@ merge-source-map "^1.1.0" postcss "^7.0.14" postcss-selector-parser "^6.0.2" - prettier "^1.18.2" source-map "~0.6.1" vue-template-es2015-compiler "^1.9.0" + optionalDependencies: + prettier "^1.18.2" -"@vuepress/core@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@vuepress/core/-/core-1.3.0.tgz#6e8b51c9face2509bbd918e79e771c2f72694752" - integrity sha512-/KaH10ggZeEnwh/i8A02VtGHfuIfTEf/pIPV9BBVjK5M6ToPhF2pkcXlPk5PbCWam2dKm7ZDQddJzev1dY5TNA== - dependencies: - "@babel/core" "^7.0.0" - "@vue/babel-preset-app" "^3.1.1" - "@vuepress/markdown" "^1.3.0" - "@vuepress/markdown-loader" "^1.3.0" - "@vuepress/plugin-last-updated" "^1.3.0" - "@vuepress/plugin-register-components" "^1.3.0" - "@vuepress/shared-utils" "^1.3.0" +"@vuepress/core@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@vuepress/core/-/core-1.7.1.tgz#e92faad0e9445fdd775f8e0d65e927bc35e80571" + integrity sha512-M5sxZq30Ke1vXa4ZZjk6185fwtpiJOqzXNnzcIe0GxtvtaF8Yij6b+KqQKlUJnnUXm+CKxiLCr8PTzDY26N7yw== + dependencies: + "@babel/core" "^7.8.4" + "@vue/babel-preset-app" "^4.1.2" + "@vuepress/markdown" "1.7.1" + "@vuepress/markdown-loader" "1.7.1" + "@vuepress/plugin-last-updated" "1.7.1" + "@vuepress/plugin-register-components" "1.7.1" + "@vuepress/shared-utils" "1.7.1" autoprefixer "^9.5.1" babel-loader "^8.0.4" cache-loader "^3.0.0" chokidar "^2.0.3" connect-history-api-fallback "^1.5.0" copy-webpack-plugin "^5.0.2" + core-js "^3.6.4" cross-spawn "^6.0.5" css-loader "^2.1.1" file-loader "^3.0.1" @@ -2701,7 +4235,7 @@ url-loader "^1.0.1" vue "^2.6.10" vue-loader "^15.7.1" - vue-router "^3.1.3" + vue-router "^3.4.5" vue-server-renderer "^2.6.10" vue-template-compiler "^2.6.10" vuepress-html-webpack-plugin "^3.2.0" @@ -2712,21 +4246,21 @@ webpack-merge "^4.1.2" webpackbar "3.2.0" -"@vuepress/markdown-loader@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@vuepress/markdown-loader/-/markdown-loader-1.3.0.tgz#fa5cd9249ce754c689da7f058a9881343dca4ce7" - integrity sha512-20J9+wuyCxhwOWfb7aDY0F/+j2oQYaoDE1VbH3zaqI9XesPl42DsEwA1Nw1asEm3yXdh+uC2scBCiNcv94tsHg== +"@vuepress/markdown-loader@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@vuepress/markdown-loader/-/markdown-loader-1.7.1.tgz#f3ab20965d5dec6e2fc2d11c78ef1a9f08d62f72" + integrity sha512-GM1F/tRhP9qZydTC89FXJPlLH+BmZijMKom5BYLAMEXsU20A9kABTRoatPjOUbZuKT+gn03JgG97qVd8xa/ETw== dependencies: - "@vuepress/markdown" "^1.3.0" + "@vuepress/markdown" "1.7.1" loader-utils "^1.1.0" lru-cache "^5.1.1" -"@vuepress/markdown@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@vuepress/markdown/-/markdown-1.3.0.tgz#baf3251bae7e0309da3ecb75bc690f975cf777e9" - integrity sha512-h4FCAxcYLSGuoftbumsesqquRuQksb98sygiP/EV1J7z3qVj8r/1YdRRoUoE0Yd9hw0izN52KJRYZC7tlUmBnw== +"@vuepress/markdown@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@vuepress/markdown/-/markdown-1.7.1.tgz#56f60c2362fd82b8f2702eefa366c0d5b02fdcbd" + integrity sha512-Ava9vJECHG1+RC53ut1dXSze35IH5tc3qesC06Ny37WS93iDSQy09j8y+a0Lugy12j1369+QQeRFWa40tdHczA== dependencies: - "@vuepress/shared-utils" "^1.3.0" + "@vuepress/shared-utils" "1.7.1" markdown-it "^8.4.1" markdown-it-anchor "^5.0.2" markdown-it-chain "^1.3.0" @@ -2734,213 +4268,212 @@ markdown-it-table-of-contents "^0.4.0" prismjs "^1.13.0" -"@vuepress/plugin-active-header-links@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.3.0.tgz#8b4184e7c84a5ee754e6b4f34997c3bd7ae07b72" - integrity sha512-C+EhZefAOxN83jVZebRWqFUBUklTsTtWRiDFczxcxqH995ZZumi1UFKj9TurOjrZppUDr4ftfxIqGkj4QSUeWw== +"@vuepress/plugin-active-header-links@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.7.1.tgz#5a16281bebb977fc1c2b93d992b1a3b7ff840641" + integrity sha512-Wgf/oB9oPZLnYoLjQ/xbQc4Qa3RU5tXAo2dB4Xl/7bUL6SqBxO866kX3wPxKdSOIL58tq8iH9XbUe3Sxi8/ISQ== dependencies: lodash.debounce "^4.0.8" -"@vuepress/plugin-last-updated@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@vuepress/plugin-last-updated/-/plugin-last-updated-1.3.0.tgz#4d83e6f0a05223971fe77a22f4fe26e5ad518410" - integrity sha512-zCg98YiCFzBo7hHh5CE4H7lO13QaexeNXKC8SC7aNopjhg1/+rzFKEWt5frARnYqhMrkhEqcegSuB4xWxNV+zQ== +"@vuepress/plugin-last-updated@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-last-updated/-/plugin-last-updated-1.7.1.tgz#668c55daa6b8bc1d8ee42cdb4169cf67c01b6e97" + integrity sha512-VW5jhBuO0WRHDsBmFsKC6QtEyBLCgyhuH9nQ65aairCn3tdoJPz0uQ4g3lr/boVbgsPexO677Sn3dRPgYqnMug== dependencies: cross-spawn "^6.0.5" -"@vuepress/plugin-nprogress@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@vuepress/plugin-nprogress/-/plugin-nprogress-1.3.0.tgz#8cdb7cc7b881e838035b2041e209da959998b8e2" - integrity sha512-PuBDAhaYLvwG63LamIc1fMk+s4kUqPuvNYKfZjQlF3LtXjlCMvd6YEQyogfB9cZnFOg1nryeHJwWoAdFvzw29Q== +"@vuepress/plugin-nprogress@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-nprogress/-/plugin-nprogress-1.7.1.tgz#101ebf720eaa635a473e16ca16e7b4a7850331fa" + integrity sha512-KtqfI3RitbsEbm22EhbooTvhjfMf6zttKlbND7LcyJwP3MEPVYyzQJuET03hk9z4SgCfNV2r/W3sYyejzzTMog== dependencies: nprogress "^0.2.0" -"@vuepress/plugin-register-components@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@vuepress/plugin-register-components/-/plugin-register-components-1.3.0.tgz#2e20ed6120059720947dc282d4a0a47d0602fbe1" - integrity sha512-IkBacuTDHSHhI3qWXPQtVWTEAL+wprrbaYrD+g2n9xV3dzMkhHJxbpRpw7eAbvsP85a03rVouwRukZ+YlhYPPQ== +"@vuepress/plugin-register-components@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-register-components/-/plugin-register-components-1.7.1.tgz#1ff58e931e8c27d64f9b86f2df879ddaceccdebe" + integrity sha512-MlFdH6l3rTCJlGMvyssXVG998cq5LSMzxCuQLYcRdtHQT4HbikIcV4HSPGarWInD1mP12+qX/PvKUawGwp1eVg== dependencies: - "@vuepress/shared-utils" "^1.3.0" + "@vuepress/shared-utils" "1.7.1" -"@vuepress/plugin-search@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@vuepress/plugin-search/-/plugin-search-1.3.0.tgz#ec3619a2d70696f7f91575121f4b7409ba229d07" - integrity sha512-buoQ6gQ2MLbLQ7Nhg5KJWPzKo7NtvdK/e6Fo1ig/kbOG5HyYKHCyqLjbQ/ZqT+fGbaSeEjH3DaVYTNx55GRX5A== +"@vuepress/plugin-search@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-search/-/plugin-search-1.7.1.tgz#f52b6e77af30f452213bc677741cefe8a8309be2" + integrity sha512-OmiGM5eYg9c+uC50b6/cSxAhqxfD7AIui6JEztFGeECrlP33RLHmteXK9YBBZjp5wTNmoYs+NXI/cWggYUPW8Q== -"@vuepress/shared-utils@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@vuepress/shared-utils/-/shared-utils-1.3.0.tgz#2c9afccaed0bcdf4ceb1c02becdeac61da6dbec2" - integrity sha512-n1AFgt8SiMDdc5aIj5yOqS3E6+dAZ+9tPw6qf1mBiqvdZzwaUtlydvXqVkskrwUo18znLrUr55VYwubMOaxFnQ== +"@vuepress/shared-utils@1.7.1", "@vuepress/shared-utils@^1.2.0": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@vuepress/shared-utils/-/shared-utils-1.7.1.tgz#028bc6003247bb4c60cdc96f231eecfb55e7b85d" + integrity sha512-ydB2ZKsFZE6hFRb9FWqzZksxAPIMJjtBawk50RP6F+YX5HbID/HlyYYZM9aDSbk6RTkjgB5UzJjggA2xM8POlw== dependencies: chalk "^2.3.2" - diacritics "^1.3.0" escape-html "^1.0.3" fs-extra "^7.0.1" globby "^9.2.0" gray-matter "^4.0.1" hash-sum "^1.0.2" semver "^6.0.0" + toml "^3.0.0" upath "^1.1.0" -"@vuepress/theme-default@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@vuepress/theme-default/-/theme-default-1.3.0.tgz#ae7b126d800139d3995815b4c44be3940c7f0195" - integrity sha512-0KKTIQQAyO3xE9Gn5vdQYWY+B1onzMm2i3Td610FiLsCRqeHsWs/stl6tlP3nV75OUHwBRH/w0ITrIF4kMR7GQ== +"@vuepress/theme-default@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@vuepress/theme-default/-/theme-default-1.7.1.tgz#36fee5bb5165798c0082c512cbf4d94352260d97" + integrity sha512-a9HeTrlcWQj3ONHiABmlN2z9TyIxKfQtLsA8AL+WgjN3PikhFuZFIJGzfr+NLt67Y9oiI+S9ZfiaVyvWM+7bWQ== dependencies: - "@vuepress/plugin-active-header-links" "^1.3.0" - "@vuepress/plugin-nprogress" "^1.3.0" - "@vuepress/plugin-search" "^1.3.0" + "@vuepress/plugin-active-header-links" "1.7.1" + "@vuepress/plugin-nprogress" "1.7.1" + "@vuepress/plugin-search" "1.7.1" docsearch.js "^2.5.2" lodash "^4.17.15" - stylus "^0.54.5" + stylus "^0.54.8" stylus-loader "^3.0.2" vuepress-plugin-container "^2.0.2" vuepress-plugin-smooth-scroll "^0.0.3" -"@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== +"@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.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" + "@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== +"@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.8.5" + "@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== +"@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.8.5" - mamacro "^0.0.3" + "@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== +"@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.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" + "@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== +"@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== +"@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-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== +"@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.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.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/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== +"@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.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" + "@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== +"@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.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/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" +"@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== +"@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.8.5" - "@webassemblyjs/wast-parser" "1.8.5" + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": @@ -2962,7 +4495,7 @@ mkdirp-promise "^5.0.1" mz "^2.5.0" -JSONStream@^1.0.4, JSONStream@^1.3.4: +JSONStream@^1.0.4, JSONStream@^1.3.4, JSONStream@^1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== @@ -2975,7 +4508,12 @@ abab@^2.0.0: resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== -abbrev@1: +abab@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +abbrev@1, abbrev@~1.1.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== @@ -2996,10 +4534,13 @@ acorn-globals@^4.1.0: acorn "^6.0.1" acorn-walk "^6.0.1" -acorn-jsx@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" - integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" acorn-jsx@^5.2.0: version "5.2.0" @@ -3011,20 +4552,30 @@ acorn-walk@^6.0.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + 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.2.1: +acorn@^6.0.1: version "6.4.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784" integrity sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw== -acorn@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" - integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== +acorn@^6.4.1: + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== acorn@^7.4.0: version "7.4.0" @@ -3038,6 +4589,11 @@ agent-base@4, agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" +agent-base@5: + version "5.1.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c" + integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g== + agent-base@~4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" @@ -3057,17 +4613,35 @@ agentkeepalive@^3.4.1: dependencies: humanize-ms "^1.2.1" +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + 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-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.1.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + 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.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: version "6.11.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.11.0.tgz#c3607cbc8ae392d8a5a536f25b21f8e5f3f87fe9" integrity sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA== @@ -3103,6 +4677,13 @@ alphanum-sort@^1.0.0: 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-align@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" @@ -3125,12 +4706,19 @@ ansi-escapes@^1.1.0: resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" integrity sha1-06ioOzGapneTZisT52HHkRQiMG4= -ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: +ansi-escapes@^3.0.0, ansi-escapes@^3.1.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.1.0, ansi-escapes@^4.2.1: +ansi-escapes@^4.1.0: + 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-escapes@^4.2.1: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.0.tgz#a4ce2b33d6b214b7950d8595c212f12ac9cc569d" integrity sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg== @@ -3174,7 +4762,14 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0, ansi-styles@^4.1.0: +ansi-styles@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +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== @@ -3182,6 +4777,16 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: "@types/color-name" "^1.1.1" color-convert "^2.0.1" +ansicolors@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" + integrity sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk= + +ansistyles@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ansistyles/-/ansistyles-0.1.3.tgz#5de60415bda071bb37127854c864f41b23254539" + integrity sha1-XeYEFb2gcbs3EnhUyGT0GyMlRTk= + any-promise@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" @@ -3203,16 +4808,29 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -aproba@^1.0.3, aproba@^1.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, aproba@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== -aproba@^2.0.0: +"aproba@^1.1.2 || 2", 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" @@ -3233,6 +4851,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argv-formatter@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/argv-formatter/-/argv-formatter-1.0.0.tgz#a0ca0cbc29a5b73e836eebe1cbf6c5e0e4eb82f9" + integrity sha1-oMoMvCmltz6Dbuvhy/bF4OTrgvk= + arr-diff@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" @@ -3285,7 +4908,7 @@ array-ify@^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: +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== @@ -3301,6 +4924,11 @@ array-union@^1.0.1, array-union@^1.0.2: dependencies: array-uniq "^1.0.1" +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" @@ -3316,7 +4944,7 @@ array-unique@^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, array.prototype.flat@^1.2.3: +array.prototype.flat@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== @@ -3334,14 +4962,15 @@ asap@^2.0.0, asap@~2.0.3: 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== +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== dependencies: bn.js "^4.0.0" inherits "^2.0.1" minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" asn1@~0.2.3: version "0.2.4" @@ -3400,6 +5029,11 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + atob-lite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696" @@ -3418,17 +5052,17 @@ autocomplete.js@0.36.0: immediate "^3.2.3" autoprefixer@^9.5.1: - version "9.7.4" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.4.tgz#f8bf3e06707d047f0641d87aee8cfb174b2a5378" - integrity sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g== + version "9.8.6" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== dependencies: - browserslist "^4.8.3" - caniuse-lite "^1.0.30001020" - chalk "^2.4.2" + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + colorette "^1.2.1" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.26" - postcss-value-parser "^4.0.2" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" aws-sign2@~0.7.0: version "0.7.0" @@ -3458,28 +5092,50 @@ babel-jest@^24.9.0: chalk "^2.4.2" slash "^2.0.0" +babel-jest@^26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.5.2.tgz#164f367a35946c6cf54eaccde8762dec50422250" + integrity sha512-U3KvymF3SczA3vOL/cgiUFOznfMET+XDIXiWnoJV45siAp2pLMG8i2+/MGZlAC3f/F6Q40LR4M4qDrWZ9wkK8A== + dependencies: + "@jest/transform" "^26.5.2" + "@jest/types" "^26.5.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.5.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + babel-loader@^8.0.4: - version "8.0.6" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" - integrity sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw== + 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.0.0" - loader-utils "^1.0.2" - mkdirp "^0.5.1" + 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-conditional-compile@^0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/babel-plugin-conditional-compile/-/babel-plugin-conditional-compile-0.0.5.tgz#66d99537e055261d96de2c9ec4cc66ed2d3c287d" integrity sha1-ZtmVN+BVJh2W3iyexMxm7S08KH0= -babel-plugin-dynamic-import-node@^2.2.0, babel-plugin-dynamic-import-node@^2.3.0: +babel-plugin-dynamic-import-node@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== dependencies: object.assign "^4.1.0" +babel-plugin-dynamic-import-node@^2.3.3: + 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" @@ -3490,6 +5146,17 @@ babel-plugin-istanbul@^5.1.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" @@ -3497,7 +5164,17 @@ babel-plugin-jest-hoist@^24.9.0: dependencies: "@types/babel__traverse" "^7.0.6" -babel-plugin-module-resolver@3.2.0, babel-plugin-module-resolver@^3.2.0: +babel-plugin-jest-hoist@^26.5.0: + version "26.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.5.0.tgz#3916b3a28129c29528de91e5784a44680db46385" + integrity sha512-ck17uZFD3CDfuwCLATWZxkkuGGFhMij8quP8CNhwj8ek1mqFgbFzRJ30xwC04LLscj/aKsVFfRST+b5PT7rSuw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-module-resolver@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.2.0.tgz#ddfa5e301e3b9aa12d852a9979f18b37881ff5a7" integrity sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA== @@ -3508,6 +5185,23 @@ babel-plugin-module-resolver@3.2.0, babel-plugin-module-resolver@^3.2.0: reselect "^3.0.1" resolve "^1.4.0" +babel-preset-current-node-syntax@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz#826f1f8e7245ad534714ba001f84f7e906c3b615" + integrity sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w== + 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-import-meta" "^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" @@ -3516,6 +5210,14 @@ babel-preset-jest@^24.9.0: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" babel-plugin-jest-hoist "^24.9.0" +babel-preset-jest@^26.5.0: + version "26.5.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.5.0.tgz#f1b166045cd21437d1188d29f7fba470d5bdb0e7" + integrity sha512-F2vTluljhqkiGSJGBg/jOruA8vIIIL11YrxRcO7nviNTMbbofPSHwnm8mgP7d/wS7wRSexRoI6X1A6T74d4LQA== + dependencies: + babel-plugin-jest-hoist "^26.5.0" + babel-preset-current-node-syntax "^0.1.3" + babel-runtime@^6.9.2: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" @@ -3536,13 +5238,6 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= -base-x@^3.0.2, base-x@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.7.tgz#1c5a7fafe8f66b4114063e8da102799d4e7c408f" - integrity sha512-zAKJGuQPihXW22fkrfOclUUZXM2g92z5GzlSMHxhO6r6Qj+Nm0ccaGNBzDZojzwOMkpjAv4J0fOv1U4go+a4iw== - dependencies: - safe-buffer "^5.0.1" - base-x@^3.0.8: version "3.0.8" resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" @@ -3595,11 +5290,28 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== +bin-links@^1.1.2, bin-links@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-1.1.8.tgz#bd39aadab5dc4bdac222a07df5baf1af745b2228" + integrity sha512-KgmVfx+QqggqP9dA3iIc5pA4T1qEEEL+hOhOhNPaUm77OTrJoOXE/C05SJLNJe6m/2wUK7F1tDSou7n5TfCDzQ== + dependencies: + bluebird "^3.5.3" + cmd-shim "^3.0.0" + gentle-fs "^2.3.0" + graceful-fs "^4.1.15" + npm-normalize-package-bin "^1.0.0" + write-file-atomic "^2.3.0" + 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.1.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" + integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== + bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" @@ -3627,20 +5339,15 @@ bluebird@^3.1.1, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: 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: +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: version "4.11.9" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== -bn.js@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.1.tgz#48efc4031a9c4041b9c99c6941d903463ab62eb5" - integrity sha512-IUTD/REb78Z2eodka1QZyyEk66pciRcP6Sroka0aI3tG/iwIdYLrBD62RsubR7vqdt3WyX8p4jxeatzmRSphtA== - -bn.js@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0" - integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA== +bn.js@^5.1.1, bn.js@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" + integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== body-parser@1.19.0: version "1.19.0" @@ -3675,6 +5382,24 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= +bottleneck@^2.18.1: + version "2.19.5" + resolved "https://registry.yarnpkg.com/bottleneck/-/bottleneck-2.19.5.tgz#5df0b90f59fd47656ebe63c78a98419205cadd91" + integrity sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw== + +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" + boxen@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" @@ -3697,7 +5422,16 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^1.8.2, braces@^2.3.1, braces@^2.3.2: +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +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== @@ -3713,6 +5447,13 @@ braces@^1.8.2, braces@^2.3.1, braces@^2.3.2: 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" @@ -3723,6 +5464,11 @@ browser-process-hrtime@^0.1.2: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw== +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" @@ -3761,7 +5507,7 @@ browserify-des@^1.0.0: inherits "^2.0.1" safe-buffer "^5.1.2" -browserify-rsa@^4.0.0: +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= @@ -3770,17 +5516,19 @@ browserify-rsa@^4.0.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= + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== 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" + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" browserify-zlib@^0.2.0: version "0.2.0" @@ -3789,7 +5537,17 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.0.0, browserslist@^4.3.4, browserslist@^4.8.3, browserslist@^4.8.5: +browserslist@^4.0.0, browserslist@^4.12.0: + version "4.14.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.5.tgz#1c751461a102ddc60e40993639b709be7f2c4015" + integrity sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA== + dependencies: + caniuse-lite "^1.0.30001135" + electron-to-chromium "^1.3.571" + escalade "^3.1.0" + node-releases "^1.1.61" + +browserslist@^4.8.3, browserslist@^4.8.5: version "4.8.7" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.7.tgz#ec8301ff415e6a42c949d0e66b405eb539c532d0" integrity sha512-gFOnZNYBHrEyUML0xr5NJ6edFaaKbTFX9S9kQHlYfCP0Rit/boRIz4G+Avq6/4haEKJXdGGUnoolx+5MWW2BoA== @@ -3805,13 +5563,6 @@ bs-logger@0.x: dependencies: fast-json-stable-stringify "2.x" -bs58@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" - integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= - dependencies: - base-x "^3.0.2" - bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -3853,10 +5604,12 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= +bufferutil@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.1.tgz#3a177e8e5819a1243fe16b63a199951a7ad8d4a7" + integrity sha512-xowrxvpxojqkagPcWRQVXZl0YXhRhAtBEIq3VoER1NH5Mw1n1o0ojdspp+GS2J//2gCVyrzQDApQ4unGF+QOoA== + dependencies: + node-gyp-build "~3.7.0" builtin-status-codes@^3.0.0: version "3.0.0" @@ -3888,10 +5641,10 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cac@^6.5.5: - version "6.5.6" - resolved "https://registry.yarnpkg.com/cac/-/cac-6.5.6.tgz#0120e39c9e56a7ab6418b078e6ad0595f2982375" - integrity sha512-8jsGLeBiYEVYTDExaj/rDPG4tyra4yjjacIL10TQ+MobPcg9/IST+dkKLu6sOzq0GcIC6fQqX1nkH9HoskQLAw== +cac@^6.5.6: + version "6.6.1" + resolved "https://registry.yarnpkg.com/cac/-/cac-6.6.1.tgz#3dde3f6943f45d42a56729ea3573c08b3e7b6a6d" + integrity sha512-uhki4T3Ax68hw7Dufi0bATVAF8ayBSwOKUEJHjObPrUN4tlQ8Lf7oljpTje/mArLxYN0D743c2zJt4C1bVTCqg== cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: version "12.0.3" @@ -3954,6 +5707,11 @@ cacheable-request@^6.0.0: normalize-url "^4.1.0" responselike "^1.0.2" +call-limit@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/call-limit/-/call-limit-1.1.1.tgz#ef15f2670db3f1992557e2d965abc459e6e358d4" + integrity sha512-5twvci5b9eRBw2wCfPtN0GmlR2/gadZqyFpPhOK6CvMFoFgA+USnZ6Jpu1lhG9h85pQ3Ouil3PfXWRD4EUaRiQ== + 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" @@ -4008,12 +5766,21 @@ camelcase-keys@^4.0.0: map-obj "^2.0.0" quick-lru "^1.0.0" +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + 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.1.0: +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= @@ -4023,6 +5790,11 @@ camelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +camelcase@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.1.0.tgz#27dc176173725fb0adf8a48b647f4d7871944d78" + integrity sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ== + caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" @@ -4033,7 +5805,12 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001027: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001135: + version "1.0.30001148" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001148.tgz#dc97c7ed918ab33bf8706ddd5e387287e015d637" + integrity sha512-E66qcd0KMKZHNJQt9hiLZGE3J4zuTqE1OnU53miEVtylFbwOEmeA5OsRu90noZful+XGSQOni1aT2tiqu/9yYw== + +caniuse-lite@^1.0.30001027: version "1.0.30001027" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001027.tgz#283e2ef17d94889cc216a22c6f85303d78ca852d" integrity sha512-7xvKeErvXZFtUItTHgNtLgS9RJpVnwBlWX8jSo/BO8VsF6deszemZSkJJJA1KOKrXuzZH4WALpAJdq5EyfgMLg== @@ -4045,6 +5822,19 @@ capture-exit@^2.0.0: 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== + +cardinal@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505" + integrity sha1-fMEFXYItISlU0HsIXeolHMe8VQU= + dependencies: + ansicolors "~0.3.2" + redeyed "~2.1.0" + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -4086,6 +5876,11 @@ chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + chardet@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" @@ -4096,23 +5891,7 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -chokidar@^1.6.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" - integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - -chokidar@^2.0.2, chokidar@^2.0.3, chokidar@^2.1.8: +chokidar@2.1.8, chokidar@^2.0.3, chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== @@ -4131,7 +5910,38 @@ chokidar@^2.0.2, chokidar@^2.0.3, chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chownr@^1.1.1, chownr@^1.1.2: +chokidar@^1.6.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +chokidar@^3.4.0, chokidar@^3.4.1: + version "3.4.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" + integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== + 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.5.0" + optionalDependencies: + fsevents "~2.1.2" + +chownr@^1.1.1, chownr@^1.1.2, chownr@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -4143,7 +5953,7 @@ chrome-trace-event@^1.0.2: dependencies: tslib "^1.9.0" -ci-info@^1.6.0: +ci-info@^1.5.0, ci-info@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== @@ -4153,6 +5963,13 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== +cidr-regex@^2.0.10: + version "2.0.10" + resolved "https://registry.yarnpkg.com/cidr-regex/-/cidr-regex-2.0.10.tgz#af13878bd4ad704de77d6dc800799358b3afa70d" + integrity sha512-sB3ogMQXWvreNPbJUZMRApxuRYd+KoIo4RGQ81VatjmMW6WJPo+IJZ2846FGItr9VzKo5w7DXzijPLGtSd0N3Q== + dependencies: + ip-regex "^2.1.0" + 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" @@ -4178,10 +5995,28 @@ clean-css@4.2.x: dependencies: source-map "~0.6.0" -cli-boxes@^2.2.0: +clean-stack@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" - integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== + 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-boxes@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== + +cli-columns@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/cli-columns/-/cli-columns-3.1.2.tgz#6732d972979efc2ae444a1f08e08fa139c96a18e" + integrity sha1-ZzLZcpee/CrkRKHwjgj6E5yWoY4= + dependencies: + string-width "^2.0.0" + strip-ansi "^3.0.1" cli-cursor@^2.1.0: version "2.1.0" @@ -4197,11 +6032,33 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" +cli-table3@^0.5.0, cli-table3@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" + integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== + dependencies: + object-assign "^4.1.0" + string-width "^2.1.1" + optionalDependencies: + colors "^1.1.2" + +cli-table@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" + integrity sha1-9TsFJmqLGguTSz0IIebi3FkUriM= + dependencies: + colors "1.0.3" + cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + clipboard@^2.0.0: version "2.0.6" resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.6.tgz#52921296eec0fdf77ead1749421b21c968647376" @@ -4211,13 +6068,13 @@ clipboard@^2.0.0: select "^1.1.2" tiny-emitter "^2.0.0" -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== +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" wrap-ansi "^2.0.0" cliui@^5.0.0: @@ -4259,6 +6116,14 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= +cmd-shim@^3.0.0, cmd-shim@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-3.0.3.tgz#2c35238d3df37d98ecdd7d5f6b8dc6b21cadc7cb" + integrity sha512-DtGg+0xiFhQIntSBRzL2fRQBnmtAVwXIDo4Qq46HPpObYquxMaZS4sb82U9nH91qJrlosC1wa9gwr0QyL/HypA== + dependencies: + graceful-fs "^4.1.2" + mkdirp "~0.5.0" + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -4278,6 +6143,11 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= +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" @@ -4310,28 +6180,38 @@ color-name@^1.0.0, color-name@~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== +color-string@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" + integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== 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== + version "3.1.3" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" + integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== dependencies: color-convert "^1.9.1" - color-string "^1.5.2" + color-string "^1.5.4" + +colorette@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== -colors@1.0.x: +colors@1.0.3, colors@1.0.x: version "1.0.3" resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= -columnify@^1.5.4: +colors@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +columnify@^1.5.4, columnify@~1.5.4: version "1.5.4" resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" integrity sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs= @@ -4339,7 +6219,7 @@ columnify@^1.5.4: strip-ansi "^3.0.0" wcwidth "^1.0.0" -combined-stream@^1.0.6, combined-stream@~1.0.6: +combined-stream@^1.0.6, combined-stream@^1.0.8, 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== @@ -4351,7 +6231,7 @@ commander@2.17.x: resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== -commander@^2.12.1, commander@^2.20.0, commander@~2.20.3: +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== @@ -4379,6 +6259,14 @@ compare-func@^1.3.1: array-ify "^1.0.0" dot-prop "^3.0.0" +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== + dependencies: + array-ify "^1.0.0" + dot-prop "^5.1.0" + component-emitter@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" @@ -4429,7 +6317,7 @@ concat-stream@^2.0.0: readable-stream "^3.0.2" typedarray "^0.0.6" -config-chain@^1.1.11: +config-chain@^1.1.11, config-chain@^1.1.12: 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== @@ -4437,6 +6325,18 @@ config-chain@^1.1.11: ini "^1.3.4" proto-list "~1.2.1" +configstore@^3.0.0: + version "3.1.5" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.5.tgz#e9af331fadc14dabd544d3e7e76dc446a09a530f" + integrity sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA== + dependencies: + dot-prop "^4.2.1" + 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" + configstore@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" @@ -4455,16 +6355,16 @@ connect-history-api-fallback@^1.5.0, connect-history-api-fallback@^1.6.0: integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== consola@^2.6.0: - version "2.11.3" - resolved "https://registry.yarnpkg.com/consola/-/consola-2.11.3.tgz#f7315836224c143ac5094b47fd4c816c2cd1560e" - integrity sha512-aoW0YIIAmeftGR8GSpw6CGQluNdkWMWh3yEFjH/hmynTYnMtibXszii3lxCXmk8YxJtI3FAK5aTiquA5VH68Gw== + version "2.15.0" + resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.0.tgz#40fc4eefa4d2f8ef2e2806147f056ea207fcc0e9" + integrity sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ== 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: +console-control-strings@^1.0.0, console-control-strings@^1.1.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= @@ -4530,6 +6430,22 @@ conventional-changelog-preset-loader@^2.1.1: 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.0: + version "4.0.17" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.17.tgz#4753aaa138bf5aa59c0b274cb5937efcd2722e21" + integrity sha512-IKQuK3bib/n032KWaSb8YlBFds+aLmzENtnKtxJy3+HqDq5kohu3g/UdNbIHeJWygfnEbZjnCKFxAW0y7ArZAw== + dependencies: + compare-func "^2.0.0" + 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" + 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" @@ -4554,6 +6470,27 @@ conventional-commits-filter@^2.0.0, conventional-commits-filter@^2.0.2: lodash.ismatch "^4.4.0" modify-values "^1.0.0" +conventional-commits-filter@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.6.tgz#0935e1240c5ca7698329affee1b6a46d33324c4c" + integrity sha512-4g+sw8+KA50/Qwzfr0hL5k5NWxqtrOVw4DDk3/h6L85a9Gz0/Eqp3oP+CWCNfesBvZZZEFHF7OTEbRe+yYSyKw== + dependencies: + lodash.ismatch "^4.4.0" + modify-values "^1.0.0" + +conventional-commits-parser@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.1.0.tgz#10140673d5e7ef5572633791456c5d03b69e8be4" + integrity sha512-RSo5S0WIwXZiRxUGTPuYFbqvrR4vpJ1BDdTlthFgvHt5kEdnd1+pdvwWphWn57/oIl4V72NMmOocFqqJ8mFFhA== + 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" + conventional-commits-parser@^3.0.3, conventional-commits-parser@^3.0.7: version "3.0.8" resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.0.8.tgz#23310a9bda6c93c874224375e72b09fb275fe710" @@ -4581,7 +6518,7 @@ conventional-recommended-bump@^5.0.0: meow "^4.0.0" q "^1.5.1" -convert-source-map@^1.1.0, convert-source-map@^1.4.0, 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== @@ -4616,9 +6553,9 @@ copy-descriptor@^0.1.0: integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= copy-webpack-plugin@^5.0.2: - version "5.1.1" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz#5481a03dea1123d88a988c6ff8b78247214f0b88" - integrity sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg== + version "5.1.2" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2" + integrity sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ== dependencies: cacache "^12.0.3" find-cache-dir "^2.1.0" @@ -4630,7 +6567,7 @@ copy-webpack-plugin@^5.0.2: normalize-path "^3.0.0" p-limit "^2.2.1" schema-utils "^1.0.0" - serialize-javascript "^2.1.2" + serialize-javascript "^4.0.0" webpack-log "^2.0.0" core-js-compat@^3.6.2: @@ -4641,12 +6578,20 @@ core-js-compat@^3.6.2: browserslist "^4.8.3" semver "7.0.0" +core-js-compat@^3.6.5: + 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.4" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.4.tgz#4bf1ba866e25814f149d4e9aaa08c36173506e3a" integrity sha512-epIhRLkXdgv32xIUFaaAry2wdxZYBi6bgM7cB136dzzXXa+dFyRLTZeLUJxnd8ShrmyVXBub63n2NHo2JAt8Cw== -core-js@^2.4.0, core-js@^2.6.5: +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== @@ -4656,6 +6601,11 @@ core-js@^3.4.8: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.4.tgz#440a83536b458114b9cb2ac1580ba377dc470647" integrity sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw== +core-js@^3.6.4, core-js@^3.6.5: + 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" @@ -4671,16 +6621,27 @@ cosmiconfig@^5.0.0, cosmiconfig@^5.0.7, cosmiconfig@^5.1.0: 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" + coveralls@^3.0.6: - version "3.0.9" - resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.0.9.tgz#8cfc5a5525f84884e2948a0bf0f1c0e90aac0420" - integrity sha512-nNBg3B1+4iDox5A5zqHKzUTiwl2ey4k2o0NEcVZYvl+GOSJdKBj4AJGKLv6h3SvWch7tABHePAQOSZWM9E2hMg== + version "3.1.0" + resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.1.0.tgz#13c754d5e7a2dd8b44fe5269e21ca394fb4d615b" + integrity sha512-sHxOu2ELzW8/NC1UP5XVLbZDzO4S3VxfFye3XYCznopHy02YjNkHcj5bKaVw2O7hVaBdBjEdQGpie4II1mWhuQ== dependencies: js-yaml "^3.13.1" lcov-parse "^1.0.0" log-driver "^1.2.7" - minimist "^1.2.0" - request "^2.88.0" + minimist "^1.2.5" + request "^2.88.2" cpx@^1.5.0: version "1.5.0" @@ -4700,14 +6661,21 @@ cpx@^1.5.0: subarg "^1.0.0" 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== + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== dependencies: bn.js "^4.1.0" - elliptic "^6.0.0" + elliptic "^6.5.3" + +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: +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== @@ -4718,7 +6686,7 @@ create-hash@^1.1.0, create-hash@^1.1.2: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: 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== @@ -4750,7 +6718,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.2: +cross-spawn@^7.0.0, cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -4776,6 +6744,11 @@ crypto-browserify@^3.11.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= + crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" @@ -4851,10 +6824,13 @@ css-tree@1.0.0-alpha.37: mdn-data "2.0.4" source-map "^0.6.1" -css-unit-converter@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" - integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= +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" @@ -4862,9 +6838,9 @@ css-what@2.1: 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== + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== css@^2.0.0: version "2.2.4" @@ -4876,11 +6852,6 @@ css@^2.0.0: source-map-resolve "^0.5.2" urix "^0.1.0" -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" @@ -4955,17 +6926,22 @@ cssnano@^4.1.10: postcss "^7.0.0" csso@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.2.tgz#e5f81ab3a56b8eefb7f0092ce7279329f454de3d" - integrity sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg== + 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.37" + css-tree "1.0.0-alpha.39" -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", 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.4: + 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: version "1.4.0" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" @@ -4973,6 +6949,13 @@ cssstyle@^1.0.0: dependencies: cssom "0.3.x" +cssstyle@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + cuint@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" @@ -5006,10 +6989,10 @@ cz-customizable@^4.0.0: winston "2.1.0" word-wrap "1.1.0" -cz-lerna-changelog@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/cz-lerna-changelog/-/cz-lerna-changelog-2.0.2.tgz#58e7cd9afe1aabb6b30debf16564a9bb984bb55d" - integrity sha512-TucRHN/UerzCHmAAFgWvGN+2miz6lIAnnAD3RWEUri3yZHg8N1FIpEZAafRqDDZHN05HGZY/BrMavJtQqbAN9Q== +cz-lerna-changelog@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/cz-lerna-changelog/-/cz-lerna-changelog-2.0.3.tgz#0e172c85d5f78e8b2447cbfc868b6fdb380bc6bd" + integrity sha512-Sdksh3LknHZqWmOKjCd/onlL48CtLXyQKLUDywSAwAzACc9ZW4K0wrnNQ1090DQJa5miemyCaDjBdhx+LryiGw== dependencies: "@semantic-release/commit-analyzer" "^6.1.0" chalk "^1.1.3" @@ -5049,6 +7032,15 @@ data-urls@^1.0.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + dateformat@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" @@ -5073,6 +7065,13 @@ debug@3.1.0, debug@~3.1.0: dependencies: ms "2.0.0" +debug@4: + version "4.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" + integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== + dependencies: + ms "2.1.2" + debug@^3.1.0, debug@^3.1.1, debug@^3.2.5: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" @@ -5092,7 +7091,7 @@ debuglog@^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: +decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= @@ -5100,11 +7099,16 @@ decamelize-keys@^1.0.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.0, decamelize@^1.1.1, 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= +decimal.js@^10.2.0: + version "10.2.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== + 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" @@ -5149,6 +7153,11 @@ deepmerge@^1.5.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== +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" @@ -5249,7 +7258,7 @@ destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= -detect-indent@^5.0.0: +detect-indent@^5.0.0, 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= @@ -5259,12 +7268,17 @@ detect-newline@^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== -dezalgo@^1.0.0: +dezalgo@^1.0.0, dezalgo@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" integrity sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY= @@ -5272,16 +7286,21 @@ dezalgo@^1.0.0: asap "^2.0.0" wrappy "1" -diacritics@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/diacritics/-/diacritics-1.3.0.tgz#3efa87323ebb863e6696cebb0082d48ff3d6f7a1" - integrity sha1-PvqHMj67hj5mls67AILUj/PW96E= - 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== + +diff-sequences@^26.5.0: + version "26.5.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.5.0.tgz#ef766cf09d43ed40406611f11c6d8d9dd8b2fefd" + integrity sha512-ZXx86srb/iYy6jG71k++wBN9P9J05UNQ5hQHQd9MtMPvcqXPx/vKU69jfHV637D00Q2gSgPk2D+jSx3l1lDW/Q== + diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" @@ -5303,6 +7322,13 @@ dir-glob@^2.0.0, dir-glob@^2.2.2: dependencies: path-type "^3.0.0" +dir-glob@^3.0.0, dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.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" @@ -5367,9 +7393,9 @@ dom-serializer@0: entities "^2.0.0" dom-walk@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" - integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg= + version "0.1.2" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== domain-browser@^1.1.1: version "1.2.0" @@ -5382,9 +7408,9 @@ domelementtype@1, domelementtype@^1.3.1: 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== + version "2.0.2" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.2.tgz#f3b6e549201e46f588b59463dd77187131fe6971" + integrity sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA== domexception@^1.0.1: version "1.0.1" @@ -5393,6 +7419,13 @@ domexception@^1.0.1: dependencies: webidl-conversions "^4.0.2" +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + domhandler@^2.3.0: version "2.4.2" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" @@ -5430,13 +7463,32 @@ dot-prop@^4.2.0: 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== +dot-prop@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" + integrity sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ== + dependencies: + is-obj "^1.0.0" + +dot-prop@^5.1.0, dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" +dotenv@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" + integrity sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow== + +duplexer2@~0.1.0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= + dependencies: + readable-stream "^2.0.2" + duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -5465,7 +7517,7 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" -editor@1.0.0: +editor@1.0.0, editor@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/editor/-/editor-1.0.0.tgz#60c7f87bd62bcc6a894fa8ccd6afb7823a24f742" integrity sha1-YMf4e9YrzGqJT6jM1q+3gjok90I= @@ -5480,7 +7532,12 @@ electron-to-chromium@^1.3.349: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.353.tgz#c6f13f27d5212643979867a400c1a5e8a4ef042a" integrity sha512-CkG24biyy9qQTQs8U2vGQaiyWSFDxAXP/UGHBveXZ1TGoWOAw+eYZXryrX0UeIMKnQjcaHx33hzYuydv98kqGQ== -elliptic@^6.0.0, elliptic@^6.5.2, elliptic@^6.5.3: +electron-to-chromium@^1.3.571: + version "1.3.582" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.582.tgz#1adfac5affce84d85b3d7b3dfbc4ade293a6ffc4" + integrity sha512-0nCJ7cSqnkMC+kUuPs0YgklFHraWGl/xHqtZWWtOeVtyi+YqkoAOMGuZQad43DscXCQI/yizcTa3u6B5r+BLww== + +elliptic@^6.5.3: version "6.5.3" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== @@ -5493,6 +7550,11 @@ elliptic@^6.0.0, elliptic@^6.5.2, elliptic@^6.5.3: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== + emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -5508,6 +7570,11 @@ emojis-list@^2.0.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: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -5527,10 +7594,10 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: 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== +enhanced-resolve@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" + integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" @@ -5549,9 +7616,17 @@ entities@^1.1.1, entities@~1.1.1: integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== 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== + version "2.1.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" + integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== + +env-ci@^4.0.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/env-ci/-/env-ci-4.5.2.tgz#40b08825dcf4ed5b2cddd3d638190571cf96347a" + integrity sha512-lS+edpNp2+QXEPkx6raEMIjKxKKWnJ4+VWzovYJ2NLYiJAYenSAXotFfVdgaFxdbVnvAbUI8epQDa1u12ERxfQ== + dependencies: + execa "^3.2.0" + java-properties "^1.0.0" env-paths@^2.2.0: version "2.2.0" @@ -5566,7 +7641,12 @@ envify@^4.0.0: esprima "^4.0.0" through "~2.3.4" -envinfo@^7.2.0, envinfo@^7.3.1: +envinfo@^7.2.0: + version "7.7.3" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.3.tgz#4b2d8622e3e7366afb8091b23ed95569ea0208cc" + integrity sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA== + +envinfo@^7.3.1: version "7.5.0" resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.5.0.tgz#91410bb6db262fb4f1409bd506e9ff57e91023f4" integrity sha512-jDgnJaF/Btomk+m3PZDTTCb5XIIIX3zYItnCRfF73zVgvinLoRomuhi75Y4su0PtQxWz4v66XnLLckyvyJTOIQ== @@ -5607,6 +7687,41 @@ es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2: string.prototype.trimleft "^2.1.1" string.prototype.trimright "^2.1.1" +es-abstract@^1.17.5: + version "1.17.7" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" + integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.2" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.1" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-abstract@^1.18.0-next.0, es-abstract@^1.18.0-next.1: + version "1.18.0-next.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" + integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.2" + is-negative-zero "^2.0.0" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.1" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.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" @@ -5664,6 +7779,11 @@ es6-weak-map@^2.0.2: es6-iterator "^2.0.3" es6-symbol "^3.1.1" +escalade@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + escape-goat@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" @@ -5679,6 +7799,23 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +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== + +escodegen@^1.14.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + escodegen@^1.9.1: version "1.14.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457" @@ -5692,24 +7829,16 @@ escodegen@^1.9.1: source-map "~0.6.1" eslint-config-semistandard@^15.0.0: - version "15.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-semistandard/-/eslint-config-semistandard-15.0.0.tgz#d8eefccfac4ca9cbc508d38de6cb8fd5e7a72fa9" - integrity sha512-volIMnosUvzyxGkYUA5QvwkahZZLeUx7wcS0+7QumPn+MMEBbV6P7BY1yukamMst0w3Et3QZlCjQEwQ8tQ6nug== + version "15.0.1" + resolved "https://registry.yarnpkg.com/eslint-config-semistandard/-/eslint-config-semistandard-15.0.1.tgz#a868397af8fb26d1bb6b907aa9d575d385581099" + integrity sha512-sfV+qNBWKOmF0kZJll1VH5XqOAdTmLlhbOl9WKI11d2eMEe+Kicxnpm24PQWHOqAfk5pAWU2An0LjNCXKa4Usg== eslint-config-standard@^14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-14.1.0.tgz#b23da2b76fe5a2eba668374f246454e7058f15d4" - integrity sha512-EF6XkrrGVbvv8hL/kYa/m6vnvmUT+K82pJJc4JJVMM6+Qgqh0pnwprSxdduDLB9p/7bIxD+YV5O0wfb8lmcPbA== - -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" + version "14.1.1" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz#830a8e44e7aef7de67464979ad06b406026c56ea" + integrity sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg== -eslint-import-resolver-node@^0.3.3: +eslint-import-resolver-node@^0.3.4: version "0.3.4" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== @@ -5717,14 +7846,6 @@ eslint-import-resolver-node@^0.3.3: debug "^2.6.9" resolve "^1.13.1" -eslint-module-utils@^2.4.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.5.2.tgz#7878f7504824e1b857dd2505b59a8e5eda26a708" - integrity sha512-LGScZ/JSlqGKiT8OC+cYRxseMjyqt6QO54nl281CK93unD89ijSeRV6An8Ci/2nvWVKe8K/Tqdm75RQoIOCr+Q== - dependencies: - debug "^2.6.9" - pkg-dir "^2.0.0" - eslint-module-utils@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" @@ -5741,35 +7862,17 @@ eslint-plugin-es@^2.0.0: eslint-utils "^1.4.2" regexpp "^3.0.0" -eslint-plugin-import@^2.18.2: - 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-import@^2.22.0: - version "2.22.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz#92f7736fe1fde3e2de77623c838dd992ff5ffb7e" - integrity sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg== +eslint-plugin-import@^2.18.2, eslint-plugin-import@^2.22.1: + version "2.22.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" + integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== dependencies: array-includes "^3.1.1" array.prototype.flat "^1.2.3" contains-path "^0.1.0" debug "^2.6.9" doctrine "1.5.0" - eslint-import-resolver-node "^0.3.3" + eslint-import-resolver-node "^0.3.4" eslint-module-utils "^2.6.0" has "^1.0.3" minimatch "^3.0.4" @@ -5816,12 +7919,12 @@ eslint-scope@^5.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" - integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: - esrecurse "^4.1.0" + esrecurse "^4.3.0" estraverse "^4.1.1" eslint-utils@^1.4.2, eslint-utils@^1.4.3: @@ -5848,6 +7951,11 @@ eslint-visitor-keys@^1.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + eslint@^6.4.0: version "6.8.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" @@ -5891,22 +7999,23 @@ eslint@^6.4.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -eslint@^7.7.0: - version "7.7.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.7.0.tgz#18beba51411927c4b64da0a8ceadefe4030d6073" - integrity sha512-1KUxLzos0ZVsyL81PnRN335nDtQ8/vZUD6uMtWbF+5zDtjKcsklIi78XoE0MVL93QvWTu+E5y44VyyCsOMBrIg== +eslint@^7.11.0: + version "7.11.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.11.0.tgz#aaf2d23a0b5f1d652a08edacea0c19f7fadc0b3b" + integrity sha512-G9+qtYVCHaDi1ZuWzBsOWo2wSwd70TXnU6UHA3cTYHp7gCTXZcpggWFoUVAMRarg68qtPoNfFbzPh+VdOgmwmw== dependencies: "@babel/code-frame" "^7.0.0" + "@eslint/eslintrc" "^0.1.3" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.0.1" doctrine "^3.0.0" enquirer "^2.3.5" - eslint-scope "^5.1.0" + eslint-scope "^5.1.1" eslint-utils "^2.1.0" - eslint-visitor-keys "^1.3.0" - espree "^7.2.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.0" esquery "^1.2.0" esutils "^2.0.2" file-entry-cache "^5.0.1" @@ -5934,15 +8043,15 @@ eslint@^7.7.0: v8-compile-cache "^2.0.3" espree@^6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d" - integrity sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA== + 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.0" - acorn-jsx "^5.1.0" + acorn "^7.1.1" + acorn-jsx "^5.2.0" eslint-visitor-keys "^1.1.0" -espree@^7.2.0: +espree@^7.3.0: version "7.3.0" resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348" integrity sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw== @@ -5951,19 +8060,12 @@ espree@^7.2.0: acorn-jsx "^5.2.0" eslint-visitor-keys "^1.3.0" -esprima@^4.0.0, esprima@^4.0.1: +esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: 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.1.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.1.0.tgz#c5c0b66f383e7656404f86b31334d72524eddb48" - integrity sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q== - dependencies: - estraverse "^4.0.0" - -esquery@^1.2.0: +esquery@^1.0.1, esquery@^1.2.0: 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== @@ -5977,12 +8079,19 @@ esrecurse@^4.1.0: dependencies: estraverse "^4.1.0" -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.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: +estraverse@^5.1.0, estraverse@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== @@ -6010,7 +8119,7 @@ eventemitter3@^3.1.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== -eventemitter3@^4.0.0: +eventemitter3@^4.0.0, eventemitter3@^4.0.7: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== @@ -6021,9 +8130,9 @@ events@^1.1.0: integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= 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== + version "3.2.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" + integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== eventsource@^1.0.7: version "1.0.7" @@ -6045,6 +8154,19 @@ exec-sh@^0.3.2: 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@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" @@ -6071,6 +8193,37 @@ execa@^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" + +execa@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" + integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== + 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" + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -6096,6 +8249,13 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= + dependencies: + fill-range "^2.1.0" + expect@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" @@ -6108,6 +8268,18 @@ expect@^24.9.0: jest-message-util "^24.9.0" jest-regex-util "^24.9.0" +expect@^26.5.3: + version "26.5.3" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.5.3.tgz#89d9795036f7358b0a9a5243238eb8086482d741" + integrity sha512-kkpOhGRWGOr+TEFUnYAjfGvv35bfP+OlPtqPIJpOCR9DVtv8QV+p8zG0Edqafh80fsjeE+7RBcVUq1xApnYglw== + dependencies: + "@jest/types" "^26.5.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.5.2" + jest-message-util "^26.5.2" + jest-regex-util "^26.0.0" + express@^4.17.1: version "4.17.1" resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" @@ -6242,6 +8414,18 @@ fast-glob@^2.2.6: merge2 "^1.2.3" micromatch "^3.1.10" +fast-glob@^3.0.3, fast-glob@^3.1.1: + version "3.2.4" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" + integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + 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" @@ -6252,6 +8436,13 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fastq@^1.6.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" + integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q== + 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" @@ -6317,6 +8508,17 @@ filename-regex@^2.0.0: resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= +fill-range@^2.1.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" + integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^3.0.0" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -6327,6 +8529,13 @@ fill-range@^4.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: version "1.1.2" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" @@ -6369,6 +8578,11 @@ find-index@^0.1.1: resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" integrity sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ= +find-npm-prefix@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/find-npm-prefix/-/find-npm-prefix-1.0.2.tgz#8d8ce2c78b3b4b9e66c8acc6a37c231eb841cfdf" + integrity sha512-KEftzJ+H90x6pcKtdXZEPsQse8/y/UnvzRKrOSQFprnrGaFuJ62fVkP34Iu2IYuMvyauCyoLTNkJZgrrGA2wkA== + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -6391,7 +8605,7 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.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== @@ -6399,6 +8613,13 @@ find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" +find-versions@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e" + integrity sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww== + dependencies: + semver-regex "^2.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" @@ -6448,6 +8669,15 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= +form-data@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" + integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + 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" @@ -6474,7 +8704,15 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= -from2@^2.1.0: +from2@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-1.3.0.tgz#88413baaa5f9a597cfde9221d86986cd3c061dfd" + integrity sha1-iEE7qqX5pZfP3pIh2GmGzTwGHf0= + dependencies: + inherits "~2.0.1" + readable-stream "~1.1.10" + +from2@^2.1.0, from2@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= @@ -6491,7 +8729,7 @@ fs-extra@^7.0.0, fs-extra@^7.0.1: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^8.1.0: +fs-extra@^8.0.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== @@ -6500,6 +8738,16 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" + integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^1.0.0" + fs-minipass@^1.2.5: version "1.2.7" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" @@ -6512,7 +8760,16 @@ fs-readdir-recursive@^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: +fs-vacuum@^1.2.10, fs-vacuum@~1.2.10: + version "1.2.10" + resolved "https://registry.yarnpkg.com/fs-vacuum/-/fs-vacuum-1.2.10.tgz#b7629bec07a4031a2548fdf99f5ecf1cc8b31e36" + integrity sha1-t2Kb7AekAxolSP35n17PHMizHjY= + dependencies: + graceful-fs "^4.1.2" + path-is-inside "^1.0.1" + rimraf "^2.5.2" + +fs-write-stream-atomic@^1.0.8, fs-write-stream-atomic@~1.0.10: 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= @@ -6527,7 +8784,15 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^1.0.0, fsevents@^1.2.7: +fsevents@^1.0.0: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@^1.2.7: version "1.2.11" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.11.tgz#67bf57f4758f02ede88fb2a1712fef4d15358be3" integrity sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw== @@ -6535,15 +8800,10 @@ fsevents@^1.0.0, fsevents@^1.2.7: bindings "^1.5.0" nan "^2.12.1" -fstream@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" +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" @@ -6579,6 +8839,23 @@ gensync@^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== +gentle-fs@^2.3.0, gentle-fs@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/gentle-fs/-/gentle-fs-2.3.1.tgz#11201bf66c18f930ddca72cf69460bdfa05727b1" + integrity sha512-OlwBBwqCFPcjm33rF2BjW+Pr6/ll2741l+xooiwTCeaX2CA1ZuclavyMBe0/KlR21/XGsgY6hzEQZ15BdNa13Q== + dependencies: + aproba "^1.1.2" + chownr "^1.1.2" + cmd-shim "^3.0.3" + fs-vacuum "^1.2.10" + graceful-fs "^4.1.11" + iferr "^0.1.5" + infer-owner "^1.0.4" + mkdirp "^0.5.1" + path-is-inside "^1.0.2" + read-cmd-shim "^1.0.1" + slide "^1.1.6" + 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" @@ -6589,6 +8866,11 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + 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" @@ -6627,10 +8909,10 @@ get-stream@^4.0.0, get-stream@^4.1.0: dependencies: pump "^3.0.0" -get-stream@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== +get-stream@^5.0.0, get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== dependencies: pump "^3.0.0" @@ -6646,6 +8928,18 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" +git-log-parser@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/git-log-parser/-/git-log-parser-1.2.0.tgz#2e6a4c1b13fc00028207ba795a7ac31667b9fd4a" + integrity sha1-LmpMGxP8AAKCB7p5WnrDFme5/Uo= + dependencies: + argv-formatter "~1.0.0" + spawn-error-forwarder "~1.0.0" + split2 "~1.0.0" + stream-combiner2 "~1.1.1" + through2 "~2.0.0" + traverse "~0.6.6" + 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" @@ -6725,6 +9019,13 @@ glob-parent@^5.0.0: dependencies: is-glob "^4.0.1" +glob-parent@^5.1.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" @@ -6749,6 +9050,13 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, gl 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-dirs@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201" @@ -6776,6 +9084,32 @@ globals@^12.1.0: dependencies: type-fest "^0.8.1" +globby@^10.0.0: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + +globby@^11.0.1: + version "11.0.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" + integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" @@ -6820,6 +9154,23 @@ good-listener@^1.2.2: dependencies: delegate "^3.1.2" +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" + got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -6842,6 +9193,11 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== +graceful-fs@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + gray-matter@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.2.tgz#9aa379e3acaf421193fce7d2a28cebd4518ac454" @@ -6858,11 +9214,11 @@ growly@^1.3.0: integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= handle-thing@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" - integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== + 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@*, handlebars@^4.0.6, handlebars@^4.4.0, handlebars@^4.5.3, handlebars@^4.7.0, handlebars@^4.7.3: +handlebars@*, handlebars@^4.0.6, handlebars@^4.4.0, handlebars@^4.7.3: version "4.7.3" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.3.tgz#8ece2797826886cf8082d1726ff21d2a022550ee" integrity sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg== @@ -6873,6 +9229,18 @@ handlebars@*, handlebars@^4.0.6, handlebars@^4.4.0, handlebars@^4.5.3, handlebar optionalDependencies: uglify-js "^3.1.4" +handlebars@^4.7.0, handlebars@^4.7.6: + 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" @@ -6886,6 +9254,11 @@ har-validator@~5.1.3: ajv "^6.5.5" har-schema "^2.0.0" +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -6893,6 +9266,11 @@ has-ansi@^2.0.0: 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" @@ -6908,7 +9286,7 @@ has-symbols@^1.0.0, has-symbols@^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: +has-unicode@^2.0.0, has-unicode@^2.0.1, 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= @@ -6987,11 +9365,21 @@ hex-color-regex@^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== -highlight.js@^9.0.0, highlight.js@^9.13.1, highlight.js@^9.15.6, highlight.js@^9.17.1: +highlight.js@^10.2.0: + version "10.3.1" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.3.1.tgz#3ca6bf007377faae347e8135ff25900aac734b9a" + integrity sha512-jeW8rdPdhshYKObedYg5XGbpVgb1/DT4AHvDFXhkU7UnGSIjy9kkJ7zHG7qplhFHMitTSzh5/iClKQk3Kb2RFQ== + +highlight.js@^9.0.0, highlight.js@^9.15.6: version "9.18.1" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.1.tgz#ed21aa001fe6252bb10a3d76d47573c6539fe13c" integrity sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg== +highlight.js@^9.17.1: + version "9.18.3" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.3.tgz#a1a0a2028d5e3149e2380f8a865ee8516703d634" + integrity sha512-zBZAmhSupHIl5sITeMqIJnYCDfAEc3Gdkqj65wC1lpI468MMQeeQkhcIAvk+RylAkxrCcI9xy9piHiXeQ1BdzQ== + hmac-drbg@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -7009,11 +9397,28 @@ hogan.js@^3.0.2: mkdirp "0.3.0" nopt "1.0.10" +hook-std@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hook-std/-/hook-std-2.0.0.tgz#ff9aafdebb6a989a354f729bb6445cf4a3a7077c" + integrity sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g== + hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: version "2.8.5" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" integrity sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== +hosted-git-info@^2.8.8: + version "2.8.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + +hosted-git-info@^3.0.0: + version "3.0.7" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.7.tgz#a30727385ea85acfcee94e0aad9e368c792e036c" + integrity sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ== + dependencies: + lru-cache "^6.0.0" + hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -7046,10 +9451,17 @@ html-encoding-sniffer@^1.0.2: dependencies: whatwg-encoding "^1.0.1" -html-entities@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" - integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +html-entities@^1.3.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.0" @@ -7074,6 +9486,11 @@ html-tags@^2.0.0: resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= +html-tags@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" + integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== + htmlparser2@^3.3.0: version "3.10.1" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" @@ -7092,9 +9509,9 @@ http-cache-semantics@^3.8.1: integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== http-cache-semantics@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#13eeb612424bb113d52172c28a13109c46fa85d7" - integrity sha512-Z2EICWNJou7Tr9Bd2M2UqDJq3A9F2ePG9w3lIpjoyuSyXFP9QbniJVu3XQYytuw5ebmG7dXSXO9PgAjJG8DDKA== + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== http-deceiver@^1.2.7: version "1.2.7" @@ -7133,10 +9550,10 @@ http-errors@~1.7.2: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" -"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-parser-js@>=0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77" + integrity sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ== http-proxy-agent@^2.1.0: version "2.1.0" @@ -7146,6 +9563,14 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" +http-proxy-agent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-3.0.0.tgz#598f42dc815949a11e2c6dbfdf24cd8a4c165327" + integrity sha512-uGuJaBWQWDQCJI5ip0d/VTYZW0nRrlLWXA4A7P1jrsa+f77rW2yXz315oBt6zGCF6l8C2tlMxY7ffULCj+5FhA== + dependencies: + agent-base "5" + debug "4" + 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" @@ -7187,6 +9612,19 @@ https-proxy-agent@^2.2.3: agent-base "^4.3.0" debug "^3.1.0" +https-proxy-agent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" + integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg== + dependencies: + agent-base "5" + debug "4" + +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" @@ -7239,6 +9677,11 @@ iferr@^0.1.5: resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= +iferr@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-1.0.2.tgz#e9fde49a9da06dc4a4194c6c9ed6d08305037a6d" + integrity sha512-9AfeLfji44r5TKInjhz3W9DyZI1zR1JAf2hVBMGhddAKPqBsupb89jGfbCTHIGZd6fGZl9WlHdn4AObygyMKwg== + ignore-walk@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" @@ -7261,10 +9704,15 @@ ignore@^5.1.1: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf" integrity sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A== +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + immediate@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" - integrity sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw= + version "3.3.0" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" + integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== import-cwd@^2.0.0: version "2.1.0" @@ -7281,7 +9729,7 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" -import-fresh@^3.0.0: +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: 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== @@ -7316,6 +9764,14 @@ import-local@^2.0.0: 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" @@ -7333,6 +9789,11 @@ indent-string@^3.0.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" @@ -7343,7 +9804,7 @@ infer-owner@^1.0.3, infer-owner@^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: +inflight@^1.0.4, inflight@~1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= @@ -7351,7 +9812,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, 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== @@ -7436,22 +9897,22 @@ inquirer@^6.2.0: through "^2.3.6" inquirer@^7.0.0: - version "7.0.4" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.4.tgz#99af5bde47153abca23f5c7fc30db247f39da703" - integrity sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ== + version "7.3.3" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== dependencies: ansi-escapes "^4.2.1" - chalk "^2.4.2" + chalk "^4.1.0" cli-cursor "^3.1.0" - cli-width "^2.0.0" + cli-width "^3.0.0" external-editor "^3.0.3" figures "^3.0.0" - lodash "^4.17.15" + lodash "^4.17.19" mute-stream "0.0.8" - run-async "^2.2.0" - rxjs "^6.5.3" + run-async "^2.4.0" + rxjs "^6.6.0" string-width "^4.1.0" - strip-ansi "^5.1.0" + strip-ansi "^6.0.0" through "^2.3.6" internal-ip@^4.3.0: @@ -7467,6 +9928,14 @@ interpret@^1.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== +into-stream@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-5.1.1.tgz#f9a20a348a11f3c13face22763f2d02e127f4db8" + integrity sha512-krrAJ7McQxGGmvaYbB7Q1mcA+cRwg9Ij2RfWIeVesNBgVDZmzY/Fa4IpZUT3bmdRzMzdf/mzltCG2Dq99IZGBA== + dependencies: + from2 "^2.3.0" + p-is-promise "^3.0.0" + invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -7474,10 +9943,10 @@ invariant@^2.2.2, invariant@^2.2.4: 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== +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= ip-regex@^2.1.0: version "2.1.0" @@ -7489,17 +9958,17 @@ ip-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.1.0.tgz#5ad62f685a14edb421abebc2fff8db94df67b455" integrity sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA== +ip-regex@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.2.0.tgz#a03f5eb661d9a154e3973a03de8b23dd0ad6892e" + integrity sha512-n5cDDeTWWRwK1EBoWwRti+8nP4NbytBBY0pldmnIkq6Z55KNFmWofh4rl9dPZpj+U/nVq7gweR3ylrvMt4YZ5A== + 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.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" - integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== - -ipaddr.js@^1.9.0: +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== @@ -7550,6 +10019,13 @@ is-binary-path@^1.0.0: 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.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -7560,6 +10036,18 @@ is-callable@^1.1.4, is-callable@^1.1.5: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== +is-callable@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" + integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== + +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" @@ -7567,6 +10055,13 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-cidr@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-3.1.1.tgz#e92ef121bdec2782271a77ce487a8b8df3718ab7" + integrity sha512-Gx+oErgq1j2jAKCR2Kbq0b3wbH0vQKqZ0wOlHxm0o56nq51Cs/DZA8oz9dMDhbHyHEGgJ86eTeVudtgMMOx3Mw== + dependencies: + cidr-regex "^2.0.10" + 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" @@ -7579,6 +10074,13 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" +is-core-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.0.0.tgz#58531b70aed1db7c0e8d4eb1a0a2d1ddd64bd12d" + integrity sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw== + dependencies: + has "^1.0.3" + 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" @@ -7621,6 +10123,11 @@ is-directory@^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.1.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" + integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== + is-dotfile@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" @@ -7696,26 +10203,51 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0, is-glob@^4.0.1: +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-installed-globally@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.1.tgz#679afef819347a72584617fd19497f010b8ed35f" - integrity sha512-oiEcGoQbGc+3/iijAijrK2qFpkNoNjsHOm/5V5iaeydyrS/hnwaRCEgH5cpW0P3T1lSjV5piB7S5b5lEugNLhg== + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" + integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== dependencies: global-dirs "^2.0.1" is-path-inside "^3.0.1" +is-negative-zero@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" + integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= + +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-npm@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= + dependencies: + kind-of "^3.0.2" + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -7723,6 +10255,16 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== + +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: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" @@ -7745,6 +10287,13 @@ is-path-in-cwd@^2.0.0: 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" @@ -7781,6 +10330,11 @@ is-posix-bracket@^0.1.0: resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= +is-potential-custom-element-name@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" + integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= + is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" @@ -7791,7 +10345,19 @@ is-promise@^2.1, is-promise@^2.1.0: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= -is-regex@^1.0.4, is-regex@^1.0.5: +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.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" + integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== + dependencies: + has-symbols "^1.0.1" + +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== @@ -7803,6 +10369,11 @@ is-resolvable@^1.0.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-ssh@^1.3.0: version "1.3.1" resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3" @@ -7810,11 +10381,16 @@ is-ssh@^1.3.0: dependencies: protocols "^1.1.0" -is-stream@^1.0.1, is-stream@^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" @@ -7861,11 +10437,23 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + is-yarn-global@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + 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" @@ -7898,24 +10486,32 @@ isobject@^4.0.0: resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0" integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA== -isomorphic-fetch@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= - dependencies: - node-fetch "^1.0.1" - whatwg-fetch ">=0.10.0" - isstream@0.1.x, 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= +issue-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/issue-parser/-/issue-parser-5.0.0.tgz#0e22a40bc275b6c7da6ddf4a9b979e8ca9faf0d4" + integrity sha512-q/16W7EPHRL0FKVz9NU++TUsoygXGj6JOi88oulyAcQG+IEZ0T6teVdE+VLbe19OfL/tbV8Wi3Dfo0HedeHW0Q== + dependencies: + lodash.capitalize "^4.2.1" + lodash.escaperegexp "^4.1.2" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.uniqby "^4.7.0" + 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" @@ -7929,6 +10525,16 @@ istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: istanbul-lib-coverage "^2.0.5" semver "^6.0.0" +istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@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" @@ -7938,6 +10544,15 @@ istanbul-lib-report@^2.0.4: 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" @@ -7949,6 +10564,15 @@ istanbul-lib-source-maps@^3.0.1: 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" @@ -7956,6 +10580,19 @@ istanbul-reports@^2.2.6: 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" + +java-properties@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/java-properties/-/java-properties-1.0.2.tgz#ccd1fa73907438a5b5c38982269d0e771fe78211" + integrity sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ== + javascript-stringify@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-1.6.0.tgz#142d111f3a6e3dae8f4a9afd77d45855b5a9cce3" @@ -7975,6 +10612,15 @@ jest-changed-files@^24.9.0: execa "^1.0.0" throat "^4.0.0" +jest-changed-files@^26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.5.2.tgz#330232c6a5c09a7f040a5870e8f0a9c6abcdbed5" + integrity sha512-qSmssmiIdvM5BWVtyK/nqVpN3spR5YyvkvPqz1x3BR1bwIxsWmU/MGwLoCrPNLbkG2ASAKfvmJpOduEApBPh2w== + dependencies: + "@jest/types" "^26.5.2" + execa "^4.0.0" + throat "^5.0.0" + jest-cli@^24.1.0, jest-cli@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" @@ -7987,12 +10633,31 @@ jest-cli@^24.1.0, jest-cli@^24.9.0: 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" + 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@^26.5.3: + version "26.5.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.5.3.tgz#f936b98f247b76b7bc89c7af50af82c88e356a80" + integrity sha512-HkbSvtugpSXBf2660v9FrNVUgxvPkssN8CRGj9gPM8PLhnaa6zziFiCEKQAkQS4uRzseww45o0TR+l6KeRYV9A== + dependencies: + "@jest/core" "^26.5.3" + "@jest/test-result" "^26.5.2" + "@jest/types" "^26.5.2" + 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.5.3" + jest-util "^26.5.2" + jest-validate "^26.5.3" prompts "^2.0.1" - realpath-native "^1.1.0" - yargs "^13.3.0" + yargs "^15.4.1" jest-config@^24.9.0: version "24.9.0" @@ -8017,6 +10682,30 @@ jest-config@^24.9.0: pretty-format "^24.9.0" realpath-native "^1.1.0" +jest-config@^26.5.3: + version "26.5.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.5.3.tgz#baf51c9be078c2c755c8f8a51ec0f06c762c1d3f" + integrity sha512-NVhZiIuN0GQM6b6as4CI5FSCyXKxdrx5ACMCcv/7Pf+TeCajJhJc+6dwgdAVPyerUFB9pRBIz3bE7clSrRge/w== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.5.3" + "@jest/types" "^26.5.2" + babel-jest "^26.5.2" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.5.2" + jest-environment-node "^26.5.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.5.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.5.2" + jest-util "^26.5.2" + jest-validate "^26.5.3" + micromatch "^4.0.2" + pretty-format "^26.5.2" + 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" @@ -8027,6 +10716,26 @@ jest-diff@^24.3.0, jest-diff@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" +jest-diff@^25.2.1: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" + integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== + dependencies: + chalk "^3.0.0" + diff-sequences "^25.2.6" + jest-get-type "^25.2.6" + pretty-format "^25.5.0" + +jest-diff@^26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.5.2.tgz#8e26cb32dc598e8b8a1b9deff55316f8313c8053" + integrity sha512-HCSWDUGwsov5oTlGzrRM+UPJI/Dpqi9jzeV0fdRNi3Ch5bnoXhnyJMmVg2juv9081zLIy3HGPI5mcuGgXM2xRA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.5.0" + jest-get-type "^26.3.0" + pretty-format "^26.5.2" + jest-docblock@^24.3.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" @@ -8034,6 +10743,13 @@ jest-docblock@^24.3.0: dependencies: detect-newline "^2.1.0" +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + 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" @@ -8045,6 +10761,17 @@ jest-each@^24.9.0: jest-util "^24.9.0" pretty-format "^24.9.0" +jest-each@^26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.5.2.tgz#35e68d6906a7f826d3ca5803cfe91d17a5a34c31" + integrity sha512-w7D9FNe0m2D3yZ0Drj9CLkyF/mGhmBSULMQTypzAKR746xXnjUrK8GUJdlLTWUF6dd0ks3MtvGP7/xNFr9Aphg== + dependencies: + "@jest/types" "^26.5.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.5.2" + pretty-format "^26.5.2" + 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" @@ -8057,7 +10784,20 @@ jest-environment-jsdom@^24.9.0: jest-util "^24.9.0" jsdom "^11.5.1" -jest-environment-node@^24.0.0, jest-environment-node@^24.9.0: +jest-environment-jsdom@^26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.5.2.tgz#5feab05b828fd3e4b96bee5e0493464ddd2bb4bc" + integrity sha512-fWZPx0bluJaTQ36+PmRpvUtUlUFlGGBNyGX1SN3dLUHHMcQ4WseNEzcGGKOw4U5towXgxI4qDoI3vwR18H0RTw== + dependencies: + "@jest/environment" "^26.5.2" + "@jest/fake-timers" "^26.5.2" + "@jest/types" "^26.5.2" + "@types/node" "*" + jest-mock "^26.5.2" + jest-util "^26.5.2" + jsdom "^16.4.0" + +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== @@ -8068,11 +10808,33 @@ jest-environment-node@^24.0.0, jest-environment-node@^24.9.0: jest-mock "^24.9.0" jest-util "^24.9.0" +jest-environment-node@^26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.5.2.tgz#275a0f01b5e47447056f1541a15ed4da14acca03" + integrity sha512-YHjnDsf/GKFCYMGF1V+6HF7jhY1fcLfLNBDjhAOvFGvt6d8vXvNdJGVM7uTZ2VO/TuIyEFhPGaXMX5j3h7fsrA== + dependencies: + "@jest/environment" "^26.5.2" + "@jest/fake-timers" "^26.5.2" + "@jest/types" "^26.5.2" + "@types/node" "*" + jest-mock "^26.5.2" + jest-util "^26.5.2" + 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-get-type@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + 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" @@ -8092,6 +10854,27 @@ jest-haste-map@^24.9.0: optionalDependencies: fsevents "^1.2.7" +jest-haste-map@^26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.5.2.tgz#a15008abfc502c18aa56e4919ed8c96304ceb23d" + integrity sha512-lJIAVJN3gtO3k4xy+7i2Xjtwh8CfPcH08WYjZpe9xzveDaqGw9fVNCpkYu6M525wKFVkLmyi7ku+DxCAP1lyMA== + dependencies: + "@jest/types" "^26.5.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.5.0" + jest-util "^26.5.2" + jest-worker "^26.5.0" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + 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" @@ -8114,6 +10897,30 @@ jest-jasmine2@^24.9.0: pretty-format "^24.9.0" throat "^4.0.0" +jest-jasmine2@^26.5.3: + version "26.5.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.5.3.tgz#baad2114ce32d16aff25aeb877d18bb4e332dc4c" + integrity sha512-nFlZOpnGlNc7y/+UkkeHnvbOM+rLz4wB1AimgI9QhtnqSZte0wYjbAm8hf7TCwXlXgDwZxAXo6z0a2Wzn9FoOg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.5.2" + "@jest/source-map" "^26.5.0" + "@jest/test-result" "^26.5.2" + "@jest/types" "^26.5.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.5.3" + is-generator-fn "^2.0.0" + jest-each "^26.5.2" + jest-matcher-utils "^26.5.2" + jest-message-util "^26.5.2" + jest-runtime "^26.5.3" + jest-snapshot "^26.5.3" + jest-util "^26.5.2" + pretty-format "^26.5.2" + 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" @@ -8122,6 +10929,14 @@ jest-leak-detector@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" +jest-leak-detector@^26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.5.2.tgz#83fcf9a4a6ef157549552cb4f32ca1d6221eea69" + integrity sha512-h7ia3dLzBFItmYERaLPEtEKxy3YlcbcRSjj0XRNJgBEyODuu+3DM2o62kvIFvs3PsaYoIIv+e+nLRI61Dj1CNw== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.5.2" + 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" @@ -8132,6 +10947,16 @@ jest-matcher-utils@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" +jest-matcher-utils@^26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.5.2.tgz#6aa2c76ce8b9c33e66f8856ff3a52bab59e6c85a" + integrity sha512-W9GO9KBIC4gIArsNqDUKsLnhivaqf8MSs6ujO/JDcPIQrmY+aasewweXVET8KdrJ6ADQaUne5UzysvF/RR7JYA== + dependencies: + chalk "^4.0.0" + jest-diff "^26.5.2" + jest-get-type "^26.3.0" + pretty-format "^26.5.2" + 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" @@ -8146,6 +10971,20 @@ jest-message-util@^24.9.0: slash "^2.0.0" stack-utils "^1.0.1" +jest-message-util@^26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.5.2.tgz#6c4c4c46dcfbabb47cd1ba2f6351559729bc11bb" + integrity sha512-Ocp9UYZ5Jl15C5PNsoDiGEk14A4NG0zZKknpWdZGoMzJuGAkVt10e97tnEVMYpk7LnQHZOfuK2j/izLBMcuCZw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.5.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + slash "^3.0.0" + stack-utils "^2.0.2" + jest-mock@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" @@ -8153,16 +10992,34 @@ jest-mock@^24.9.0: dependencies: "@jest/types" "^24.9.0" +jest-mock@^26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.5.2.tgz#c9302e8ef807f2bfc749ee52e65ad11166a1b6a1" + integrity sha512-9SiU4b5PtO51v0MtJwVRqeGEroH66Bnwtq4ARdNP7jNXbpT7+ByeWNAk4NeT/uHfNSVDXEXgQo1XRuwEqS6Rdw== + dependencies: + "@jest/types" "^26.5.2" + "@types/node" "*" + 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-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + 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@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + 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" @@ -8172,6 +11029,15 @@ jest-resolve-dependencies@^24.9.0: jest-regex-util "^24.3.0" jest-snapshot "^24.9.0" +jest-resolve-dependencies@^26.5.3: + version "26.5.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.5.3.tgz#11483f91e534bdcd257ab21e8622799e59701aba" + integrity sha512-+KMDeke/BFK+mIQ2IYSyBz010h7zQaVt4Xie6cLqUGChorx66vVeQVv4ErNoMwInnyYHi1Ud73tDS01UbXbfLQ== + dependencies: + "@jest/types" "^26.5.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.5.3" + jest-resolve@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" @@ -8183,6 +11049,20 @@ jest-resolve@^24.9.0: jest-pnp-resolver "^1.2.1" realpath-native "^1.1.0" +jest-resolve@^26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.5.2.tgz#0d719144f61944a428657b755a0e5c6af4fc8602" + integrity sha512-XsPxojXGRA0CoDD7Vis59ucz2p3cQFU5C+19tz3tLEAlhYKkK77IL0cjYjikY9wXnOaBeEdm1rOgSJjbZWpcZg== + dependencies: + "@jest/types" "^26.5.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.5.2" + read-pkg-up "^7.0.1" + resolve "^1.17.0" + 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" @@ -8208,6 +11088,32 @@ jest-runner@^24.9.0: source-map-support "^0.5.6" throat "^4.0.0" +jest-runner@^26.5.3: + version "26.5.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.5.3.tgz#800787459ea59c68e7505952933e33981dc3db38" + integrity sha512-qproP0Pq7IIule+263W57k2+8kWCszVJTC9TJWGUz0xJBr+gNiniGXlG8rotd0XxwonD5UiJloYoSO5vbUr5FQ== + dependencies: + "@jest/console" "^26.5.2" + "@jest/environment" "^26.5.2" + "@jest/test-result" "^26.5.2" + "@jest/types" "^26.5.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.5.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.5.2" + jest-leak-detector "^26.5.2" + jest-message-util "^26.5.2" + jest-resolve "^26.5.2" + jest-runtime "^26.5.3" + jest-util "^26.5.2" + jest-worker "^26.5.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" @@ -8237,11 +11143,51 @@ jest-runtime@^24.9.0: strip-bom "^3.0.0" yargs "^13.3.0" +jest-runtime@^26.5.3: + version "26.5.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.5.3.tgz#5882ae91fd88304310f069549e6bf82f3f198bea" + integrity sha512-IDjalmn2s/Tc4GvUwhPHZ0iaXCdMRq5p6taW9P8RpU+FpG01O3+H8z+p3rDCQ9mbyyyviDgxy/LHPLzrIOKBkQ== + dependencies: + "@jest/console" "^26.5.2" + "@jest/environment" "^26.5.2" + "@jest/fake-timers" "^26.5.2" + "@jest/globals" "^26.5.3" + "@jest/source-map" "^26.5.0" + "@jest/test-result" "^26.5.2" + "@jest/transform" "^26.5.2" + "@jest/types" "^26.5.2" + "@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.5.3" + jest-haste-map "^26.5.2" + jest-message-util "^26.5.2" + jest-mock "^26.5.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.5.2" + jest-snapshot "^26.5.3" + jest-util "^26.5.2" + jest-validate "^26.5.3" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.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@^26.5.0: + version "26.5.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.5.0.tgz#f5425cc4c5f6b4b355f854b5f0f23ec6b962bc13" + integrity sha512-+h3Gf5CDRlSLdgTv7y0vPIAoLgX/SI7T4v6hy+TEXMgYbv+ztzbg5PSN6mUXAT/hXYHvZRWm+MaObVfqkhCGxA== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + jest-snapshot@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" @@ -8261,6 +11207,28 @@ jest-snapshot@^24.9.0: pretty-format "^24.9.0" semver "^6.2.0" +jest-snapshot@^26.5.3: + version "26.5.3" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.5.3.tgz#f6b4b4b845f85d4b0dadd7cf119c55d0c1688601" + integrity sha512-ZgAk0Wm0JJ75WS4lGaeRfa0zIgpL0KD595+XmtwlIEMe8j4FaYHyZhP1LNOO+8fXq7HJ3hll54+sFV9X4+CGVw== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.5.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.5.3" + graceful-fs "^4.2.4" + jest-diff "^26.5.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.5.2" + jest-matcher-utils "^26.5.2" + jest-message-util "^26.5.2" + jest-resolve "^26.5.2" + natural-compare "^1.4.0" + pretty-format "^26.5.2" + semver "^7.3.2" + jest-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" @@ -8279,6 +11247,18 @@ jest-util@^24.9.0: slash "^2.0.0" source-map "^0.6.0" +jest-util@^26.1.0, jest-util@^26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.5.2.tgz#8403f75677902cc52a1b2140f568e91f8ed4f4d7" + integrity sha512-WTL675bK+GSSAYgS8z9FWdCT2nccO1yTIplNLPlP0OD8tUk/H5IrWKMMRudIQQ0qp8bb4k+1Qa8CxGKq9qnYdg== + dependencies: + "@jest/types" "^26.5.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + jest-validate@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" @@ -8291,6 +11271,18 @@ jest-validate@^24.9.0: leven "^3.1.0" pretty-format "^24.9.0" +jest-validate@^26.5.3: + version "26.5.3" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.5.3.tgz#eefd5a5c87059550548c5ad8d6589746c66929e3" + integrity sha512-LX07qKeAtY+lsU0o3IvfDdN5KH9OulEGOMN1sFo6PnEf5/qjS1LZIwNk9blcBeW94pQUI9dLN9FlDYDWI5tyaA== + dependencies: + "@jest/types" "^26.5.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.5.2" + jest-watcher@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" @@ -8304,6 +11296,19 @@ jest-watcher@^24.9.0: jest-util "^24.9.0" string-length "^2.0.0" +jest-watcher@^26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.5.2.tgz#2957f4461007e0769d74b537379ecf6b7c696916" + integrity sha512-i3m1NtWzF+FXfJ3ljLBB/WQEp4uaNhX7QcQUWMokcifFTUQBDFyUMEwk0JkJ1kopHbx7Een3KX0Q7+9koGM/Pw== + dependencies: + "@jest/test-result" "^26.5.2" + "@jest/types" "^26.5.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.5.2" + string-length "^4.0.1" + 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" @@ -8312,6 +11317,15 @@ jest-worker@^24.6.0, jest-worker@^24.9.0: merge-stream "^2.0.0" supports-color "^6.1.0" +jest-worker@^26.5.0: + version "26.5.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.5.0.tgz#87deee86dbbc5f98d9919e0dadf2c40e3152fa30" + integrity sha512-kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + jest@24.1.0: version "24.1.0" resolved "https://registry.yarnpkg.com/jest/-/jest-24.1.0.tgz#b1e1135caefcf2397950ecf7f90e395fde866fd2" @@ -8328,15 +11342,19 @@ jest@^24.9.0: import-local "^2.0.0" jest-cli "^24.9.0" -jquery@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2" - integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw== +jest@^26.5.3: + version "26.5.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.5.3.tgz#5e7a322d16f558dc565ca97639e85993ef5affe6" + integrity sha512-uJi3FuVSLmkZrWvaDyaVTZGLL8WcfynbRnFXyAHuEtYiSZ+ijDDIMOw1ytmftK+y/+OdAtsG9QrtbF7WIBmOyA== + dependencies: + "@jest/core" "^26.5.3" + import-local "^3.0.2" + jest-cli "^26.5.3" -js-levenshtein@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" - integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== +jquery@^3.4.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz#d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5" + integrity sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg== js-sha3@^0.8.0: version "0.8.0" @@ -8348,7 +11366,15 @@ js-sha3@^0.8.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.11.0, js-yaml@^3.13.1: +js-yaml@^3.11.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + dependencies: + argparse "^1.0.7" + esprima "^4.0.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== @@ -8393,6 +11419,38 @@ jsdom@^11.5.1, jsdom@^11.9.0: ws "^5.2.0" xml-name-validator "^3.0.0" +jsdom@^16.4.0: + version "16.4.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" + integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== + 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.1.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" + jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -8413,6 +11471,11 @@ json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-bet resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + 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" @@ -8457,6 +11520,13 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" +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" + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -8464,6 +11534,15 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" +jsonfile@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" + integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== + dependencies: + universalify "^1.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" @@ -8510,7 +11589,7 @@ kind-of@^5.0.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: +kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: 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== @@ -8528,6 +11607,13 @@ last-call-webpack-plugin@^3.0.0: 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" + latest-version@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" @@ -8535,12 +11621,17 @@ latest-version@^5.0.0: dependencies: package-json "^6.3.0" -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== +lazy-property@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazy-property/-/lazy-property-1.0.0.tgz#84ddc4b370679ba8bd4cdcfa4c06b43d57111147" + integrity sha1-hN3Es3Bnm6i9TNz6TAa0PVcREUc= + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= dependencies: - invert-kv "^2.0.0" + invert-kv "^1.0.0" lcov-parse@^1.0.0: version "1.0.0" @@ -8552,7 +11643,7 @@ left-pad@^1.3.0: resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== -lerna@^3.13.1, lerna@^3.16.4: +lerna@^3.13.1: version "3.20.2" resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.20.2.tgz#abf84e73055fe84ee21b46e64baf37b496c24864" integrity sha512-bjdL7hPLpU3Y8CBnw/1ys3ynQMUjiK6l9iDWnEGwFtDy48Xh5JboR9ZJwmKGCz9A/sarVVIGwf1tlRNKUG9etA== @@ -8576,6 +11667,30 @@ lerna@^3.13.1, lerna@^3.16.4: import-local "^2.0.0" npmlog "^4.1.2" +lerna@^3.16.4: + version "3.22.1" + resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.22.1.tgz#82027ac3da9c627fd8bf02ccfeff806a98e65b62" + integrity sha512-vk1lfVRFm+UuEFA7wkLKeSF7Iz13W+N/vFd48aW2yuS7Kv0RbNm2/qcDPV863056LMfkRlsEe+QYOw3palj5Lg== + dependencies: + "@lerna/add" "3.21.0" + "@lerna/bootstrap" "3.21.0" + "@lerna/changed" "3.21.0" + "@lerna/clean" "3.21.0" + "@lerna/cli" "3.18.5" + "@lerna/create" "3.22.0" + "@lerna/diff" "3.21.0" + "@lerna/exec" "3.21.0" + "@lerna/import" "3.22.0" + "@lerna/info" "3.21.0" + "@lerna/init" "3.21.0" + "@lerna/link" "3.21.0" + "@lerna/list" "3.21.0" + "@lerna/publish" "3.22.1" + "@lerna/run" "3.21.0" + "@lerna/version" "3.22.1" + 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" @@ -8604,6 +11719,145 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +libcipm@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/libcipm/-/libcipm-4.0.8.tgz#dcea4919e10dfbce420327e63901613b9141bc89" + integrity sha512-IN3hh2yDJQtZZ5paSV4fbvJg4aHxCCg5tcZID/dSVlTuUiWktsgaldVljJv6Z5OUlYspx6xQkbR0efNodnIrOA== + dependencies: + bin-links "^1.1.2" + bluebird "^3.5.1" + figgy-pudding "^3.5.1" + find-npm-prefix "^1.0.2" + graceful-fs "^4.1.11" + ini "^1.3.5" + lock-verify "^2.1.0" + mkdirp "^0.5.1" + npm-lifecycle "^3.0.0" + npm-logical-tree "^1.2.1" + npm-package-arg "^6.1.0" + pacote "^9.1.0" + read-package-json "^2.0.13" + rimraf "^2.6.2" + worker-farm "^1.6.0" + +libnpm@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/libnpm/-/libnpm-3.0.1.tgz#0be11b4c9dd4d1ffd7d95c786e92e55d65be77a2" + integrity sha512-d7jU5ZcMiTfBqTUJVZ3xid44fE5ERBm9vBnmhp2ECD2Ls+FNXWxHSkO7gtvrnbLO78gwPdNPz1HpsF3W4rjkBQ== + dependencies: + bin-links "^1.1.2" + bluebird "^3.5.3" + find-npm-prefix "^1.0.2" + libnpmaccess "^3.0.2" + libnpmconfig "^1.2.1" + libnpmhook "^5.0.3" + libnpmorg "^1.0.1" + libnpmpublish "^1.1.2" + libnpmsearch "^2.0.2" + libnpmteam "^1.0.2" + lock-verify "^2.0.2" + npm-lifecycle "^3.0.0" + npm-logical-tree "^1.2.1" + npm-package-arg "^6.1.0" + npm-profile "^4.0.2" + npm-registry-fetch "^4.0.0" + npmlog "^4.1.2" + pacote "^9.5.3" + read-package-json "^2.0.13" + stringify-package "^1.0.0" + +libnpmaccess@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-3.0.2.tgz#8b2d72345ba3bef90d3b4f694edd5c0417f58923" + integrity sha512-01512AK7MqByrI2mfC7h5j8N9V4I7MHJuk9buo8Gv+5QgThpOgpjB7sQBDDkeZqRteFb1QM/6YNdHfG7cDvfAQ== + dependencies: + aproba "^2.0.0" + get-stream "^4.0.0" + npm-package-arg "^6.1.0" + npm-registry-fetch "^4.0.0" + +libnpmconfig@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/libnpmconfig/-/libnpmconfig-1.2.1.tgz#c0c2f793a74e67d4825e5039e7a02a0044dfcbc0" + integrity sha512-9esX8rTQAHqarx6qeZqmGQKBNZR5OIbl/Ayr0qQDy3oXja2iFVQQI81R6GZ2a02bSNZ9p3YOGX1O6HHCb1X7kA== + dependencies: + figgy-pudding "^3.5.1" + find-up "^3.0.0" + ini "^1.3.5" + +libnpmhook@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-5.0.3.tgz#4020c0f5edbf08ebe395325caa5ea01885b928f7" + integrity sha512-UdNLMuefVZra/wbnBXECZPefHMGsVDTq5zaM/LgKNE9Keyl5YXQTnGAzEo+nFOpdRqTWI9LYi4ApqF9uVCCtuA== + dependencies: + aproba "^2.0.0" + figgy-pudding "^3.4.1" + get-stream "^4.0.0" + npm-registry-fetch "^4.0.0" + +libnpmorg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-1.0.1.tgz#5d2503f6ceb57f33dbdcc718e6698fea6d5ad087" + integrity sha512-0sRUXLh+PLBgZmARvthhYXQAWn0fOsa6T5l3JSe2n9vKG/lCVK4nuG7pDsa7uMq+uTt2epdPK+a2g6btcY11Ww== + dependencies: + aproba "^2.0.0" + figgy-pudding "^3.4.1" + get-stream "^4.0.0" + npm-registry-fetch "^4.0.0" + +libnpmpublish@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-1.1.3.tgz#e3782796722d79eef1a0a22944c117e0c4ca4280" + integrity sha512-/3LsYqVc52cHXBmu26+J8Ed7sLs/hgGVFMH1mwYpL7Qaynb9RenpKqIKu0sJ130FB9PMkpMlWjlbtU8A4m7CQw== + dependencies: + aproba "^2.0.0" + figgy-pudding "^3.5.1" + get-stream "^4.0.0" + lodash.clonedeep "^4.5.0" + normalize-package-data "^2.4.0" + npm-package-arg "^6.1.0" + npm-registry-fetch "^4.0.0" + semver "^5.5.1" + ssri "^6.0.1" + +libnpmsearch@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-2.0.2.tgz#9a4f059102d38e3dd44085bdbfe5095f2a5044cf" + integrity sha512-VTBbV55Q6fRzTdzziYCr64+f8AopQ1YZ+BdPOv16UegIEaE8C0Kch01wo4s3kRTFV64P121WZJwgmBwrq68zYg== + dependencies: + figgy-pudding "^3.5.1" + get-stream "^4.0.0" + npm-registry-fetch "^4.0.0" + +libnpmteam@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-1.0.2.tgz#8b48bcbb6ce70dd8150c950fcbdbf3feb6eec820" + integrity sha512-p420vM28Us04NAcg1rzgGW63LMM6rwe+6rtZpfDxCcXxM0zUTLl7nPFEnRF3JfFBF5skF/yuZDUthTsHgde8QA== + dependencies: + aproba "^2.0.0" + figgy-pudding "^3.4.1" + get-stream "^4.0.0" + npm-registry-fetch "^4.0.0" + +libnpx@^10.2.4: + version "10.2.4" + resolved "https://registry.yarnpkg.com/libnpx/-/libnpx-10.2.4.tgz#ef0e3258e29aef2ec7ee3276115e20e67f67d4ee" + integrity sha512-BPc0D1cOjBeS8VIBKUu5F80s6njm0wbVt7CsGMrIcJ+SI7pi7V0uVPGpEMH9H5L8csOcclTxAXFE2VAsJXUhfA== + dependencies: + dotenv "^5.0.1" + npm-package-arg "^6.0.0" + rimraf "^2.6.2" + safe-buffer "^5.1.0" + update-notifier "^2.3.0" + which "^1.3.0" + y18n "^4.0.0" + yargs "^14.2.3" + +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" @@ -8673,13 +11927,13 @@ loader-utils@^0.2.16: json5 "^0.5.0" object-assign "^4.0.1" -loader-utils@^1.0.2, loader-utils@^1.1.0, 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== +loader-utils@^1.0.2, 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 "^2.0.0" + emojis-list "^3.0.0" json5 "^1.0.1" locate-path@^2.0.0: @@ -8705,12 +11959,51 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +lock-verify@^2.0.2, lock-verify@^2.1.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/lock-verify/-/lock-verify-2.2.1.tgz#81107948c51ed16f97b96ff8b60675affb243fc1" + integrity sha512-n0Zw2DVupKfZMazy/HIFVNohJ1z8fIoZ77WBnyyBGG6ixw83uJNyrbiJvvHWe1QKkGiBCjj8RCPlymltliqEww== + dependencies: + "@iarna/cli" "^1.2.0" + npm-package-arg "^6.1.0" + semver "^5.4.1" + +lockfile@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz#07f819d25ae48f87e538e6578b6964a4981a5609" + integrity sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA== + dependencies: + signal-exit "^3.0.2" + +lodash._baseuniq@~4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" + integrity sha1-DrtE5FaBSveQXGIS+iybLVG4Qeg= + dependencies: + lodash._createset "~4.0.0" + lodash._root "~3.0.0" + +lodash._createset@~4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" + integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY= + 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: +lodash._root@~3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + integrity sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI= + +lodash.capitalize@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz#f826c9b4e2a8511d84e3aca29db05e1a4f3b72a9" + integrity sha1-+CbJtOKoUR2E46yinbBeGk87cqk= + +lodash.clonedeep@^4.5.0, 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= @@ -8720,6 +12013,11 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= +lodash.escaperegexp@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" + integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c= + lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" @@ -8730,6 +12028,16 @@ lodash.ismatch@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= +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.kebabcase@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" @@ -8765,25 +12073,50 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" -lodash.uniq@^4.5.0: +lodash.toarray@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" + integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= + +lodash.union@~4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" + integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg= + +lodash.uniq@^4.5.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@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0: +lodash.uniqby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" + integrity sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI= + +lodash.without@~4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" + integrity sha1-PNRXSgC2e643OpS3SHcmQFB7eqw= + +lodash@^4.17.10, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0: version "4.17.19" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== +lodash@^4.17.11, lodash@^4.17.20, lodash@^4.17.3: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + log-driver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg== -loglevel@^1.6.6: - version "1.6.7" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.7.tgz#b3e034233188c68b889f5b862415306f565e2c56" - integrity sha512-cY2eLFrQSAfVPhCgH1s7JI73tMbg9YC3v3+ZHVW67sBS7UxWzNEk/ZBbSfLykBWHp33dqqtOv82gjhKEi81T/A== +loglevel@^1.6.8: + version "1.7.0" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0" + integrity sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ== loose-envify@^1.0.0: version "1.4.0" @@ -8830,6 +12163,13 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + lru-queue@0.1: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -8837,10 +12177,10 @@ lru-queue@0.1: dependencies: es5-ext "~0.10.2" -lunr@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.8.tgz#a8b89c31f30b5a044b97d2d28e2da191b6ba2072" - integrity sha512-oxMeX/Y35PNFuZoHp+jUj5OSEmLCaIH4KTFJh7a93cHBoFmpw2IoPs22VIz7vyO2YUnx2Tn9dzIwO2P/4quIRg== +lunr@^2.3.8, lunr@^2.3.9: + version "2.3.9" + resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" + integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== macos-release@^2.2.0: version "2.3.0" @@ -8893,22 +12233,10 @@ make-fetch-happen@^5.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== + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= dependencies: - p-defer "^1.0.0" + tmpl "1.0.x" map-cache@^0.2.2: version "0.2.2" @@ -8925,6 +12253,11 @@ map-obj@^2.0.0: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk= +map-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5" + integrity sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g== + map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -8933,9 +12266,9 @@ map-visit@^1.0.0: object-visit "^1.0.0" markdown-it-anchor@^5.0.2: - version "5.2.5" - resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-5.2.5.tgz#dbf13cfcdbffd16a510984f1263e1d479a47d27a" - integrity sha512-xLIjLQmtym3QpoY9llBgApknl7pxAcN3WDRc2d3rwpl+/YvDZHPmKscGs+L6E05xf2KrCXPBvosWt7MZukwSpQ== + version "5.3.0" + resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz#d549acd64856a8ecd1bea58365ef385effbac744" + integrity sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA== markdown-it-chain@^1.3.0: version "1.3.0" @@ -8970,11 +12303,48 @@ markdown-it@^8.4.1: mdurl "^1.0.1" uc.micro "^1.0.5" -marked@^0.4.0, marked@^0.6.1, marked@^0.6.2, marked@^0.8.0: +marked-terminal@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-3.3.0.tgz#25ce0c0299285998c7636beaefc87055341ba1bd" + integrity sha512-+IUQJ5VlZoAFsM5MHNT7g3RHSkA3eETqhRCdXv4niUMAKHQ7lb1yvAcuGPmm4soxhmtX13u4Li6ZToXtvSEH+A== + dependencies: + ansi-escapes "^3.1.0" + cardinal "^2.1.1" + chalk "^2.4.1" + cli-table "^0.3.1" + node-emoji "^1.4.1" + supports-hyperlinks "^1.0.1" + +marked@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.4.0.tgz#9ad2c2a7a1791f10a852e0112f77b571dce10c66" + integrity sha512-tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw== + +marked@^0.6.1: version "0.6.3" resolved "https://registry.yarnpkg.com/marked/-/marked-0.6.3.tgz#79babad78af638ba4d522a9e715cdfdd2429e946" integrity sha512-Fqa7eq+UaxfMriqzYLayfqAE40WN03jf+zHjT18/uXNuzjq3TY0XTbrAoPeqSJrAmPz11VuUA+kBPYOhHt9oOQ== +marked@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.7.0.tgz#b64201f051d271b1edc10a04d1ae9b74bb8e5c0e" + integrity sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg== + +marked@^0.8.0: + version "0.8.2" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.8.2.tgz#4faad28d26ede351a7a1aaa5fec67915c869e355" + integrity sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw== + +marked@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.0.tgz#7221ce2395fa6cf6d722e6f2871a32d3513c85ca" + integrity sha512-tiRxakgbNPBr301ihe/785NntvYyhxlqcL3YaC8CaxJQh7kiaEtrN9B/eK2I2943Yjkh5gw25chYFDQhOMCwMA== + +math-random@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" + integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== + md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -8989,24 +12359,32 @@ mdn-data@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= +meant@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/meant/-/meant-1.0.2.tgz#5d0c78310a3d8ae1408a16be0fe0bd42a969f560" + integrity sha512-KN+1uowN/NK+sT/Lzx7WSGIj2u+3xe5n2LbwObfjOhPZiA+cCfCm6idVl0RkEfjThkw5XJ96CyRcanq6GmKtUg== + 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== +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" + mimic-fn "^1.0.0" memoizee@^0.4.14: version "0.4.14" @@ -9084,6 +12462,23 @@ meow@^5.0.0: trim-newlines "^2.0.0" yargs-parser "^10.0.0" +meow@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" + integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + 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" + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -9106,6 +12501,11 @@ merge2@^1.2.3: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -9149,6 +12549,14 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" +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" + miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -9157,34 +12565,51 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.43.0, "mime-db@>= 1.43.0 < 2": +mime-db@1.43.0: version "1.43.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ== -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: +mime-db@1.44.0: + 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-db@>= 1.43.0 < 2": + version "1.45.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" + integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== + +mime-types@^2.1.12, mime-types@~2.1.19: version "2.1.26" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ== dependencies: mime-db "1.43.0" +mime-types@~2.1.17, 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.0.3, 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== +mime@^2.0.3, mime@^2.4.3, mime@^2.4.4: + version "2.4.6" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" + integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== 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: +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== @@ -9201,6 +12626,11 @@ min-document@^2.19.0: dependencies: dom-walk "^0.1.0" +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + mini-css-extract-plugin@0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.6.0.tgz#a3f13372d6fcde912f3ee4cd039665704801e3b9" @@ -9228,6 +12658,15 @@ minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + minimist-options@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" @@ -9241,7 +12680,12 @@ minimist@0.0.8: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= -minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: +minimist@^1.1.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== + +minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= @@ -9307,13 +12751,25 @@ mkdirp@0.3.0: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" integrity sha1-G79asbqCevI1dRQ0kEJkVfSB/h4= -mkdirp@0.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1, mkdirp@~0.5.x: +mkdirp@1.x, mkdirp@~1.0.4: + 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: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" +mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.0, 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" + modify-values@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" @@ -9346,7 +12802,7 @@ ms@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: +ms@2.1.2, 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== @@ -9393,7 +12849,7 @@ mz@^2.5.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nan@^2.12.1, nan@^2.14.0: +nan@^2.12.1: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== @@ -9425,11 +12881,21 @@ negotiator@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: +neo-async@^2.5.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +neo-async@^2.6.0: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== +nerf-dart@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/nerf-dart/-/nerf-dart-1.0.0.tgz#e6dab7febf5ad816ea81cf5c629c5a0ebde72c1a" + integrity sha1-5tq3/r9a2Bbqgc9cYpxaDr3nLBo= + next-tick@1: version "1.1.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" @@ -9452,6 +12918,13 @@ no-case@^2.2.0: dependencies: lower-case "^1.1.1" +node-emoji@^1.4.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" + integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== + dependencies: + lodash.toarray "^4.4.0" + node-fetch-npm@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7" @@ -9461,23 +12934,25 @@ node-fetch-npm@^2.0.2: json-parse-better-errors "^1.0.0" safe-buffer "^5.1.1" -node-fetch@^1.0.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - 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-fetch@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" + integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== + +node-gyp-build@~3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-3.7.0.tgz#daa77a4f547b9aed3e2aac779eaf151afd60ec8d" + integrity sha512-L/Eg02Epx6Si2NXmedx+Okg+4UHqmaf3TNcxd50SF9NQGcJaON3AtU++kax69XV7YWz4tUspqZSAsVofhFKG2w== node-gyp@^5.0.2: version "5.1.0" @@ -9496,6 +12971,23 @@ node-gyp@^5.0.2: tar "^4.4.12" which "^1.3.1" +node-gyp@^5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.1.1.tgz#eb915f7b631c937d282e33aed44cb7a025f62a3e" + integrity sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw== + 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" @@ -9546,6 +13038,18 @@ node-notifier@^5.4.2: shellwords "^0.1.1" which "^1.3.0" +node-notifier@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.0.tgz#a7eee2d51da6d0f7ff5094bc7108c911240c1620" + integrity sha512-46z7DUmcjoYdaWyXouuFNNfUo6eFa94t23c53c+lG/9Cvauk4a98rAUp9672X5dxGdQmLpPzTxzu8f/OeEPaFA== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + node-releases@^1.1.49: version "1.1.49" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.49.tgz#67ba5a3fac2319262675ef864ed56798bb33b93e" @@ -9553,6 +13057,11 @@ node-releases@^1.1.49: dependencies: semver "^6.3.0" +node-releases@^1.1.61: + version "1.1.63" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.63.tgz#db6dbb388544c31e888216304e8fd170efee3ff5" + integrity sha512-ukW3iCfQaoxJkSPN+iK7KznTeqDGVJatAEuXsJERYHa9tn/KaT5lBdIyxQjLEVTzSkyjJEuQ17/vaEjrOauDkg== + nopt@1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" @@ -9568,6 +13077,14 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" +nopt@^4.0.3: + 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" + 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" @@ -9585,7 +13102,7 @@ normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0: +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== @@ -9609,11 +13126,19 @@ normalize-url@^3.0.0, normalize-url@^3.3.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== -normalize-url@^4.1.0: +normalize-url@^4.0.0, normalize-url@^4.1.0: version "4.5.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== +npm-audit-report@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-1.3.3.tgz#8226deeb253b55176ed147592a3995442f2179ed" + integrity sha512-8nH/JjsFfAWMvn474HB9mpmMjrnKb1Hx/oTAdjv4PT9iZBvBxiZ+wtDUapHCJwLqYGQVPaAfs+vL5+5k9QndXw== + dependencies: + cli-table3 "^0.5.0" + console-control-strings "^1.1.0" + npm-bundled@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" @@ -9621,6 +13146,32 @@ npm-bundled@^1.0.1: dependencies: npm-normalize-package-bin "^1.0.1" +npm-cache-filename@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz#ded306c5b0bfc870a9e9faf823bc5f283e05ae11" + integrity sha1-3tMGxbC/yHCp6fr4I7xfKD4FrhE= + +npm-install-checks@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-3.0.2.tgz#ab2e32ad27baa46720706908e5b14c1852de44d9" + integrity sha512-E4kzkyZDIWoin6uT5howP8VDvkM+E8IQDcHAycaAxMbwkqhIg5eEYALnXOl3Hq9MrkdQB/2/g1xwBINXdKSRkg== + dependencies: + semver "^2.3.0 || 3.x || 4 || 5" + +npm-lifecycle@^3.0.0, npm-lifecycle@^3.1.5: + 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-lifecycle@^3.1.2: version "3.1.4" resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.4.tgz#de6975c7d8df65f5150db110b57cce498b0b604c" @@ -9635,12 +13186,17 @@ npm-lifecycle@^3.1.2: umask "^1.1.0" which "^1.3.1" +npm-logical-tree@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/npm-logical-tree/-/npm-logical-tree-1.2.1.tgz#44610141ca24664cad35d1e607176193fd8f5b88" + integrity sha512-AJI/qxDB2PWI4LG1CYN579AY1vCiNyWfkiquCsJWqntRu/WwimVrC8yXeILBFHDwxfOejxewlmnvW9XXjMlYIg== + 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: +"npm-package-arg@^4.0.0 || ^5.0.0 || ^6.0.0", npm-package-arg@^6.0.0, npm-package-arg@^6.1.0, npm-package-arg@^6.1.1: 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== @@ -9650,7 +13206,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: semver "^5.6.0" validate-npm-package-name "^3.0.0" -npm-packlist@^1.4.4: +npm-packlist@^1.1.12, npm-packlist@^1.4.4, npm-packlist@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== @@ -9659,7 +13215,7 @@ npm-packlist@^1.4.4: npm-bundled "^1.0.1" npm-normalize-package-bin "^1.0.1" -npm-pick-manifest@^3.0.0: +npm-pick-manifest@^3.0.0, npm-pick-manifest@^3.0.2: 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== @@ -9668,6 +13224,28 @@ npm-pick-manifest@^3.0.0: npm-package-arg "^6.0.0" semver "^5.4.1" +npm-profile@^4.0.2, npm-profile@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-4.0.4.tgz#28ee94390e936df6d084263ee2061336a6a1581b" + integrity sha512-Ta8xq8TLMpqssF0H60BXS1A90iMoM6GeKwsmravJ6wYjWwSzcYBTdyWa3DZCYqPutacBMEm7cxiOkiIeCUAHDQ== + dependencies: + aproba "^1.1.2 || 2" + figgy-pudding "^3.4.1" + npm-registry-fetch "^4.0.0" + +npm-registry-fetch@^4.0.0, npm-registry-fetch@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.7.tgz#57951bf6541e0246b34c9f9a38ab73607c9449d7" + integrity sha512-cny9v0+Mq6Tjz+e0erFAB+RYJ/AVGzkjnISiobqP8OWj9c9FLoZZu8/SPSKJWE17F1tk4018wfjV+ZbIbqC7fQ== + dependencies: + JSONStream "^1.3.4" + bluebird "^3.5.1" + figgy-pudding "^3.4.1" + lru-cache "^5.1.1" + make-fetch-happen "^5.0.0" + npm-package-arg "^6.1.0" + safe-buffer "^5.2.0" + 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" @@ -9675,7 +13253,140 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -npmlog@^4.1.2: +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" + +npm-user-validate@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.1.tgz#31428fc5475fe8416023f178c0ab47935ad8c561" + integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== + +npm@^6.10.3: + version "6.14.8" + resolved "https://registry.yarnpkg.com/npm/-/npm-6.14.8.tgz#64ef754345639bc035982ec3f609353c8539033c" + integrity sha512-HBZVBMYs5blsj94GTeQZel7s9odVuuSUHy1+AlZh7rPVux1os2ashvEGLy/STNK7vUjbrCg5Kq9/GXisJgdf6A== + dependencies: + JSONStream "^1.3.5" + abbrev "~1.1.1" + ansicolors "~0.3.2" + ansistyles "~0.1.3" + aproba "^2.0.0" + archy "~1.0.0" + bin-links "^1.1.8" + bluebird "^3.5.5" + byte-size "^5.0.1" + cacache "^12.0.3" + call-limit "^1.1.1" + chownr "^1.1.4" + ci-info "^2.0.0" + cli-columns "^3.1.2" + cli-table3 "^0.5.1" + cmd-shim "^3.0.3" + columnify "~1.5.4" + config-chain "^1.1.12" + detect-indent "~5.0.0" + detect-newline "^2.1.0" + dezalgo "~1.0.3" + editor "~1.0.0" + figgy-pudding "^3.5.1" + find-npm-prefix "^1.0.2" + fs-vacuum "~1.2.10" + fs-write-stream-atomic "~1.0.10" + gentle-fs "^2.3.1" + glob "^7.1.6" + graceful-fs "^4.2.4" + has-unicode "~2.0.1" + hosted-git-info "^2.8.8" + iferr "^1.0.2" + infer-owner "^1.0.4" + inflight "~1.0.6" + inherits "^2.0.4" + ini "^1.3.5" + init-package-json "^1.10.3" + is-cidr "^3.0.0" + json-parse-better-errors "^1.0.2" + lazy-property "~1.0.0" + libcipm "^4.0.8" + libnpm "^3.0.1" + libnpmaccess "^3.0.2" + libnpmhook "^5.0.3" + libnpmorg "^1.0.1" + libnpmsearch "^2.0.2" + libnpmteam "^1.0.2" + libnpx "^10.2.4" + lock-verify "^2.1.0" + lockfile "^1.0.4" + lodash._baseuniq "~4.6.0" + lodash.clonedeep "~4.5.0" + lodash.union "~4.6.0" + lodash.uniq "~4.5.0" + lodash.without "~4.4.0" + lru-cache "^5.1.1" + meant "^1.0.2" + mississippi "^3.0.0" + mkdirp "^0.5.5" + move-concurrently "^1.0.1" + node-gyp "^5.1.0" + nopt "^4.0.3" + normalize-package-data "^2.5.0" + npm-audit-report "^1.3.3" + npm-cache-filename "~1.0.2" + npm-install-checks "^3.0.2" + npm-lifecycle "^3.1.5" + npm-package-arg "^6.1.1" + npm-packlist "^1.4.8" + npm-pick-manifest "^3.0.2" + npm-profile "^4.0.4" + npm-registry-fetch "^4.0.7" + npm-user-validate "~1.0.0" + npmlog "~4.1.2" + once "~1.4.0" + opener "^1.5.1" + osenv "^0.1.5" + pacote "^9.5.12" + path-is-inside "~1.0.2" + promise-inflight "~1.0.1" + qrcode-terminal "^0.12.0" + query-string "^6.8.2" + qw "~1.0.1" + read "~1.0.7" + read-cmd-shim "^1.0.5" + read-installed "~4.0.3" + read-package-json "^2.1.1" + read-package-tree "^5.3.1" + readable-stream "^3.6.0" + readdir-scoped-modules "^1.1.0" + request "^2.88.0" + retry "^0.12.0" + rimraf "^2.7.1" + safe-buffer "^5.1.2" + semver "^5.7.1" + sha "^3.0.0" + slide "~1.1.6" + sorted-object "~2.0.1" + sorted-union-stream "~2.1.3" + ssri "^6.0.1" + stringify-package "^1.0.1" + tar "^4.4.13" + text-table "~0.2.0" + tiny-relative-date "^1.3.0" + uid-number "0.0.6" + umask "~1.1.0" + unique-filename "^1.1.1" + unpipe "~1.0.0" + update-notifier "^2.5.0" + uuid "^3.3.3" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "~3.0.0" + which "^1.3.1" + worker-farm "^1.7.0" + write-file-atomic "^2.4.3" + +npmlog@^4.1.2, 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== @@ -9707,7 +13418,7 @@ number-is-nan@^1.0.0: 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.0.7, 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== @@ -9736,10 +13447,18 @@ object-inspect@^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-inspect@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" + integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== + object-is@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.2.tgz#6b80eb84fe451498f65007982f035a5b445edec4" - integrity sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ== + version "1.1.3" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.3.tgz#2e3b9e65560137455ee3bd62aec4d90a2ea1cc81" + integrity sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.0, object-keys@^1.1.1: version "1.1.1" @@ -9763,6 +13482,16 @@ object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" +object.assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.1.tgz#303867a666cdd41936ecdedfb1f8f3e32a478cdd" + integrity sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.18.0-next.0" + has-symbols "^1.0.1" + object-keys "^1.1.1" + 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" @@ -9818,7 +13547,7 @@ on-headers@~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: +once@^1.3.0, once@^1.3.1, once@^1.4.0, once@~1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -9840,9 +13569,14 @@ onetime@^5.1.0: mimic-fn "^2.1.0" opencollective-postinstall@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89" - integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw== + version "2.0.3" + resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" + integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== + +opener@^1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== opn@^5.5.0: version "5.5.0" @@ -9860,9 +13594,9 @@ optimist@^0.6.1: wordwrap "~0.0.2" optimize-css-assets-webpack-plugin@^5.0.1: - 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== + version "5.0.4" + resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz#85883c6528aaa02e30bbad9908c92926bb52dc90" + integrity sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A== dependencies: cssnano "^4.1.10" last-call-webpack-plugin "^3.0.0" @@ -9908,14 +13642,14 @@ os-homedir@^1.0.0: 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== +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" os-name@^3.1.0: version "3.1.0" @@ -9943,11 +13677,6 @@ p-cancelable@^1.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== -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" @@ -9955,15 +13684,32 @@ p-each-series@^1.0.0: 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-filter@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" + integrity sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== + dependencies: + p-map "^2.0.0" + 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-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-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@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-3.0.0.tgz#58e78c7dfe2e163cf2a04ff869e7c1dba64a5971" + integrity sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ== p-limit@^1.1.0: version "1.3.0" @@ -9972,13 +13718,20 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1: +p-limit@^2.0.0: version "2.2.2" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== dependencies: p-try "^2.0.0" +p-limit@^2.2.0, p-limit@^2.2.1: + 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" @@ -9993,7 +13746,7 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" -p-locate@^4.1.0: +p-locate@^4.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== @@ -10029,6 +13782,11 @@ p-reduce@^1.0.0: resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= +p-reduce@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" + integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== + p-retry@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" @@ -10036,6 +13794,14 @@ p-retry@^3.0.1: dependencies: retry "^0.12.0" +p-retry@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.2.0.tgz#ea9066c6b44f23cab4cd42f6147cdbbc6604da5d" + integrity sha512-jPH38/MRh263KKcq0wBNOGFJbm+U6784RilTmHjB/HM9kH9V8WlCpVUcdOmip9cjXOh6MxZ5yk1z2SjDUJfWmA== + dependencies: + "@types/retry" "^0.12.0" + 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" @@ -10053,6 +13819,16 @@ p-waterfall@^1.0.0: 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" + package-json@^6.3.0: version "6.5.0" resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" @@ -10063,6 +13839,42 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" +pacote@^9.1.0, pacote@^9.5.12, pacote@^9.5.3: + version "9.5.12" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.12.tgz#1e11dd7a8d736bcc36b375a9804d41bb0377bf66" + integrity sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ== + dependencies: + bluebird "^3.5.3" + cacache "^12.0.2" + chownr "^1.1.2" + figgy-pudding "^3.5.1" + get-stream "^4.1.0" + glob "^7.1.3" + infer-owner "^1.0.4" + lru-cache "^5.1.1" + make-fetch-happen "^5.0.0" + minimatch "^3.0.4" + minipass "^2.3.5" + mississippi "^3.0.0" + mkdirp "^0.5.1" + normalize-package-data "^2.4.0" + npm-normalize-package-bin "^1.0.0" + npm-package-arg "^6.1.0" + npm-packlist "^1.1.12" + npm-pick-manifest "^3.0.0" + npm-registry-fetch "^4.0.0" + osenv "^0.1.5" + promise-inflight "^1.0.1" + promise-retry "^1.1.1" + protoduck "^5.0.1" + rimraf "^2.6.2" + safe-buffer "^5.1.2" + semver "^5.6.0" + ssri "^6.0.1" + tar "^4.4.10" + unique-filename "^1.1.1" + which "^1.3.1" + pako@~1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" @@ -10091,14 +13903,13 @@ parent-module@^1.0.0: 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== +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== dependencies: - asn1.js "^4.0.0" + asn1.js "^5.2.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" @@ -10133,6 +13944,16 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-json@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" + integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + parse-path@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.1.tgz#0ec769704949778cb3b8eda5e994c32073a1adff" @@ -10156,6 +13977,11 @@ parse5@4.0.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== +parse5@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" @@ -10198,7 +14024,7 @@ path-is-absolute@^1.0.0: 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.2: +path-is-inside@^1.0.1, path-is-inside@^1.0.2, 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= @@ -10208,7 +14034,7 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= -path-key@^3.1.0: +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== @@ -10246,10 +14072,15 @@ path-type@^3.0.0: dependencies: pify "^3.0.0" -pbkdf2@^3.0.3, pbkdf2@^3.0.9: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== +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, pbkdf2@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" + integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -10257,10 +14088,10 @@ pbkdf2@^3.0.3, pbkdf2@^3.0.9: safe-buffer "^5.0.1" sha.js "^2.4.8" -pbkdf2@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== +pbkdf2@^3.0.9: + 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" @@ -10273,6 +14104,11 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +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" @@ -10307,6 +14143,14 @@ pirates@^4.0.0, pirates@^4.0.1: dependencies: node-modules-regexp "^1.0.0" +pkg-conf@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.1.0.tgz#2126514ca6f2abfebd168596df18ba57867f0058" + integrity sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg= + dependencies: + find-up "^2.0.0" + load-json-file "^4.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" @@ -10321,6 +14165,13 @@ pkg-dir@^3.0.0: dependencies: find-up "^3.0.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@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" @@ -10345,14 +14196,14 @@ pn@^1.1.0: resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== -portfinder@^1.0.13, 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== +portfinder@^1.0.13, portfinder@^1.0.26: + version "1.0.28" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== dependencies: async "^2.6.2" debug "^3.1.1" - mkdirp "^0.5.1" + mkdirp "^0.5.5" posix-character-classes@^0.1.0: version "0.1.1" @@ -10360,14 +14211,13 @@ posix-character-classes@^0.1.0: integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= postcss-calc@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436" - integrity sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ== + version "7.0.5" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" + integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== dependencies: - css-unit-converter "^1.1.1" - postcss "^7.0.5" - postcss-selector-parser "^5.0.0-rc.4" - postcss-value-parser "^3.3.1" + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" postcss-colormin@^4.0.3: version "4.0.3" @@ -10417,9 +14267,9 @@ postcss-discard-overridden@^4.0.1: postcss "^7.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== + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== dependencies: cosmiconfig "^5.0.0" import-cwd "^2.0.0" @@ -10513,9 +14363,9 @@ postcss-modules-local-by-default@^2.0.6: postcss-value-parser "^3.3.1" postcss-modules-scope@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.1.tgz#33d4fc946602eb5e9355c4165d68a10727689dba" - integrity sha512-OXRUPecnHCg8b9xWvldG/jUpRIGPNRka0r4D4j0ESUU2/5IOnpsjfPPmDprM3Ih8CgZ8FXjWqaniK5v4rWt3oQ== + 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" @@ -10654,23 +14504,15 @@ postcss-selector-parser@^3.0.0: indexes-of "^1.0.1" uniq "^1.0.1" -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== + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" + integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== dependencies: cssesc "^3.0.0" indexes-of "^1.0.1" uniq "^1.0.1" + util-deprecate "^1.0.2" postcss-svgo@^4.0.2: version "4.0.2" @@ -10696,15 +14538,15 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^ 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.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" - integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.26, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.26" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.26.tgz#5ed615cfcab35ba9bbb82414a4fa88ea10429587" - integrity sha512-IY4oRjpXWYshuTDFxMVkJDtWIk2LhsTlu8bZnbEJA4+bYT16Lvpo8Qv6EvDumhYRgzjZl489pmsY3qVgJQ08nA== +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" + integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -10720,23 +14562,33 @@ prelude-ls@~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.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + prepend-http@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= + prettier@^1.13.5, prettier@^1.18.2: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== pretty-error@^2.0.2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= + version "2.1.2" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== dependencies: - renderkid "^2.0.1" - utila "~0.4" + lodash "^4.17.20" + renderkid "^2.0.4" pretty-format@^24.9.0: version "24.9.0" @@ -10748,6 +14600,26 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" +pretty-format@^25.2.1, pretty-format@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" + integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== + dependencies: + "@jest/types" "^25.5.0" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^16.12.0" + +pretty-format@^26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.5.2.tgz#5d896acfdaa09210683d34b6dc0e6e21423cd3e1" + integrity sha512-VizyV669eqESlkOikKJI8Ryxl/kPpbdLwNdPs2GrbQs18MpySB5S0Yo0N7zkg2xTRiFq4CFw8ct5Vg4a0xP0og== + dependencies: + "@jest/types" "^26.5.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^16.12.0" + pretty-quick@^1.11.1: version "1.11.1" resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-1.11.1.tgz#462ffa2b93d24c05b7a0c3a001e08601a0c55ee4" @@ -10766,9 +14638,9 @@ pretty-time@^1.1.0: integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== prismjs@^1.13.0: - version "1.21.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.21.0.tgz#36c086ec36b45319ec4218ee164c110f9fc015a3" - integrity sha512-uGdSIu1nk3kej2iZsLyDoJ7e9bnPzIgY0naW/HdknGj61zScaprVEVGHrPoXqI+M9sP0NDnTK2jpkvmldpuqDw== + version "1.22.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.22.0.tgz#73c3400afc58a823dd7eed023f8e1ce9fd8977fa" + integrity sha512-lLJ/Wt9yy0AiSYBf212kK3mM5L8ycwlyTlSxHBAneXLR0nzFMlZ5y7riFPF3E33zXOF2IH95xdY5jIyZbM9z/w== optionalDependencies: clipboard "^2.0.0" @@ -10792,7 +14664,7 @@ progress@^2.0.0, progress@^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: +promise-inflight@^1.0.1, 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= @@ -10845,12 +14717,12 @@ protoduck@^5.0.1: genfun "^5.0.0" proxy-addr@~2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" - integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ== + 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.0" + ipaddr.js "1.9.1" prr@~1.0.1: version "1.0.1" @@ -10931,6 +14803,11 @@ q@^1.1.2, q@^1.5.1: resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= +qrcode-terminal@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" + integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== + qs@6.7.0: version "6.7.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" @@ -10950,6 +14827,15 @@ query-string@^5.0.1: object-assign "^4.1.0" strict-uri-encode "^1.0.0" +query-string@^6.8.2: + version "6.13.6" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.13.6.tgz#e5ac7c74f2a5da43fbca0b883b4f0bafba439966" + integrity sha512-/WWZ7d9na6s2wMEGdVCVgKWE9Rt7nYyNIf7k8xmHXcesPMlEzicWo3lbYwHyA4wBktI2KrXxxZeACLbE84hvSQ== + dependencies: + decode-uri-component "^0.2.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + querystring-es3@^0.2.0, querystring-es3@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -10961,16 +14847,35 @@ querystring@0.2.0: 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== + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== 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= -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + +qw@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/qw/-/qw-1.0.1.tgz#efbfdc740f9ad054304426acb183412cc8b996d4" + integrity sha1-77/cdA+a0FQwRCassYNBLMi5ltQ= + +randomatic@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" + integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== + dependencies: + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== @@ -11000,7 +14905,7 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.2.8: +rc@^1.0.1, rc@^1.1.6, rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -11010,18 +14915,37 @@ rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" +react-is@^16.12.0: + 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-is@^16.8.4: version "16.12.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== -read-cmd-shim@^1.0.1: +read-cmd-shim@^1.0.1, read-cmd-shim@^1.0.5: 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-installed@~4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/read-installed/-/read-installed-4.0.3.tgz#ff9b8b67f187d1e4c29b9feb31f6b223acd19067" + integrity sha1-/5uLZ/GH0eTCm5/rMfayI6zRkGc= + dependencies: + debuglog "^1.0.1" + read-package-json "^2.0.0" + readdir-scoped-modules "^1.0.0" + semver "2 || 3 || 4 || 5" + slide "~1.1.3" + util-extend "^1.0.1" + optionalDependencies: + 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" @@ -11034,7 +14958,17 @@ read-cmd-shim@^1.0.1: optionalDependencies: graceful-fs "^4.1.2" -read-package-tree@^5.1.6: +read-package-json@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" + integrity sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA== + dependencies: + glob "^7.1.1" + json-parse-even-better-errors "^2.3.0" + normalize-package-data "^2.0.0" + npm-normalize-package-bin "^1.0.0" + +read-package-tree@^5.1.6, read-package-tree@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.3.1.tgz#a32cb64c7f31eb8a6f31ef06f9cedf74068fe636" integrity sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw== @@ -11075,6 +15009,15 @@ read-pkg-up@^4.0.0: find-up "^3.0.0" read-pkg "^3.0.0" +read-pkg-up@^7.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" @@ -11111,7 +15054,17 @@ read-pkg@^4.0.1: parse-json "^4.0.0" pify "^3.0.0" -read@1, read@~1.0.1: +read-pkg@^5.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, read@~1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= @@ -11131,7 +15084,7 @@ read@1, read@~1.0.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@2 || 3", readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, 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== @@ -11140,7 +15093,17 @@ read@1, read@~1.0.1: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readdir-scoped-modules@^1.0.0: +readable-stream@~1.1.10: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readdir-scoped-modules@^1.0.0, readdir-scoped-modules@^1.1.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== @@ -11159,6 +15122,13 @@ readdirp@^2.0.0, readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + 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" @@ -11189,6 +15159,21 @@ redent@^2.0.0: indent-string "^3.0.0" strip-indent "^2.0.0" +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +redeyed@~2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" + integrity sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs= + dependencies: + esprima "~4.0.0" + reduce@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/reduce/-/reduce-1.0.2.tgz#0cd680ad3ffe0b060e57a5c68bdfce37168d361b" @@ -11203,6 +15188,13 @@ regenerate-unicode-properties@^8.1.0: dependencies: regenerate "^1.4.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" @@ -11230,6 +15222,13 @@ regenerator-transform@^0.14.0: dependencies: private "^0.1.6" +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + dependencies: + "@babel/runtime" "^7.8.4" + regex-cache@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" @@ -11280,6 +15279,26 @@ regexpu-core@^4.6.0: unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.1.0" +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== + 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-auth-token@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.1.1.tgz#40a33be1e82539460f94328b0f7f0f84c16d9479" @@ -11287,6 +15306,13 @@ registry-auth-token@^4.0.0: dependencies: rc "^1.2.8" +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" + registry-url@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" @@ -11299,6 +15325,11 @@ regjsgen@^0.5.0: resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== +regjsgen@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + regjsparser@^0.6.0: version "0.6.3" resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.3.tgz#74192c5805d35e9f5ebe3c1fb5b40d40a8a38460" @@ -11306,6 +15337,13 @@ regjsparser@^0.6.0: dependencies: jsesc "~0.5.0" +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: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" @@ -11316,23 +15354,23 @@ remove-trailing-separator@^1.0.1: 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== +renderkid@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.4.tgz#d325e532afb28d3f8796ffee306be8ffd6fc864c" + integrity sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g== dependencies: css-select "^1.1.0" dom-converter "^0.2" htmlparser2 "^3.3.0" + lodash "^4.17.20" 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: +repeat-string@^1.5.2, 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= @@ -11351,6 +15389,13 @@ request-promise-core@1.1.3: dependencies: lodash "^4.17.15" +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + request-promise-native@^1.0.5: version "1.0.8" resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" @@ -11360,7 +15405,16 @@ request-promise-native@^1.0.5: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.87.0, request@^2.88.0: +request-promise-native@^1.0.8: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.87.0, request@^2.88.0, request@^2.88.2: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -11418,6 +15472,13 @@ resolve-cwd@^2.0.0: 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" @@ -11443,14 +15504,22 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.x, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.8.1: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.3.2: version "1.15.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== dependencies: path-parse "^1.0.6" -resolve@^1.17.0: +resolve@^1.1.7, resolve@^1.2.0, resolve@^1.4.0: + version "1.18.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" + integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== + dependencies: + is-core-module "^2.0.0" + path-parse "^1.0.6" + +resolve@^1.10.1, resolve@^1.17.0, 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== @@ -11495,6 +15564,11 @@ retry@^0.12.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= +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== + rgb-regex@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" @@ -11505,13 +15579,6 @@ rgba-regex@^1.0.0: resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= -rimraf@2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3: - 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@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -11519,6 +15586,13 @@ rimraf@2.6.3: dependencies: glob "^7.1.3" +rimraf@^2.5.2, 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" @@ -11551,11 +15625,21 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.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-node@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e" integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A== +run-parallel@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" + integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== + 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" @@ -11568,19 +15652,31 @@ rx@^4.1.0: resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" integrity sha1-pfE/957zt0D+MKqAP7CfmIBdR4I= -rxjs@^6.4.0, rxjs@^6.5.3, rxjs@^6.5.4: +rxjs@^6.4.0: version "6.5.4" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== dependencies: tslib "^1.9.0" +rxjs@^6.6.0, rxjs@^6.6.3: + version "6.6.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== + 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: +safe-buffer@>=5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +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== @@ -11617,6 +15713,13 @@ sax@^1.2.4, sax@~1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== +saxes@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + schema-utils@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" @@ -11626,6 +15729,20 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +scryptsy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" + integrity sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w== + section-matter@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" @@ -11645,17 +15762,56 @@ select@^1.1.2: integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= selfsigned@^1.10.7: - version "1.10.7" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" - integrity sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA== + version "1.10.8" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" + integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w== + dependencies: + node-forge "^0.10.0" + +semantic-release@^15.14.0: + version "15.14.0" + resolved "https://registry.yarnpkg.com/semantic-release/-/semantic-release-15.14.0.tgz#6ee79b7b3598332378190412880049709fa23376" + integrity sha512-Cn43W35AOLY0RMcDbtwhJODJmWg6YCs1+R5jRQsTmmkEGzkV4B2F/QXkjVZpl4UbH91r93GGH0xhoq9kh7I5PA== dependencies: - node-forge "0.9.0" + "@semantic-release/commit-analyzer" "^6.1.0" + "@semantic-release/error" "^2.2.0" + "@semantic-release/github" "^5.1.0" + "@semantic-release/npm" "^5.0.5" + "@semantic-release/release-notes-generator" "^7.1.2" + aggregate-error "^3.0.0" + cosmiconfig "^6.0.0" + debug "^4.0.0" + env-ci "^4.0.0" + execa "^3.2.0" + figures "^3.0.0" + find-versions "^3.0.0" + get-stream "^5.0.0" + git-log-parser "^1.2.0" + hook-std "^2.0.0" + hosted-git-info "^3.0.0" + lodash "^4.17.15" + marked "^0.7.0" + marked-terminal "^3.2.0" + p-locate "^4.0.0" + p-reduce "^2.0.0" + read-pkg-up "^7.0.0" + resolve-from "^5.0.0" + semver "^6.0.0" + signale "^1.2.1" + yargs "^15.0.1" semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= +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-diff@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" @@ -11663,7 +15819,12 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: +semver-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" + integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw== + +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@^2.3.0 || 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== @@ -11673,16 +15834,16 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== +semver@7.x, semver@^7.2.1, semver@^7.3.2: + version "7.3.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== + semver@^6.0.0, semver@^6.1.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.2.1, semver@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -11702,10 +15863,19 @@ send@0.17.1: 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== +serialize-javascript@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea" + integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" serve-index@^1.9.1: version "1.9.1" @@ -11768,6 +15938,13 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +sha@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/sha/-/sha-3.0.0.tgz#b2f2f90af690c16a3a839a6a6c680ea51fedd1ae" + integrity sha512-DOYnM37cNsLNSGIG/zZWch5CKIRNoLdYUQTQlcgkRkoYIUwDYjqDyye16YcDZg/OPdcbUgTKMjc4SY6TB7ZAPw== + dependencies: + graceful-fs "^4.1.2" + shallow-clone@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" @@ -11813,7 +15990,7 @@ shelljs@0.7.0: interpret "^1.0.0" rechoir "^0.6.2" -shelljs@^0.8.2, shelljs@^0.8.3: +shelljs@^0.8.2: version "0.8.3" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097" integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A== @@ -11822,6 +15999,15 @@ shelljs@^0.8.2, shelljs@^0.8.3: interpret "^1.0.0" rechoir "^0.6.2" +shelljs@^0.8.3, shelljs@^0.8.4: + version "0.8.4" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" + integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + shellwords@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" @@ -11832,6 +16018,15 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= +signale@^1.2.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/signale/-/signale-1.4.0.tgz#c4be58302fb0262ac00fc3d886a7c113759042f1" + integrity sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w== + dependencies: + chalk "^2.3.2" + figures "^2.0.0" + pkg-conf "^2.1.0" + simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" @@ -11854,6 +16049,11 @@ slash@^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" @@ -11863,7 +16063,7 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" -slide@^1.1.6: +slide@^1.1.6, slide@~1.1.3, slide@~1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= @@ -11920,13 +16120,14 @@ sockjs-client@1.4.0: 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== +sockjs@0.3.20: + version "0.3.20" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855" + integrity sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA== dependencies: faye-websocket "^0.10.0" - uuid "^3.0.1" + uuid "^3.4.0" + websocket-driver "0.6.5" socks-proxy-agent@^4.0.0: version "4.0.2" @@ -11951,6 +16152,19 @@ sort-keys@^2.0.0: dependencies: is-plain-obj "^1.0.0" +sorted-object@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/sorted-object/-/sorted-object-2.0.1.tgz#7d631f4bd3a798a24af1dffcfbfe83337a5df5fc" + integrity sha1-fWMfS9OnmKJK8d/8+/6DM3pd9fw= + +sorted-union-stream@~2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/sorted-union-stream/-/sorted-union-stream-2.1.3.tgz#c7794c7e077880052ff71a8d4a2dbb4a9a638ac7" + integrity sha1-x3lMfgd4gAUv9xqNSi27Sppjisc= + dependencies: + from2 "^1.3.0" + stream-iterate "^1.1.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" @@ -11967,7 +16181,15 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.12: +source-map-support@^0.5.16, 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-support@^0.5.6: version "0.5.16" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== @@ -12000,6 +16222,11 @@ source-map@^0.7.3: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== +spawn-error-forwarder@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz#1afd94738e999b0346d7b9fc373be55e07577029" + integrity sha1-Gv2Uc46ZmwNG17n8NzvlXgdXcCk= + spdx-correct@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" @@ -12038,10 +16265,10 @@ spdy-transport@^3.0.0: readable-stream "^3.0.6" wbuf "^1.7.3" -spdy@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.1.tgz#6f12ed1c5db7ea4f24ebb8b89ba58c87c08257f2" - integrity sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA== +spdy@^4.0.2: + 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" @@ -12049,6 +16276,11 @@ spdy@^4.0.1: select-hose "^2.0.0" spdy-transport "^3.0.0" +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + 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" @@ -12063,6 +16295,13 @@ split2@^2.0.0: dependencies: through2 "^2.0.2" +split2@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-1.0.0.tgz#52e2e221d88c75f9a73f90556e263ff96772b314" + integrity sha1-UuLiIdiMdfmnP5BVbiY/+WdysxQ= + dependencies: + through2 "~2.0.0" + split@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" @@ -12112,6 +16351,13 @@ stack-utils@^1.0.1: resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== +stack-utils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593" + integrity sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg== + dependencies: + escape-string-regexp "^2.0.0" + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -12145,6 +16391,14 @@ stream-browserify@^2.0.1: inherits "~2.0.1" readable-stream "^2.0.2" +stream-combiner2@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" + integrity sha1-+02KFCDqNidk4hrUeAOXvry0HL4= + dependencies: + duplexer2 "~0.1.0" + 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" @@ -12164,6 +16418,14 @@ stream-http@^2.7.2: to-arraybuffer "^1.0.0" xtend "^4.0.0" +stream-iterate@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/stream-iterate/-/stream-iterate-1.2.0.tgz#2bd7c77296c1702a46488b8ad41f79865eecd4e1" + integrity sha1-K9fHcpbBcCpGSIuK1B95hl7s1OE= + dependencies: + readable-stream "^2.1.5" + stream-shift "^1.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" @@ -12174,6 +16436,11 @@ strict-uri-encode@^1.0.0: resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= + string-length@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" @@ -12182,6 +16449,14 @@ string-length@^2.0.0: astral-regex "^1.0.0" strip-ansi "^4.0.0" +string-length@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" + integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -12217,6 +16492,14 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string.prototype.trimend@^1.0.1: + 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.1" resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz#9bdb8ac6abd6d602b17a4ed321870d2f8dcefc74" @@ -12231,7 +16514,15 @@ string.prototype.trimright@^2.1.1: integrity sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g== dependencies: define-properties "^1.1.3" - function-bind "^1.1.1" + function-bind "^1.1.1" + +string.prototype.trimstart@^1.0.1: + 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" @@ -12240,6 +16531,11 @@ string_decoder@^1.0.0, string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -12247,6 +16543,11 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" +stringify-package@^1.0.0, stringify-package@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.1.tgz#e5aa3643e7f74d0f28628b72f3dad5cecfc3ba85" + integrity sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg== + 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" @@ -12292,11 +16593,21 @@ strip-bom@^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-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" @@ -12309,12 +16620,14 @@ strip-indent@^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.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" -strip-json-comments@^3.1.0: +strip-json-comments@^3.0.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -12351,18 +16664,18 @@ stylus-loader@^3.0.2: lodash.clonedeep "^4.5.0" when "~3.6.x" -stylus@^0.54.5: - version "0.54.7" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.7.tgz#c6ce4793965ee538bcebe50f31537bfc04d88cd2" - integrity sha512-Yw3WMTzVwevT6ZTrLCYNHAFmanMxdylelL3hkWNgPMeTCpMwpV3nXjpOHuBXtFv7aiO2xRuQS6OoAdgkNcSNug== +stylus@^0.54.8: + version "0.54.8" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.8.tgz#3da3e65966bc567a7b044bfe0eece653e099d147" + integrity sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg== dependencies: css-parse "~2.0.0" debug "~3.1.0" - glob "^7.1.3" - mkdirp "~0.5.x" + glob "^7.1.6" + mkdirp "~1.0.4" safer-buffer "^2.1.2" sax "~1.2.4" - semver "^6.0.0" + semver "^6.3.0" source-map "^0.7.3" subarg@^1.0.0: @@ -12377,7 +16690,7 @@ supports-color@^2.0.0: resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -supports-color@^5.3.0: +supports-color@^5.0.0, supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -12391,6 +16704,13 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" +supports-color@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.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" @@ -12398,6 +16718,22 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-hyperlinks@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz#71daedf36cc1060ac5100c351bb3da48c29c0ef7" + integrity sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw== + dependencies: + has-flag "^2.0.0" + supports-color "^5.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-tags@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" @@ -12422,7 +16758,7 @@ svgo@^1.0.0: unquote "~1.1.1" util.promisify "~1.0.0" -symbol-tree@^3.2.2: +symbol-tree@^3.2.2, symbol-tree@^3.2.4: 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== @@ -12442,7 +16778,7 @@ tapable@^1.0.0, tapable@^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: +tar@^4.4.10, tar@^4.4.12, tar@^4.4.13, 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== @@ -12480,30 +16816,54 @@ temp@0.8.3: os-tmpdir "^1.0.0" rimraf "~2.2.6" +tempy@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.3.0.tgz#6f6c5b295695a16130996ad5ab01a8bd726e8bf8" + integrity sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ== + dependencies: + temp-dir "^1.0.0" + type-fest "^0.3.1" + unique-string "^1.0.0" + +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" + term-size@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753" integrity sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw== +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@^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== + version "1.4.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== 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" + serialize-javascript "^4.0.0" source-map "^0.6.1" terser "^4.1.2" webpack-sources "^1.4.0" worker-farm "^1.7.0" terser@^4.1.2: - version "4.6.3" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.3.tgz#e33aa42461ced5238d352d2df2a67f21921f8d87" - integrity sha512-Lw+ieAXmY69d09IIc/yqeBqXpEQIpDGZqT34ui1QWXIUpR2RjbqEkT8X7Lgex19hslSqcWM5iMN2kM11eMsESQ== + version "4.8.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== dependencies: commander "^2.20.0" source-map "~0.6.1" @@ -12519,12 +16879,21 @@ test-exclude@^5.2.3: 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, 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= @@ -12548,7 +16917,12 @@ throat@^4.0.0: resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= -through2@^2.0.0, through2@^2.0.2: +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, through2@~2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -12573,6 +16947,11 @@ thunky@^1.0.2: 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" @@ -12598,6 +16977,11 @@ tiny-emitter@^2.0.0: resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== +tiny-relative-date@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz#fa08aad501ed730f31cc043181d995c39a935e07" + integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A== + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -12645,6 +17029,13 @@ to-regex-range@^2.1.0: 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" @@ -12678,6 +17069,15 @@ tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.5.0: 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" @@ -12685,6 +17085,18 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" +tr46@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" + integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== + dependencies: + punycode "^2.1.1" + +traverse@~0.6.6: + version "0.6.6" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" + integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc= + trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" @@ -12695,26 +17107,32 @@ trim-newlines@^2.0.0: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= +trim-newlines@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" + integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA== + 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@^24.0.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.3.0.tgz#b97814e3eab359ea840a1ac112deae68aa440869" - integrity sha512-Hb94C/+QRIgjVZlJyiWwouYUF+siNJHJHknyspaOcZ+OQAIdFG/UrdQVXw/0B8Z3No34xkUXZJpOTy9alOWdVQ== +ts-jest@^26.4.1: + version "26.4.1" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.1.tgz#08ec0d3fc2c3a39e4a46eae5610b69fafa6babd0" + integrity sha512-F4aFq01aS6mnAAa0DljNmKr/Kk9y4HVZ1m6/rtJ0ED56cuxINGq3Q9eVAh+z5vcYKe5qnTMvv90vE8vUMFxomg== dependencies: + "@types/jest" "26.x" bs-logger "0.x" buffer-from "1.x" fast-json-stable-stringify "2.x" + jest-util "^26.1.0" json5 "2.x" lodash.memoize "4.x" make-error "1.x" - mkdirp "0.x" - resolve "1.x" - semver "^5.5" - yargs-parser "10.x" + mkdirp "1.x" + semver "7.x" + yargs-parser "20.x" ts-mockito@^2.3.1: version "2.5.0" @@ -12744,51 +17162,11 @@ tsconfig-paths@^3.8.0, tsconfig-paths@^3.9.0: minimist "^1.2.0" strip-bom "^3.0.0" -tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.8.1, tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== -tslint-microsoft-contrib@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/tslint-microsoft-contrib/-/tslint-microsoft-contrib-5.2.1.tgz#a6286839f800e2591d041ea2800c77487844ad81" - integrity sha512-PDYjvpo0gN9IfMULwKk0KpVOPMhU6cNoT9VwCOLeDl/QS8v8W2yspRpFFuUS7/c5EIH/n8ApMi8TxJAz1tfFUA== - dependencies: - tsutils "^2.27.2 <2.29.0" - -tslint@^5.14.0: - version "5.20.1" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.1.tgz#e401e8aeda0152bc44dd07e614034f3f80c67b7d" - integrity sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg== - dependencies: - "@babel/code-frame" "^7.0.0" - builtin-modules "^1.1.1" - chalk "^2.3.0" - commander "^2.12.1" - diff "^4.0.1" - glob "^7.1.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - mkdirp "^0.5.1" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.8.0" - tsutils "^2.29.0" - -"tsutils@^2.27.2 <2.29.0": - version "2.28.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.28.0.tgz#6bd71e160828f9d019b6f4e844742228f85169a1" - integrity sha512-bh5nAtW0tuhvOJnx1GLRn5ScraRLICGyJV5wJhtRWOLsxW70Kk5tZtpK3O/hW6LDnqKS9mlUMPZj9fEMJ0gxqA== - dependencies: - tslib "^1.8.1" - -tsutils@^2.29.0: - version "2.29.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" - integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== - dependencies: - tslib "^1.8.1" - tsutils@^3.17.1: version "3.17.1" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" @@ -12839,11 +17217,31 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-fest@^0.3.0: +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.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" + integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== + +type-fest@^0.3.0, type-fest@^0.3.1: 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" @@ -12879,6 +17277,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +typedoc-default-themes@^0.11.4: + version "0.11.4" + resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.11.4.tgz#1bc55b7c8d1132844616ff6f570e1e2cd0eb7343" + integrity sha512-Y4Lf+qIb9NTydrexlazAM46SSLrmrQRqWiD52593g53SsmUFioAsMWt8m834J6qsp+7wHRjxCXSZeiiW5cMUdw== + typedoc-default-themes@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.5.0.tgz#6dc2433e78ed8bea8e887a3acde2f31785bd6227" @@ -12910,12 +17313,12 @@ typedoc-plugin-markdown@^2.2.17: handlebars "^4.7.3" typedoc-plugin-markdown@^2.2.6: - version "2.2.16" - resolved "https://registry.yarnpkg.com/typedoc-plugin-markdown/-/typedoc-plugin-markdown-2.2.16.tgz#baac77e7278e1417f645c063d25f285ec06afdb8" - integrity sha512-0Y1zBqL8EQGnwMGoh82LtvioaVs1BGMr1qzINXWwh0R769Awg17vjnKZ8pBY9VHVc6yINB6ZvrLhJsfZuzJxkw== + version "2.4.2" + resolved "https://registry.yarnpkg.com/typedoc-plugin-markdown/-/typedoc-plugin-markdown-2.4.2.tgz#2d83fe4f279643436ebc44ca2f937855b0fd9f12" + integrity sha512-BBH+9/Uq5XbsqfzCDl8Jq4iaLXRMXRuAHZRFarAZX7df8+F3vUjDx/WHWoWqbZ/XUFzduLC2Iuy2qwsJX8SQ7A== dependencies: - fs-extra "^8.1.0" - handlebars "^4.5.3" + fs-extra "^9.0.1" + handlebars "^4.7.6" "typedoc-plugin-monorepo@https://github.com/ianhe8x/typedoc-plugin-monorepo": version "0.3.0" @@ -12925,9 +17328,9 @@ typedoc-plugin-markdown@^2.2.6: marked "^0.6.1" typedoc-plugin-no-inherit@^1.1.10: - version "1.1.10" - resolved "https://registry.yarnpkg.com/typedoc-plugin-no-inherit/-/typedoc-plugin-no-inherit-1.1.10.tgz#559d2fa68bc5d31052bf058399c2c135f9af2f68" - integrity sha512-BhSFAWlBTh9Bf6PSfruIqdQBM8gd/Gj8hVuRk5pVWkHu4I/SB24LzFr5gAo52ZlaQSeN72+VOkkRD6tNYl8Enw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/typedoc-plugin-no-inherit/-/typedoc-plugin-no-inherit-1.2.0.tgz#7f73809c04cb29c03afe5eea356534968cb717a9" + integrity sha512-jAAslwDbm5sVpA6EQIg5twYctRi/bnT9TgZ5SwbrNpCD5xCIIylPRX9KxIoi1RJliVgCIAxWbSUzzLKGwJCkeA== typedoc@^0.13.0: version "0.13.0" @@ -12952,29 +17355,6 @@ typedoc@^0.13.0: typedoc-default-themes "^0.5.0" typescript "3.1.x" -typedoc@^0.14.2: - version "0.14.2" - resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.14.2.tgz#769f457f4f9e4bdb8b5f3b177c86b6a31d8c3dc3" - integrity sha512-aEbgJXV8/KqaVhcedT7xG6d2r+mOvB5ep3eIz1KuB5sc4fDYXcepEEMdU7XSqLFO5hVPu0nllHi1QxX2h/QlpQ== - dependencies: - "@types/fs-extra" "^5.0.3" - "@types/handlebars" "^4.0.38" - "@types/highlight.js" "^9.12.3" - "@types/lodash" "^4.14.110" - "@types/marked" "^0.4.0" - "@types/minimatch" "3.0.3" - "@types/shelljs" "^0.8.0" - fs-extra "^7.0.0" - handlebars "^4.0.6" - highlight.js "^9.13.1" - lodash "^4.17.10" - marked "^0.4.0" - minimatch "^3.0.0" - progress "^2.0.0" - shelljs "^0.8.2" - typedoc-default-themes "^0.5.0" - typescript "3.2.x" - typedoc@^0.15.0: version "0.15.8" resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.15.8.tgz#d83195445a718d173e0d5c73b5581052cb47d4d9" @@ -12992,10 +17372,27 @@ typedoc@^0.15.0: typedoc-default-themes "^0.6.3" typescript "3.7.x" -typescript@3.1.x, typescript@3.2.x, typescript@3.7.x, typescript@^2.9.2, typescript@^3.6.3, typescript@^3.7.2, typescript@^4.0.2: - version "3.7.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.5.tgz#0692e21f65fd4108b9330238aac11dd2e177a1ae" - integrity sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw== +typedoc@^0.19.2: + version "0.19.2" + resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.19.2.tgz#842a63a581f4920f76b0346bb80eb2a49afc2c28" + integrity sha512-oDEg1BLEzi1qvgdQXc658EYgJ5qJLVSeZ0hQ57Eq4JXy6Vj2VX4RVo18qYxRWz75ifAaYuYNBUCnbhjd37TfOg== + dependencies: + fs-extra "^9.0.1" + handlebars "^4.7.6" + highlight.js "^10.2.0" + lodash "^4.17.20" + lunr "^2.3.9" + marked "^1.1.1" + minimatch "^3.0.0" + progress "^2.0.3" + semver "^7.3.2" + shelljs "^0.8.4" + typedoc-default-themes "^0.11.4" + +typescript@3.1.x, typescript@3.7.x, typescript@^2.9.2, typescript@^3.6.3, typescript@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5" + integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg== uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" @@ -13023,15 +17420,15 @@ uid-number@0.0.6: resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE= -umask@^1.1.0: +umask@^1.1.0, umask@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" integrity sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0= underscore@>=1.8.3, underscore@^1.9.1: - version "1.9.2" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.2.tgz#0c8d6f536d6f378a5af264a72f7bec50feb7cf2f" - integrity sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ== + version "1.11.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.11.0.tgz#dd7c23a195db34267186044649870ff1bab5929e" + integrity sha512-xY96SsN3NA461qIRKZ/+qox37YXPtSBswMGfiNptr+wrt6ds4HaMw23TP612fEyGekRE6LNRiLYr/aqbHXNedw== unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" @@ -13051,6 +17448,11 @@ unicode-match-property-value-ecmascript@^1.1.0: resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== +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.0.5" resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" @@ -13090,6 +17492,13 @@ unique-slug@^2.0.0: 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" + unique-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" @@ -13109,6 +17518,11 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" + integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -13127,15 +17541,36 @@ unset-value@^1.0.0: 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.0, 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.2.0, update-notifier@^2.3.0, 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" + update-notifier@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.0.tgz#4866b98c3bc5b5473c020b1250583628f9a328f3" - integrity sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew== + version "4.1.3" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3" + integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A== dependencies: boxen "^4.2.0" chalk "^3.0.0" @@ -13168,6 +17603,11 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= +url-join@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" + integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== + url-loader@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-1.1.2.tgz#b971d191b83af693c5e3fea4064be9e1f2d7f8d8" @@ -13177,6 +17617,13 @@ url-loader@^1.0.1: mime "^2.0.3" schema-utils "^1.0.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-lax@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" @@ -13210,11 +17657,23 @@ user-home@^1.1.1: resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" integrity sha1-K1viOjK2Onyd640PKNSFcko98ZA= -util-deprecate@^1.0.1, util-deprecate@~1.0.1: +utf-8-validate@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.2.tgz#63cfbccd85dc1f2b66cf7a1d0eebc08ed056bfb3" + integrity sha512-SwV++i2gTD5qh2XqaPzBnNX88N6HdyhQrNNRykvcS0QKvItV9u3vPEJr+X5Hhfb1JC0r0e1alL0iB09rY8+nmw== + dependencies: + node-gyp-build "~3.7.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, 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-extend@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f" + integrity sha1-p8IW0mdUUWljeztu3GypEZ4v+T8= + util-promisify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/util-promisify/-/util-promisify-2.1.0.tgz#3c2236476c4d32c5ff3c47002add7c13b9a82a53" @@ -13261,7 +17720,7 @@ util@^0.11.0: dependencies: inherits "2.0.3" -utila@^0.4.0, utila@~0.4: +utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= @@ -13271,17 +17730,31 @@ utils-merge@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: +uuid@^3.0.1, uuid@^3.3.2, uuid@^3.3.3, uuid@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +uuid@^8.3.0: + version "8.3.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31" + integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg== + 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== -validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3: +v8-to-istanbul@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-6.0.1.tgz#7ef0e32faa10f841fe4c1b0f8de96ed067c0be1e" + integrity sha512-PzM1WlqquhBvsV+Gco6WSFeg1AGdD53ccMRkFeyHRE/KRZaVacPOmQYP3EeVgDBtKD2BJ8kgynBQ5OtKiHCH+w== + 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, validate-npm-package-license@^3.0.4: 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== @@ -13289,7 +17762,7 @@ validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -validate-npm-package-name@^3.0.0: +validate-npm-package-name@^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= @@ -13326,9 +17799,9 @@ vue-hot-reload-api@^2.3.0: integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== vue-loader@^15.7.1: - version "15.9.0" - resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.0.tgz#5d4b0378a4606188fc83e587ed23c94bc3a10998" - integrity sha512-FeDHvTSpwyLeF7LIV1PYkvqUQgTJ8UmOxhSlCyRSxaXCKk+M6NF4tDQsLsPPNeDPyR7TfRQ8MLg6v+8PsDV9xQ== + version "15.9.3" + resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.3.tgz#0de35d9e555d3ed53969516cac5ce25531299dda" + integrity sha512-Y67VnGGgVLH5Voostx8JBZgPQTlDQeOVBLOEsjc2cXbCYBKexSKEpOA56x0YZofoDOTszrLnIShyOX1p9uCEHA== dependencies: "@vue/component-compiler-utils" "^3.1.0" hash-sum "^1.0.2" @@ -13336,15 +17809,15 @@ vue-loader@^15.7.1: vue-hot-reload-api "^2.3.0" vue-style-loader "^4.1.0" -vue-router@^3.1.3: - version "3.1.5" - resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.1.5.tgz#ff29b8a1e1306c526b52d4dc0532109f16c41231" - integrity sha512-BszkPvhl7I9h334GjckCh7sVFyjTPMMJFJ4Bsrem/Ik+B/9gt5tgrk8k4gGLO4ZpdvciVdg7O41gW4DisQWurg== +vue-router@^3.4.5: + version "3.4.7" + resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.4.7.tgz#bf189bafd16f4e4ef783c4a6250a3090f2c1fa1b" + integrity sha512-CbHXue5BLrDivOk5O4eZ0WT4Yj8XwdXa4kCnsEIOzYUPF/07ZukayA2jGxDCJxLc9SgVQX9QX0OuGOwGlVB4Qg== vue-server-renderer@^2.6.10: - version "2.6.11" - resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.6.11.tgz#be8c9abc6aacc309828a755c021a05fc474b4bc3" - integrity sha512-V3faFJHr2KYfdSIalL+JjinZSHYUhlrvJ9pzCIjjwSh77+pkrsXpK4PucdPcng57+N77pd1LrKqwbqjQdktU1A== + version "2.6.12" + resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.6.12.tgz#a8cb9c49439ef205293cb41c35d0d2b0541653a5" + integrity sha512-3LODaOsnQx7iMFTBLjki8xSyOxhCtbZ+nQie0wWY4iOVeEtTg1a3YQAjd82WvKxrWHHTshjvLb7OXMc2/dYuxw== dependencies: chalk "^1.1.3" hash-sum "^1.0.2" @@ -13352,7 +17825,7 @@ vue-server-renderer@^2.6.10: lodash.template "^4.5.0" lodash.uniq "^4.5.0" resolve "^1.2.0" - serialize-javascript "^2.1.2" + serialize-javascript "^3.1.0" source-map "0.5.6" vue-style-loader@^4.1.0: @@ -13364,9 +17837,9 @@ vue-style-loader@^4.1.0: loader-utils "^1.0.2" vue-template-compiler@^2.6.10: - version "2.6.11" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz#c04704ef8f498b153130018993e56309d4698080" - integrity sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA== + version "2.6.12" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz#947ed7196744c8a5285ebe1233fe960437fcc57e" + integrity sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg== dependencies: de-indent "^1.0.2" he "^1.1.0" @@ -13377,9 +17850,9 @@ vue-template-es2015-compiler@^1.9.0: integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== vue@^2.6.10: - version "2.6.11" - resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5" - integrity sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ== + version "2.6.12" + resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.12.tgz#f5ebd4fa6bd2869403e29a896aed4904456c9123" + integrity sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg== vuepress-html-webpack-plugin@^3.2.0: version "3.2.0" @@ -13395,10 +17868,11 @@ vuepress-html-webpack-plugin@^3.2.0: util.promisify "1.0.0" vuepress-plugin-container@^2.0.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/vuepress-plugin-container/-/vuepress-plugin-container-2.1.2.tgz#688c1e5a9709a1b8658605bcaee580b3abb19d16" - integrity sha512-Df5KoIDMYiFg45GTfFw2hIiLGSsjhms4f3ppl2UIBf5nWMxi2lfifcoo8MooMSfxboxRZjoDccqQfu0fypaKrQ== + version "2.1.5" + resolved "https://registry.yarnpkg.com/vuepress-plugin-container/-/vuepress-plugin-container-2.1.5.tgz#37fff05662fedbd63ffd3a5463b2592c7a7f3133" + integrity sha512-TQrDX/v+WHOihj3jpilVnjXu9RcTm6m8tzljNJwYhxnJUW0WWQ0hFLcDTqTBwgKIFdEiSxVOmYE+bJX/sq46MA== dependencies: + "@vuepress/shared-utils" "^1.2.0" markdown-it-container "^2.0.0" vuepress-plugin-smooth-scroll@^0.0.3: @@ -13409,13 +17883,13 @@ vuepress-plugin-smooth-scroll@^0.0.3: smoothscroll-polyfill "^0.4.3" vuepress@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/vuepress/-/vuepress-1.3.0.tgz#88b4cba93e67c7272402c3dc0ca041651ce1ea62" - integrity sha512-TmPmHiT70aq4xqy4XczUJmUdpGlMSheOGGVwA2nhYSIS9IEd4ngPbfT9oEcAFTsGHXsr5KH8EgEU7G+3wWzY/A== + version "1.7.1" + resolved "https://registry.yarnpkg.com/vuepress/-/vuepress-1.7.1.tgz#bb0e139d8c407a0b5aa962cf9577832a5808937e" + integrity sha512-AdA3do1L4DNzeF8sMTE+cSUJ5hR/6f3YujU8DVowi/vFOg/SX2lJF8urvDkZUSXzaAT6aSgkI9L+B6D+i7SJjA== dependencies: - "@vuepress/core" "^1.3.0" - "@vuepress/theme-default" "^1.3.0" - cac "^6.5.5" + "@vuepress/core" "1.7.1" + "@vuepress/theme-default" "1.7.1" + cac "^6.5.6" envinfo "^7.2.0" opencollective-postinstall "^2.0.2" update-notifier "^4.0.0" @@ -13427,6 +17901,20 @@ w3c-hr-time@^1.0.1: dependencies: browser-process-hrtime "^0.1.2" +w3c-hr-time@^1.0.2: + 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@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + 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" @@ -13434,14 +17922,23 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.x" -watchpack@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" - integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== +watchpack-chokidar2@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" + integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== + dependencies: + chokidar "^2.1.8" + +watchpack@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" + integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== dependencies: - chokidar "^2.0.2" graceful-fs "^4.1.2" neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.0" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" @@ -13462,6 +17959,16 @@ webidl-conversions@^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== +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + webpack-chain@^4.9.0: version "4.12.1" resolved "https://registry.yarnpkg.com/webpack-chain/-/webpack-chain-4.12.1.tgz#6c8439bbb2ab550952d60e1ea9319141906c02a6" @@ -13471,9 +17978,9 @@ webpack-chain@^4.9.0: javascript-stringify "^1.6.0" webpack-chain@^6.0.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/webpack-chain/-/webpack-chain-6.4.0.tgz#22f0b27b6a9bc9ee3cba4f9e6513cf66394034e2" - integrity sha512-f97PYqxU+9/u0IUqp/ekAHRhBD1IQwhBv3wlJo2nvyELpr2vNnUqO3XQEk+qneg0uWGP54iciotszpjfnEExFA== + version "6.5.1" + resolved "https://registry.yarnpkg.com/webpack-chain/-/webpack-chain-6.5.1.tgz#4f27284cbbb637e3c8fbdef43eef588d4d861206" + integrity sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA== dependencies: deepmerge "^1.5.2" javascript-stringify "^2.0.1" @@ -13490,9 +17997,9 @@ webpack-dev-middleware@^3.7.2: webpack-log "^2.0.0" webpack-dev-server@^3.5.1: - 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== + version "3.11.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c" + integrity sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg== dependencies: ansi-html "0.0.7" bonjour "^3.5.0" @@ -13502,31 +18009,31 @@ webpack-dev-server@^3.5.1: debug "^4.1.1" del "^4.1.1" express "^4.17.1" - html-entities "^1.2.1" + html-entities "^1.3.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" + loglevel "^1.6.8" opn "^5.5.0" p-retry "^3.0.1" - portfinder "^1.0.25" + portfinder "^1.0.26" schema-utils "^1.0.0" selfsigned "^1.10.7" semver "^6.3.0" serve-index "^1.9.1" - sockjs "0.3.19" + sockjs "0.3.20" sockjs-client "1.4.0" - spdy "^4.0.1" + spdy "^4.0.2" 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" + yargs "^13.3.2" webpack-log@^2.0.0: version "2.0.0" @@ -13552,32 +18059,32 @@ webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: source-map "~0.6.1" webpack@^4.8.1: - version "4.41.6" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.41.6.tgz#12f2f804bf6542ef166755050d4afbc8f66ba7e1" - integrity sha512-yxXfV0Zv9WMGRD+QexkZzmGIh54bsvEs+9aRWxnN8erLWEOehAKUTeNBoUbA6HPEZPlRo7KDi2ZcNveoZgK9MA== - 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" + version "4.44.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" + integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q== + 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" + enhanced-resolve "^4.3.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" + 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.0" + watchpack "^1.7.4" webpack-sources "^1.4.1" webpackbar@3.2.0: @@ -13594,12 +18101,19 @@ webpackbar@3.2.0: text-table "^0.2.0" wrap-ansi "^5.1.0" +websocket-driver@0.6.5: + version "0.6.5" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" + integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY= + dependencies: + websocket-extensions ">=0.1.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== + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== dependencies: - http-parser-js ">=0.4.0 <0.4.11" + http-parser-js ">=0.5.1" safe-buffer ">=5.1.0" websocket-extensions ">=0.1.1" @@ -13608,30 +18122,26 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== -websocket@^1.0.31: - version "1.0.31" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.31.tgz#e5d0f16c3340ed87670e489ecae6144c79358730" - integrity sha512-VAouplvGKPiKFDTeCCO65vYHsyay8DqoBSlzIO3fayrfOgU94lQN5a1uWVnFrMLceTJw/+fQXR5PGbUVRaHshQ== +websocket@^1.0.32: + version "1.0.32" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.32.tgz#1f16ddab3a21a2d929dec1687ab21cfdc6d3dbb1" + integrity sha512-i4yhcllSP4wrpoPMU2N0TQ/q0O94LRG/eUQjEAamRltjQ1oT1PFFKOG4i877OlJgCG8rw6LrrowJp+TYCEWF7Q== dependencies: + bufferutil "^4.0.1" debug "^2.2.0" es5-ext "^0.10.50" - nan "^2.14.0" typedarray-to-buffer "^3.1.5" + utf-8-validate "^5.0.2" yaeti "^0.0.6" -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: +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@>=0.10.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.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== @@ -13654,6 +18164,15 @@ whatwg-url@^7.0.0: tr46 "^1.0.1" webidl-conversions "^4.0.2" +whatwg-url@^8.0.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" + integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^2.0.2" + webidl-conversions "^6.1.0" + when@~3.6.x: version "3.6.4" resolved "https://registry.yarnpkg.com/when/-/when-3.6.4.tgz#473b517ec159e2b85005497a13983f095412e34e" @@ -13671,7 +18190,7 @@ which@^1.2.9, which@^1.3.0, which@^1.3.1: dependencies: isexe "^2.0.0" -which@^2.0.1: +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== @@ -13685,6 +18204,13 @@ wide-align@^1.1.0: 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" + widest-line@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" @@ -13722,12 +18248,17 @@ word-wrap@^1.2.3, word-wrap@~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= + wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= -worker-farm@^1.7.0: +worker-farm@^1.6.0, 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== @@ -13774,7 +18305,7 @@ write-file-atomic@2.4.1: 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: +write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2, write-file-atomic@^2.4.3: 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== @@ -13846,6 +18377,16 @@ ws@^6.2.1: dependencies: async-limiter "~1.0.0" +ws@^7.2.3: + version "7.3.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" + integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== + +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= + xdg-basedir@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" @@ -13856,6 +18397,11 @@ xml-name-validator@^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.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -13868,7 +18414,12 @@ xxhashjs@^0.2.2: dependencies: cuint "^0.2.2" -"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= + +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== @@ -13888,21 +18439,28 @@ yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yargs-parser@10.x, yargs-parser@^10.0.0: +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.10.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" + integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== + +yargs-parser@20.x: + version "20.2.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.3.tgz#92419ba867b858c868acf8bae9bf74af0dd0ce26" + integrity sha512-emOFRT9WVHw03QSvN5qor9QQT9+sw5vwxfYweivSMHTcAXPefwVae2FjO7JJjj8hCE4CzPOPeFM83VwT29HCww== + +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.1: version "13.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" @@ -13911,6 +18469,14 @@ yargs-parser@^13.1.1: 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.0: version "15.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.0.tgz#cdd7a97490ec836195f59f3f4dbe5ea9e8f75f08" @@ -13919,31 +18485,28 @@ yargs-parser@^15.0.0: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^16.1.0: - version "16.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-16.1.0.tgz#73747d53ae187e7b8dbe333f95714c76ea00ecf1" - integrity sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg== +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: - version "12.0.5" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== +yargs-parser@^18.1.2, yargs-parser@^18.1.3: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== dependencies: - cliui "^4.0.0" + camelcase "^5.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-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= + dependencies: + camelcase "^4.1.0" yargs@^13.3.0: version "13.3.0" @@ -13961,6 +18524,22 @@ yargs@^13.3.0: y18n "^4.0.0" yargs-parser "^13.1.1" +yargs@^13.3.2: + 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.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.2.tgz#2769564379009ff8597cdd38fba09da9b493c4b5" @@ -13978,10 +18557,27 @@ yargs@^14.2.2: y18n "^4.0.0" yargs-parser "^15.0.0" -yargs@^15.1.0: - version "15.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.1.0.tgz#e111381f5830e863a89550bd4b136bb6a5f37219" - integrity sha512-T39FNN1b6hCW4SOIk1XyTOWxtXdcen0t+XYrysQmChzSipvhBO8Bj0nK1ozAasdk24dNWuMZvr4k24nz+8HHLg== +yargs@^14.2.3: + 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.0.1, yargs@^15.4.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== dependencies: cliui "^6.0.0" decamelize "^1.2.0" @@ -13993,7 +18589,26 @@ yargs@^15.1.0: string-width "^4.2.0" which-module "^2.0.0" y18n "^4.0.0" - yargs-parser "^16.1.0" + yargs-parser "^18.1.2" + +yargs@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A= + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.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" + yargs-parser "^7.0.0" yn@3.1.1: version "3.1.1"