From 51bced87669691c42d7701d06ba6588ebb3c57cd Mon Sep 17 00:00:00 2001 From: fmtabbara Date: Sat, 12 Mar 2022 22:17:33 +0000 Subject: [PATCH] merge develop --- .github/workflows/build.yml | 8 +- .github/workflows/contracts.yml | 4 +- .github/workflows/network-explorer-lint.yml | 7 +- .github/workflows/network-explorer.yml | 13 +- .github/workflows/nightly_build.yml | 12 +- .github/workflows/nym-wallet-types.yml | 32 - Cargo.lock | 16 +- Makefile | 20 +- assets/appicon/appicon.png | Bin 0 -> 558069 bytes assets/favicon/favicon.png | Bin 48732 -> 0 bytes assets/favicon/favicon.svg | 13 +- .../validator-client/src/client.rs | 9 +- .../src/nymd/cosmwasm_client/mod.rs | 2 +- .../nymd/cosmwasm_client/signing_client.rs | 2 +- .../validator-client/src/nymd/fee/helpers.rs | 9 + .../validator-client/src/nymd/mod.rs | 78 +- common/coconut-interface/src/lib.rs | 4 - .../mixnet-contract/src/delegation.rs | 20 +- .../mixnet-contract/src/error.rs | 7 + .../mixnet-contract/src/events.rs | 102 +- .../mixnet-contract/src/interval.rs | 44 +- .../mixnet-contract/src/lib.rs | 7 + .../mixnet-contract/src/mixnode.rs | 312 +- .../mixnet-contract/src/msg.rs | 34 +- .../mixnet-contract/src/reward_params.rs | 260 + .../mixnet-contract/src/types.rs | 5 +- common/credentials/Cargo.toml | 1 + common/credentials/src/coconut/utils.rs | 27 +- common/network-defaults/src/all.rs | 22 +- common/network-defaults/src/lib.rs | 3 +- common/nymcoconut/Cargo.toml | 6 +- common/nymcoconut/benches/benchmarks.rs | 332 + common/nymcoconut/src/elgamal.rs | 13 + common/nymcoconut/src/proofs/mod.rs | 258 +- common/nymcoconut/src/scheme/aggregation.rs | 23 +- common/nymcoconut/src/scheme/issuance.rs | 176 +- common/nymcoconut/src/scheme/keygen.rs | 166 +- common/nymcoconut/src/scheme/mod.rs | 311 +- common/nymcoconut/src/scheme/verification.rs | 20 +- common/nymcoconut/src/tests/e2e.rs | 43 +- common/nymsphinx/chunking/src/fragment.rs | 2 +- .../nymsphinx/chunking/src/reconstruction.rs | 4 +- common/nymsphinx/cover/src/lib.rs | 2 +- .../proxy-helpers/src/available_reader.rs | 8 +- contracts/Cargo.lock | 30 +- contracts/mixnet/Cargo.toml | 3 +- contracts/mixnet/src/constants.rs | 1 + contracts/mixnet/src/contract.rs | 73 +- contracts/mixnet/src/delegations/queries.rs | 113 +- contracts/mixnet/src/delegations/storage.rs | 33 +- .../mixnet/src/delegations/transactions.rs | 630 +- contracts/mixnet/src/error.rs | 21 +- contracts/mixnet/src/gateways/queries.rs | 3 +- contracts/mixnet/src/interval/queries.rs | 2 +- contracts/mixnet/src/interval/storage.rs | 49 +- contracts/mixnet/src/interval/transactions.rs | 56 +- .../mixnet/src/mixnodes/bonding_queries.rs | 11 +- contracts/mixnet/src/mixnodes/storage.rs | 55 +- contracts/mixnet/src/mixnodes/transactions.rs | 77 +- contracts/mixnet/src/rewards/helpers.rs | 77 +- contracts/mixnet/src/rewards/queries.rs | 106 +- contracts/mixnet/src/rewards/storage.rs | 21 +- contracts/mixnet/src/rewards/transactions.rs | 1408 +- contracts/mixnet/src/support/helpers.rs | 32 +- .../mixnet/src/support/tests/fixtures.rs | 35 +- contracts/mixnet/src/support/tests/mod.rs | 13 +- contracts/vesting/Cargo.toml | 2 +- contracts/vesting/src/contract.rs | 8 +- contracts/vesting/src/storage.rs | 17 + contracts/vesting/src/support/tests.rs | 24 +- contracts/vesting/src/traits/bonding.rs | 47 - .../vesting/src/traits/bonding_account.rs | 46 + contracts/vesting/src/traits/mod.rs | 4 +- contracts/vesting/src/vesting/account/mod.rs | 35 +- .../src/vesting/account/vesting_account.rs | 8 +- contracts/vesting/src/vesting/mod.rs | 153 +- explorer/.eslintrc | 103 - explorer/.eslintrc.json | 5 + explorer/.nvmrc | 2 +- explorer/.prettierrc | 2 +- explorer/README.md | 22 +- explorer/package-lock.json | 30225 ---------------- explorer/package.json | 59 +- explorer/src/api/constants.ts | 3 +- explorer/src/api/index.ts | 23 +- explorer/src/components/ContentCard.tsx | 9 +- .../src/components/CustomColumnHeading.tsx | 4 +- explorer/src/components/DetailTable.tsx | 34 +- explorer/src/components/Footer.tsx | 2 +- .../components/{Gateways.tsx => Gateways.ts} | 5 +- .../src/components/{Icons.tsx => Icons.ts} | 19 +- .../src/components/MixNodes/BondBreakdown.tsx | 184 +- .../src/components/MixNodes/DetailSection.tsx | 36 +- explorer/src/components/MixNodes/Status.tsx | 31 +- .../components/MixNodes/StatusDropdown.tsx | 52 +- explorer/src/components/MixNodes/index.ts | 14 +- explorer/src/components/MobileNav.tsx | 19 +- explorer/src/components/Nav.tsx | 35 +- explorer/src/components/Socials.tsx | 28 +- explorer/src/components/StatsCard.tsx | 24 +- explorer/src/components/Switch.tsx | 12 +- explorer/src/components/TableToolbar.tsx | 96 +- explorer/src/components/TwoColSmallTable.tsx | 16 +- .../src/components/Universal-DataGrid.tsx | 19 +- explorer/src/components/UptimeChart.tsx | 21 +- explorer/src/components/WorldMap.tsx | 32 +- explorer/src/context/main.tsx | 98 +- explorer/src/context/mixnode.tsx | 88 +- explorer/src/context/nav.tsx | 8 +- explorer/src/errors/ErrorBoundaryContent.tsx | 24 + ...OpenSans-Italic-VariableFont_wdth,wght.ttf | Bin 580468 -> 0 bytes .../fonts/OpenSans-VariableFont_wdth,wght.ttf | Bin 529672 -> 0 bytes explorer/src/icons/GatewaysSVG.tsx | 24 +- explorer/src/icons/LightSwitchSVG.tsx | 13 +- explorer/src/icons/MixnodesSVG.tsx | 32 +- explorer/src/icons/MobileDrawerClose.tsx | 8 +- explorer/src/icons/NetworksSVG.tsx | 20 +- explorer/src/icons/NodemapSVG.tsx | 15 +- explorer/src/icons/NymLogoSVG.tsx | 33 - explorer/src/icons/OverviewSVG.tsx | 36 +- explorer/src/icons/ValidatorsSVG.tsx | 8 +- explorer/src/icons/socials/DiscordIcon.tsx | 5 +- explorer/src/icons/socials/GitHubIcon.tsx | 5 +- explorer/src/icons/socials/TelegramIcon.tsx | 5 +- explorer/src/icons/socials/TwitterIcon.tsx | 5 +- explorer/src/index.tsx | 18 +- explorer/src/pages/404/index.tsx | 15 +- explorer/src/pages/Gateways/index.tsx | 26 +- explorer/src/pages/MixnodeDetail/index.tsx | 286 +- explorer/src/pages/Mixnodes/index.tsx | 82 +- explorer/src/pages/MixnodesMap/index.tsx | 44 +- explorer/src/pages/Overview/index.tsx | 204 +- explorer/src/routes/index.tsx | 4 +- explorer/src/routes/network-components.tsx | 58 +- explorer/src/styles.css | 7 - explorer/src/theme/README.md | 24 - explorer/src/theme/index.tsx | 15 +- explorer/src/theme/mui-theme.d.ts | 101 +- explorer/src/theme/theme.ts | 287 - explorer/src/typeDefs/explorer-api.ts | 4 +- explorer/src/typings/react-identicons.d.ts | 4 +- explorer/src/utils/currency.ts | 5 +- explorer/src/utils/index.ts | 10 +- explorer/tsconfig.json | 32 +- explorer/webpack.common.js | 95 +- explorer/webpack.config.js | 15 - nym-wallet/.eslintrc | 109 - nym-wallet/.eslintrc.json | 8 + nym-wallet/.prettierrc | 3 +- nym-wallet/Cargo.lock | 17 +- nym-wallet/package.json | 50 +- nym-wallet/public/favicon.ico | Bin 5430 -> 0 bytes nym-wallet/public/favicon.png | Bin 1312 -> 0 bytes nym-wallet/src-tauri/Cargo.toml | 3 +- nym-wallet/src-tauri/icons/128x128.png | Bin 11470 -> 11741 bytes nym-wallet/src-tauri/icons/128x128@2x.png | Bin 27096 -> 25778 bytes nym-wallet/src-tauri/icons/32x32.png | Bin 2420 -> 2394 bytes nym-wallet/src-tauri/icons/README.md | 24 + .../src-tauri/icons/Square107x107Logo.png | Bin 9233 -> 9407 bytes .../src-tauri/icons/Square142x142Logo.png | Bin 13087 -> 12553 bytes .../src-tauri/icons/Square150x150Logo.png | Bin 14087 -> 13324 bytes .../src-tauri/icons/Square284x284Logo.png | Bin 30518 -> 28970 bytes .../src-tauri/icons/Square30x30Logo.png | Bin 2317 -> 2212 bytes .../src-tauri/icons/Square310x310Logo.png | Bin 33987 -> 31861 bytes .../src-tauri/icons/Square44x44Logo.png | Bin 3287 -> 3527 bytes .../src-tauri/icons/Square71x71Logo.png | Bin 5796 -> 5694 bytes .../src-tauri/icons/Square89x89Logo.png | Bin 7304 -> 7511 bytes nym-wallet/src-tauri/icons/StoreLogo.png | Bin 3821 -> 3996 bytes nym-wallet/src-tauri/icons/icon.icns | Bin 314911 -> 318732 bytes nym-wallet/src-tauri/icons/icon.ico | Bin 38265 -> 40889 bytes nym-wallet/src-tauri/icons/icon.png | Bin 47762 -> 61553 bytes nym-wallet/src-tauri/src/config/mod.rs | 39 +- nym-wallet/src-tauri/src/error.rs | 17 +- nym-wallet/src-tauri/src/network.rs | 38 +- .../src/operations/mixnet/account.rs | 195 +- nym-wallet/src/components/AppBar.tsx | 18 +- nym-wallet/src/components/ClientAddress.tsx | 17 +- nym-wallet/src/components/CopyToClipboard.tsx | 69 +- nym-wallet/src/components/Error.tsx | 34 +- nym-wallet/src/components/Fee.tsx | 30 +- nym-wallet/src/components/InfoToolTip.tsx | 16 +- nym-wallet/src/components/Nav.tsx | 32 +- nym-wallet/src/components/NetworkSelector.tsx | 56 +- nym-wallet/src/components/NoClientError.tsx | 21 +- nym-wallet/src/components/NodeStatus.tsx | 42 +- .../src/components/NodeTypeSelector.tsx | 18 +- nym-wallet/src/components/NymCard.tsx | 62 +- nym-wallet/src/components/NymLogo.tsx | 16 +- nym-wallet/src/components/RequestStatus.tsx | 34 +- nym-wallet/src/components/SuccessResponse.tsx | 30 +- nym-wallet/src/components/Title.tsx | 6 +- .../src/components/TokenPoolSelector.tsx | 36 +- .../src/components/TransactionDetails.tsx | 38 +- nym-wallet/src/components/index.ts | 36 +- nym-wallet/src/context/main.tsx | 234 +- nym-wallet/src/hooks/useCheckOwnership.ts | 52 +- nym-wallet/src/hooks/useGetBalance.ts | 148 +- nym-wallet/src/images/delegate.svg | 7 - nym-wallet/src/images/logo-background.svg | 41 - nym-wallet/src/images/logo.png | Bin 356966 -> 0 bytes nym-wallet/src/images/node.svg | 1 - nym-wallet/src/index.d.ts | 3 - nym-wallet/src/index.tsx | 74 +- nym-wallet/src/layouts/AppLayout.tsx | 67 +- nym-wallet/src/layouts/PageLayout.tsx | 32 +- nym-wallet/src/layouts/index.tsx | 4 +- nym-wallet/src/pages/Admin/index.tsx | 191 +- nym-wallet/src/pages/balance/balance.tsx | 20 +- .../balance/components/vesting-timeline.tsx | 39 +- nym-wallet/src/pages/balance/index.tsx | 23 +- nym-wallet/src/pages/balance/vesting.tsx | 229 +- nym-wallet/src/pages/bond/BondForm.tsx | 126 +- nym-wallet/src/pages/bond/SuccessView.tsx | 18 +- nym-wallet/src/pages/bond/index.tsx | 60 +- nym-wallet/src/pages/bond/validationSchema.ts | 50 +- .../src/pages/delegate/DelegateForm.tsx | 62 +- nym-wallet/src/pages/delegate/SuccessView.tsx | 14 +- nym-wallet/src/pages/delegate/index.tsx | 38 +- .../src/pages/delegate/validationSchema.ts | 22 +- nym-wallet/src/pages/index.ts | 22 +- .../src/pages/internal-docs/ApiList.tsx | 326 +- .../src/pages/internal-docs/DocEntry.tsx | 69 +- nym-wallet/src/pages/internal-docs/index.tsx | 16 +- nym-wallet/src/pages/receive/index.tsx | 18 +- .../src/pages/send/SendConfirmation.tsx | 26 +- nym-wallet/src/pages/send/SendError.tsx | 70 +- nym-wallet/src/pages/send/SendForm.tsx | 18 +- nym-wallet/src/pages/send/SendReview.tsx | 38 +- nym-wallet/src/pages/send/SendWizard.tsx | 149 +- nym-wallet/src/pages/send/index.tsx | 16 +- nym-wallet/src/pages/send/validationSchema.ts | 10 +- nym-wallet/src/pages/settings/index.tsx | 44 +- nym-wallet/src/pages/settings/node-stats.tsx | 14 +- nym-wallet/src/pages/settings/profile.tsx | 15 +- .../src/pages/settings/system-variables.tsx | 127 +- nym-wallet/src/pages/settings/tabs.tsx | 21 +- .../src/pages/settings/useSettingsState.ts | 84 +- .../src/pages/settings/validationSchema.ts | 4 +- nym-wallet/src/pages/unbond/index.tsx | 46 +- .../src/pages/undelegate/UndelegateForm.tsx | 50 +- nym-wallet/src/pages/undelegate/index.tsx | 71 +- .../src/pages/undelegate/validationSchema.ts | 10 +- .../pages/welcome/_legacy_create-account.tsx | 40 +- .../src/pages/welcome/_legacy_sign-in.tsx | 65 +- .../src/pages/welcome/components/heading.tsx | 10 +- .../src/pages/welcome/components/index.ts | 8 +- .../welcome/components/password-strength.tsx | 59 +- .../pages/welcome/components/render-page.tsx | 10 +- .../pages/welcome/components/word-tiles.tsx | 105 +- nym-wallet/src/pages/welcome/index.tsx | 45 +- .../pages/welcome/pages/create-password.tsx | 22 +- .../pages/welcome/pages/existing-account.tsx | 28 +- nym-wallet/src/pages/welcome/pages/index.ts | 10 +- .../pages/welcome/pages/mnemonic-words.tsx | 59 +- .../pages/welcome/pages/verify-mnemonic.tsx | 66 +- .../pages/welcome/pages/welcome-content.tsx | 80 +- nym-wallet/src/pages/welcome/types.ts | 16 +- nym-wallet/src/requests/account.ts | 10 +- nym-wallet/src/requests/actions.ts | 32 +- nym-wallet/src/requests/coin.ts | 8 +- nym-wallet/src/requests/contract.ts | 8 +- nym-wallet/src/requests/index.ts | 14 +- nym-wallet/src/requests/network.ts | 6 +- nym-wallet/src/requests/queries.ts | 27 +- nym-wallet/src/requests/vesting.ts | 86 +- nym-wallet/src/routes/index.tsx | 10 +- nym-wallet/src/svg-icons/bond.tsx | 44 +- nym-wallet/src/svg-icons/delegate.tsx | 24 +- nym-wallet/src/svg-icons/index.ts | 8 +- nym-wallet/src/svg-icons/node.tsx | 26 +- nym-wallet/src/svg-icons/unbond.tsx | 34 +- nym-wallet/src/svg-icons/undelegate.tsx | 26 +- nym-wallet/src/theme/index.tsx | 24 +- nym-wallet/src/theme/mui-theme.d.ts | 42 +- nym-wallet/src/theme/theme.tsx | 26 +- .../src/types/corenodestatusresponse.ts | 2 +- nym-wallet/src/types/global.ts | 94 +- nym-wallet/src/types/index.ts | 4 +- nym-wallet/src/types/rust/account.ts | 8 +- nym-wallet/src/types/rust/balance.ts | 7 +- nym-wallet/src/types/rust/coin.ts | 7 +- .../src/types/rust/corenodestatusresponse.ts | 6 +- nym-wallet/src/types/rust/createdaccount.ts | 7 +- nym-wallet/src/types/rust/delegationresult.ts | 8 +- nym-wallet/src/types/rust/denom.ts | 3 +- nym-wallet/src/types/rust/gateway.ts | 11 +- .../rust/inclusionprobabilityresponse.ts | 6 +- nym-wallet/src/types/rust/index.ts | 46 +- nym-wallet/src/types/rust/mixnode.ts | 12 +- nym-wallet/src/types/rust/mixnodestatus.ts | 3 +- .../src/types/rust/mixnodestatusresponse.ts | 6 +- nym-wallet/src/types/rust/network.ts | 3 +- nym-wallet/src/types/rust/operation.ts | 36 +- .../src/types/rust/originalvestingresponse.ts | 8 +- nym-wallet/src/types/rust/period.ts | 3 +- nym-wallet/src/types/rust/pledgedata.ts | 7 +- .../src/types/rust/rewardedsetnodestatus.ts | 3 +- .../types/rust/rewardestimationresponse.ts | 11 +- .../src/types/rust/stakesaturationresponse.ts | 6 +- nym-wallet/src/types/rust/stateparams.ts | 8 +- nym-wallet/src/types/rust/tauritxresult.ts | 11 +- .../src/types/rust/transactiondetails.ts | 8 +- .../src/types/rust/vestingaccountinfo.ts | 12 +- nym-wallet/src/types/rust/vestingperiod.ts | 6 +- nym-wallet/src/typings/jpeg.d.ts | 9 + nym-wallet/src/typings/json.d.ts | 4 + nym-wallet/src/typings/png.d.ts | 4 + nym-wallet/src/typings/svg.d.ts | 4 + nym-wallet/src/utils/index.ts | 180 +- nym-wallet/tsconfig.eslint.json | 20 + nym-wallet/tsconfig.json | 7 +- nym-wallet/webpack.common.js | 55 +- nym-wallet/webpack.dev.js | 61 +- nym-wallet/webpack.prod.js | 8 +- nym-wallet/yarn.lock | 6618 ---- ts-packages/mui-theme/src/theme/index.tsx | 18 + .../mui-theme/src/theme/network-explorer.ts | 93 + ts-packages/mui-theme/src/theme/theme.ts | 4 +- ts-packages/react-components/package.json | 9 +- .../clipboard/CopyToClipboard.stories.tsx | 24 + .../components/clipboard/CopyToClipboard.tsx | 33 + .../react-components/src/components/index.ts | 1 + .../package.json | 1 + ts-packages/webpack/webpack.common.js | 4 +- validator-api/src/coconut/mod.rs | 10 +- validator-api/src/config/mod.rs | 4 + validator-api/src/contract_cache/mod.rs | 33 +- validator-api/src/main.rs | 61 +- validator-api/src/node_status_api/routes.rs | 20 +- validator-api/src/nymd_client.rs | 123 +- .../error.rs | 7 +- validator-api/src/rewarded_set_updater/mod.rs | 282 +- validator-api/src/rewarding/mod.rs | 835 - validator-api/src/storage/manager.rs | 24 +- validator-api/src/storage/mod.rs | 10 +- yarn.lock | 543 +- 336 files changed, 7605 insertions(+), 45396 deletions(-) delete mode 100644 .github/workflows/nym-wallet-types.yml create mode 100644 assets/appicon/appicon.png delete mode 100644 assets/favicon/favicon.png create mode 100644 common/cosmwasm-smart-contracts/mixnet-contract/src/reward_params.rs create mode 100644 common/nymcoconut/benches/benchmarks.rs delete mode 100644 contracts/vesting/src/traits/bonding.rs delete mode 100644 explorer/.eslintrc create mode 100644 explorer/.eslintrc.json delete mode 100644 explorer/package-lock.json rename explorer/src/components/{Gateways.tsx => Gateways.ts} (80%) rename explorer/src/components/{Icons.tsx => Icons.ts} (60%) create mode 100644 explorer/src/errors/ErrorBoundaryContent.tsx delete mode 100644 explorer/src/fonts/OpenSans-Italic-VariableFont_wdth,wght.ttf delete mode 100644 explorer/src/fonts/OpenSans-VariableFont_wdth,wght.ttf delete mode 100644 explorer/src/icons/NymLogoSVG.tsx delete mode 100644 explorer/src/theme/README.md delete mode 100644 explorer/src/theme/theme.ts delete mode 100644 nym-wallet/.eslintrc create mode 100644 nym-wallet/.eslintrc.json delete mode 100644 nym-wallet/public/favicon.ico delete mode 100644 nym-wallet/public/favicon.png create mode 100644 nym-wallet/src-tauri/icons/README.md delete mode 100644 nym-wallet/src/images/delegate.svg delete mode 100644 nym-wallet/src/images/logo-background.svg delete mode 100644 nym-wallet/src/images/logo.png delete mode 100644 nym-wallet/src/images/node.svg delete mode 100644 nym-wallet/src/index.d.ts create mode 100644 nym-wallet/src/typings/jpeg.d.ts create mode 100644 nym-wallet/src/typings/json.d.ts create mode 100644 nym-wallet/src/typings/png.d.ts create mode 100644 nym-wallet/src/typings/svg.d.ts create mode 100644 nym-wallet/tsconfig.eslint.json delete mode 100644 nym-wallet/yarn.lock create mode 100644 ts-packages/react-components/src/components/clipboard/CopyToClipboard.stories.tsx create mode 100644 ts-packages/react-components/src/components/clipboard/CopyToClipboard.tsx rename validator-api/src/{rewarding => rewarded_set_updater}/error.rs (93%) delete mode 100644 validator-api/src/rewarding/mod.rs diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0def2407eb..3242d73ecc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,13 +33,13 @@ jobs: uses: actions-rs/cargo@v1 with: command: build - args: --all + args: --workspace - name: Run all tests uses: actions-rs/cargo@v1 with: command: test - args: --all --all-features + args: --workspace --all-features - name: Check formatting uses: actions-rs/cargo@v1 @@ -63,13 +63,13 @@ jobs: uses: actions-rs/cargo@v1 with: command: build - args: --all --features=coconut + args: --workspace --features=coconut - name: Run all tests with coconut enabled uses: actions-rs/cargo@v1 with: command: test - args: --all --features=coconut + args: --workspace --features=coconut - name: Run clippy with coconut enabled uses: actions-rs/cargo@v1 diff --git a/.github/workflows/contracts.yml b/.github/workflows/contracts.yml index 357d5674e5..2c1eaf40b2 100644 --- a/.github/workflows/contracts.yml +++ b/.github/workflows/contracts.yml @@ -45,7 +45,7 @@ jobs: RUSTFLAGS: '-C link-arg=-s' with: command: build - args: --manifest-path contracts/Cargo.toml --all --target wasm32-unknown-unknown + args: --manifest-path contracts/Cargo.toml --workspace --target wasm32-unknown-unknown - uses: actions-rs/cargo@v1 with: @@ -61,4 +61,4 @@ jobs: if: ${{ matrix.rust != 'nightly' }} with: command: clippy - args: --manifest-path contracts/Cargo.toml --all -- -D warnings \ No newline at end of file + args: --manifest-path contracts/Cargo.toml --workspace -- -D warnings diff --git a/.github/workflows/network-explorer-lint.yml b/.github/workflows/network-explorer-lint.yml index f980a1ea03..6d5630d8b4 100644 --- a/.github/workflows/network-explorer-lint.yml +++ b/.github/workflows/network-explorer-lint.yml @@ -16,8 +16,9 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: '14' - - run: npm install + node-version: '16' + - name: Setup yarn + run: npm install -g yarn - name: Run ESLint # GitHub should automatically annotate the PR - run: npm run lint \ No newline at end of file + run: yarn && yarn lint \ No newline at end of file diff --git a/.github/workflows/network-explorer.yml b/.github/workflows/network-explorer.yml index 2a7cd5dd66..447cec41ec 100644 --- a/.github/workflows/network-explorer.yml +++ b/.github/workflows/network-explorer.yml @@ -19,14 +19,17 @@ jobs: - uses: rlespinasse/github-slug-action@v3.x - uses: actions/setup-node@v2 with: - node-version: '14' - - run: npm install + node-version: '16' + - name: Setup yarn + run: npm install -g yarn continue-on-error: true + - name: Build shared packages + run: cd .. && yarn && yarn build - name: Set environment from the example run: cp .env.prod .env - - run: npm run test - continue-on-error: true - - run: npm run build +# - run: yarn test +# continue-on-error: true + - run: yarn && yarn build continue-on-error: true - name: Deploy branch to CI www continue-on-error: true diff --git a/.github/workflows/nightly_build.yml b/.github/workflows/nightly_build.yml index 82e2ea679e..aaab5e3aff 100644 --- a/.github/workflows/nightly_build.yml +++ b/.github/workflows/nightly_build.yml @@ -42,13 +42,13 @@ jobs: uses: actions-rs/cargo@v1 with: command: build - args: --all + args: --workspace - name: Run all tests uses: actions-rs/cargo@v1 with: command: test - args: --all + args: --workspace - name: Check formatting uses: actions-rs/cargo@v1 @@ -73,7 +73,7 @@ jobs: if: ${{ matrix.rust != 'nightly' }} with: command: clippy - args: -- -D warnings + args: --workspace --all-targets -- -D warnings # COCONUT stuff @@ -81,20 +81,20 @@ jobs: uses: actions-rs/cargo@v1 with: command: build - args: --all --features=coconut + args: --workspace --features=coconut - name: Run all tests with coconut enabled uses: actions-rs/cargo@v1 with: command: test - args: --all --features=coconut + args: --workspace --features=coconut - name: Run clippy with coconut enabled uses: actions-rs/cargo@v1 if: ${{ matrix.rust != 'nightly' }} with: command: clippy - args: --features=coconut -- -D warnings + args: --workspace --all-targets --features=coconut -- -D warnings notification: needs: build runs-on: ubuntu-latest diff --git a/.github/workflows/nym-wallet-types.yml b/.github/workflows/nym-wallet-types.yml deleted file mode 100644 index dc1da64dbe..0000000000 --- a/.github/workflows/nym-wallet-types.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Generate TS types - -on: - push: - paths-ignore: - - "explorer/**" - pull_request: - paths-ignore: - - "explorer/**" - -jobs: - nym-wallet-types: - runs-on: [ self-hosted, custom-linux-exoscale ] - # Enable sccache - env: - RUSTC_WRAPPER: /home/ubuntu/.cargo/bin/sccache - if: ${{ github.event_name != 'pull_request' }} - steps: - - name: Prepare - run: sudo apt-get update && sudo apt-get install -y libpango1.0-dev libatk1.0-dev libgdk-pixbuf2.0-dev libsoup2.4-dev librust-gdk-dev libwebkit2gtk-4.0-dev - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - - name: Generate TS - run: cd nym-wallet/src-tauri && cargo test - - uses: EndBug/add-and-commit@v7.2.1 # https://github.com/marketplace/actions/add-commit - with: - add: '["nym-wallet"]' - message: "[ci skip] Generate TS types" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/Cargo.lock b/Cargo.lock index e6ecf75e69..d4bfc4c430 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -823,6 +823,7 @@ dependencies = [ name = "credentials" version = "0.1.0" dependencies = [ + "bls12_381", "coconut-interface", "crypto", "network-defaults", @@ -1077,6 +1078,17 @@ dependencies = [ "serde", ] +[[package]] +name = "cw-storage-plus" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c087ff98fb0475db4c2b5298a5fd12b2848d2854b39d1115d930ee6da24d1eed" +dependencies = [ + "cosmwasm-std", + "schemars", + "serde", +] + [[package]] name = "darling" version = "0.13.1" @@ -6046,7 +6058,7 @@ version = "0.1.0" dependencies = [ "config", "cosmwasm-std", - "cw-storage-plus", + "cw-storage-plus 0.12.1", "mixnet-contract-common", "schemars", "serde", @@ -6060,7 +6072,7 @@ version = "0.1.0" dependencies = [ "config", "cosmwasm-std", - "cw-storage-plus", + "cw-storage-plus 0.11.1", "mixnet-contract-common", "schemars", "serde", diff --git a/Makefile b/Makefile index 34baf7ffe8..77279cdaea 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ happy: fmt clippy-happy test clippy-all: clippy-all-main clippy-all-contracts clippy-all-wallet clippy-happy: clippy-happy-main clippy-happy-contracts clippy-happy-wallet cargo-test: test-main test-contracts test-wallet -build: build-contracts build-wallet build-main +build: build-contracts build-wallet build-main fmt: fmt-main fmt-contracts fmt-wallet clippy-happy-main: @@ -12,20 +12,20 @@ clippy-happy-main: clippy-happy-contracts: cargo clippy --manifest-path contracts/Cargo.toml --target wasm32-unknown-unknown -clippy-happy-wallet: +clippy-happy-wallet: cargo clippy --manifest-path nym-wallet/Cargo.toml clippy-all-main: - cargo clippy --all-features -- -D warnings + cargo clippy --workspace --all-features -- -D warnings clippy-all-contracts: - cargo clippy --manifest-path contracts/Cargo.toml --all-features --target wasm32-unknown-unknown -- -D warnings + cargo clippy --workspace --manifest-path contracts/Cargo.toml --all-features --target wasm32-unknown-unknown -- -D warnings -clippy-all-wallet: - cargo clippy --manifest-path nym-wallet/Cargo.toml --all-features -- -D warnings +clippy-all-wallet: + cargo clippy --workspace --manifest-path nym-wallet/Cargo.toml --all-features -- -D warnings test-main: - cargo test --all-features --all + cargo test --all-features --workspace test-contracts: cargo test --manifest-path contracts/Cargo.toml --all-features @@ -34,13 +34,13 @@ test-wallet: cargo test --manifest-path nym-wallet/Cargo.toml --all-features build-main: - cargo build --all + cargo build --workspace build-contracts: - cargo build --manifest-path contracts/Cargo.toml --all + cargo build --manifest-path contracts/Cargo.toml --workspace build-wallet: - cargo build --manifest-path nym-wallet/Cargo.toml --all + cargo build --manifest-path nym-wallet/Cargo.toml --workspace fmt-main: cargo fmt --all diff --git a/assets/appicon/appicon.png b/assets/appicon/appicon.png new file mode 100644 index 0000000000000000000000000000000000000000..203168aa7c2cc59a9b6c33a71fc2751a0c2b84c0 GIT binary patch literal 558069 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

$^&kgsNug!fR``farHQ${FO`at{ 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%0Ak1r#M(KzHZ$_a}GWKUPJ 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�TwCD(5lY8nbzG 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 literal 0 HcmV?d00001 diff --git a/assets/favicon/favicon.png b/assets/favicon/favicon.png deleted file mode 100644 index e76d5083b517ef4499e39c7d5c48b8776dc025b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48732 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 dK(0yaH!(XBB?RIbC4l3$1#d;fmRX*={eM1>OC - - - - - + + + - + - + diff --git a/common/client-libs/validator-client/src/client.rs b/common/client-libs/validator-client/src/client.rs index 4577e148ca..69fb9f132b 100644 --- a/common/client-libs/validator-client/src/client.rs +++ b/common/client-libs/validator-client/src/client.rs @@ -92,7 +92,7 @@ impl Config { #[cfg(feature = "nymd-client")] pub struct Client { - network: network_defaults::all::Network, + pub network: network_defaults::all::Network, mixnet_contract_address: Option, vesting_contract_address: Option, erc20_bridge_contract_address: Option, @@ -283,6 +283,13 @@ impl Client { Ok(self.nymd.get_current_interval().await?) } + pub async fn get_epochs_in_interval(&self) -> Result + where + C: CosmWasmClient + Sync, + { + Ok(self.nymd.get_epochs_in_interval().await?) + } + pub async fn get_circulating_supply(&self) -> Result where C: CosmWasmClient + Sync, diff --git a/common/client-libs/validator-client/src/nymd/cosmwasm_client/mod.rs b/common/client-libs/validator-client/src/nymd/cosmwasm_client/mod.rs index fcc92bb893..2af7b52704 100644 --- a/common/client-libs/validator-client/src/nymd/cosmwasm_client/mod.rs +++ b/common/client-libs/validator-client/src/nymd/cosmwasm_client/mod.rs @@ -21,7 +21,7 @@ where } // maybe the wallet could be made into a generic, but for now, let's just have this one implementation -pub fn connect_with_signer( +pub fn connect_with_signer( endpoint: U, signer: DirectSecp256k1HdWallet, gas_price: GasPrice, diff --git a/common/client-libs/validator-client/src/nymd/cosmwasm_client/signing_client.rs b/common/client-libs/validator-client/src/nymd/cosmwasm_client/signing_client.rs index 42d62971a9..d3163aae6e 100644 --- a/common/client-libs/validator-client/src/nymd/cosmwasm_client/signing_client.rs +++ b/common/client-libs/validator-client/src/nymd/cosmwasm_client/signing_client.rs @@ -641,7 +641,7 @@ pub struct Client { } impl Client { - pub fn connect_with_signer( + pub fn connect_with_signer( endpoint: U, signer: DirectSecp256k1HdWallet, gas_price: GasPrice, diff --git a/common/client-libs/validator-client/src/nymd/fee/helpers.rs b/common/client-libs/validator-client/src/nymd/fee/helpers.rs index cbbbe61e84..661f23eb50 100644 --- a/common/client-libs/validator-client/src/nymd/fee/helpers.rs +++ b/common/client-libs/validator-client/src/nymd/fee/helpers.rs @@ -47,9 +47,12 @@ pub enum Operation { CreatePeriodicVestingAccount, AdvanceCurrentInterval, + AdvanceCurrentEpoch, WriteRewardedSet, ClearRewardedSet, UpdateMixnetAddress, + CheckpointMixnodes, + ReconcileDelegations, } pub(crate) fn calculate_fee(gas_price: &GasPrice, gas_limit: Gas) -> Coin { @@ -91,6 +94,9 @@ impl fmt::Display for Operation { Operation::WriteRewardedSet => f.write_str("WriteRewardedSet"), Operation::ClearRewardedSet => f.write_str("ClearRewardedSet"), Operation::UpdateMixnetAddress => f.write_str("UpdateMixnetAddress"), + Operation::CheckpointMixnodes => f.write_str("CheckpointMixnodes"), + Operation::ReconcileDelegations => f.write_str("ReconcileDelegations"), + Operation::AdvanceCurrentEpoch => f.write_str("AdvanceCurrentEpoch"), } } } @@ -132,6 +138,9 @@ impl Operation { Operation::WriteRewardedSet => 175_000u64.into(), Operation::ClearRewardedSet => 175_000u64.into(), Operation::UpdateMixnetAddress => 80_000u64.into(), + Operation::CheckpointMixnodes => 175_000u64.into(), + Operation::ReconcileDelegations => 500_000u64.into(), + Operation::AdvanceCurrentEpoch => 175_000u64.into(), } } diff --git a/common/client-libs/validator-client/src/nymd/mod.rs b/common/client-libs/validator-client/src/nymd/mod.rs index 71b95fbdec..df5079d2c4 100644 --- a/common/client-libs/validator-client/src/nymd/mod.rs +++ b/common/client-libs/validator-client/src/nymd/mod.rs @@ -9,7 +9,8 @@ use crate::nymd::cosmwasm_client::types::{ use crate::nymd::error::NymdError; use crate::nymd::wallet::DirectSecp256k1HdWallet; use cosmrs::rpc::endpoint::broadcast; -use cosmrs::rpc::{Error as TendermintRpcError, HttpClientUrl}; +use cosmrs::rpc::Error as TendermintRpcError; +use cosmrs::rpc::HttpClientUrl; use cosmwasm_std::{Coin, Uint128}; pub use fee::gas_price::GasPrice; use fee::helpers::Operation; @@ -82,7 +83,7 @@ impl NymdClient { impl NymdClient { // maybe the wallet could be made into a generic, but for now, let's just have this one implementation - pub fn connect_with_signer( + pub fn connect_with_signer( network: config::defaults::all::Network, endpoint: U, mixnet_contract_address: Option, @@ -113,7 +114,7 @@ impl NymdClient { }) } - pub fn connect_with_mnemonic( + pub fn connect_with_mnemonic( network: config::defaults::all::Network, endpoint: U, mixnet_contract_address: Option, @@ -388,6 +389,16 @@ impl NymdClient { .await } + pub async fn get_epochs_in_interval(&self) -> Result + where + C: CosmWasmClient + Sync, + { + let request = QueryMsg::GetEpochsInInterval {}; + self.client + .query_contract_smart(self.mixnet_contract_address()?, &request) + .await + } + pub async fn get_circulating_supply(&self) -> Result where C: CosmWasmClient + Sync, @@ -496,7 +507,7 @@ impl NymdClient { pub async fn get_mix_delegations_paged( &self, mix_identity: IdentityKey, - start_after: Option, + start_after: Option<(String, u64)>, page_limit: Option, ) -> Result where @@ -515,7 +526,7 @@ impl NymdClient { /// Gets list of all mixnode delegations on particular page. pub async fn get_all_network_delegations_paged( &self, - start_after: Option<(IdentityKey, String)>, + start_after: Option<(IdentityKey, Vec, u64)>, page_limit: Option, ) -> Result where @@ -1175,6 +1186,25 @@ impl NymdClient { .await } + pub async fn advance_current_epoch(&self) -> Result + where + C: SigningCosmWasmClient + Sync, + { + let fee = self.operation_fee(Operation::AdvanceCurrentEpoch); + + let req = ExecuteMsg::AdvanceCurrentEpoch {}; + self.client + .execute( + self.address(), + self.mixnet_contract_address()?, + &req, + fee, + "Advance current epoch", + Vec::new(), + ) + .await + } + pub async fn advance_current_interval(&self) -> Result where C: SigningCosmWasmClient + Sync, @@ -1194,6 +1224,44 @@ impl NymdClient { .await } + pub async fn reconcile_delegations(&self) -> Result + where + C: SigningCosmWasmClient + Sync, + { + let fee = self.operation_fee(Operation::ReconcileDelegations); + + let req = ExecuteMsg::ReconcileDelegations {}; + self.client + .execute( + self.address(), + self.mixnet_contract_address()?, + &req, + fee, + "Reconciling delegation events", + Vec::new(), + ) + .await + } + + pub async fn checkpoint_mixnodes(&self) -> Result + where + C: SigningCosmWasmClient + Sync, + { + let fee = self.operation_fee(Operation::CheckpointMixnodes); + + let req = ExecuteMsg::CheckpointMixnodes {}; + self.client + .execute( + self.address(), + self.mixnet_contract_address()?, + &req, + fee, + "Snapshotting mixnodes", + Vec::new(), + ) + .await + } + pub async fn write_rewarded_set( &self, rewarded_set: Vec, diff --git a/common/coconut-interface/src/lib.rs b/common/coconut-interface/src/lib.rs index 2704ac4db7..a652422b82 100644 --- a/common/coconut-interface/src/lib.rs +++ b/common/coconut-interface/src/lib.rs @@ -83,8 +83,6 @@ impl VerifyCredentialBody { pub struct BlindSignRequestBody { #[getset(get = "pub")] blind_sign_request: BlindSignRequest, - #[getset(get = "pub")] - public_key: nymcoconut::PublicKey, public_attributes: Vec, #[getset(get = "pub")] total_params: u32, @@ -93,13 +91,11 @@ pub struct BlindSignRequestBody { impl BlindSignRequestBody { pub fn new( blind_sign_request: &BlindSignRequest, - public_key: &nymcoconut::PublicKey, public_attributes: &[Attribute], total_params: u32, ) -> BlindSignRequestBody { BlindSignRequestBody { blind_sign_request: blind_sign_request.clone(), - public_key: public_key.clone(), public_attributes: public_attributes .iter() .map(|attr| attr.to_bs58()) diff --git a/common/cosmwasm-smart-contracts/mixnet-contract/src/delegation.rs b/common/cosmwasm-smart-contracts/mixnet-contract/src/delegation.rs index cfd618c902..5e6c328ecf 100644 --- a/common/cosmwasm-smart-contracts/mixnet-contract/src/delegation.rs +++ b/common/cosmwasm-smart-contracts/mixnet-contract/src/delegation.rs @@ -37,8 +37,12 @@ impl Delegation { } // TODO: change that to use .joined_key() and return Vec - pub fn storage_key(&self) -> (IdentityKey, Addr) { - (self.node_identity(), self.owner()) + pub fn storage_key(&self) -> (IdentityKey, Vec, u64) { + ( + self.node_identity(), + self.owner().as_bytes().to_vec(), + self.block_height(), + ) } pub fn increment_amount(&mut self, amount: Uint128, at_height: Option) { @@ -78,14 +82,14 @@ impl Display for Delegation { #[derive(Clone, Debug, Deserialize, PartialEq, Serialize, JsonSchema)] pub struct PagedMixDelegationsResponse { pub delegations: Vec, - pub start_next_after: Option, + pub start_next_after: Option<(String, u64)>, } impl PagedMixDelegationsResponse { - pub fn new(delegations: Vec, start_next_after: Option) -> Self { + pub fn new(delegations: Vec, start_next_after: Option<(Addr, u64)>) -> Self { PagedMixDelegationsResponse { delegations, - start_next_after: start_next_after.map(|s| s.to_string()), + start_next_after: start_next_after.map(|(s, h)| (s.to_string(), h)), } } } @@ -108,17 +112,17 @@ impl PagedDelegatorDelegationsResponse { #[derive(Clone, Debug, Deserialize, PartialEq, Serialize, JsonSchema)] pub struct PagedAllDelegationsResponse { pub delegations: Vec, - pub start_next_after: Option<(IdentityKey, String)>, + pub start_next_after: Option<(IdentityKey, Vec, u64)>, } impl PagedAllDelegationsResponse { pub fn new( delegations: Vec, - start_next_after: Option<(IdentityKey, Addr)>, + start_next_after: Option<(IdentityKey, Vec, u64)>, ) -> Self { PagedAllDelegationsResponse { delegations, - start_next_after: start_next_after.map(|(id, addr)| (id, addr.to_string())), + start_next_after: start_next_after.map(|(id, addr, height)| (id, addr, height)), } } } diff --git a/common/cosmwasm-smart-contracts/mixnet-contract/src/error.rs b/common/cosmwasm-smart-contracts/mixnet-contract/src/error.rs index b338d12125..f2ae46e01e 100644 --- a/common/cosmwasm-smart-contracts/mixnet-contract/src/error.rs +++ b/common/cosmwasm-smart-contracts/mixnet-contract/src/error.rs @@ -6,4 +6,11 @@ pub enum MixnetContractError { OverflowError(#[from] cosmwasm_std::OverflowError), #[error("reward_blockstamp field not set, set_reward_blockstamp must be called before attempting to issue rewards")] BlockstampNotSet, + #[error("{source}")] + TryFromIntError { + #[from] + source: std::num::TryFromIntError, + }, + #[error("Error casting from U128")] + CastError, } diff --git a/common/cosmwasm-smart-contracts/mixnet-contract/src/events.rs b/common/cosmwasm-smart-contracts/mixnet-contract/src/events.rs index 25f1a022a4..752952d450 100644 --- a/common/cosmwasm-smart-contracts/mixnet-contract/src/events.rs +++ b/common/cosmwasm-smart-contracts/mixnet-contract/src/events.rs @@ -2,14 +2,16 @@ // SPDX-License-Identifier: Apache-2.0 use crate::mixnode::NodeRewardResult; -use crate::{ContractStateParams, Delegation, IdentityKeyRef, Interval, Layer}; +use crate::{ContractStateParams, IdentityKeyRef, Interval, Layer}; use cosmwasm_std::{Addr, Coin, Event, Uint128}; pub use contracts_common::events::*; - +// FIXME: This should becoma an Enum // event types pub const DELEGATION_EVENT_TYPE: &str = "delegation"; +pub const PENDING_DELEGATION_EVENT_TYPE: &str = "pending_delegation"; pub const UNDELEGATION_EVENT_TYPE: &str = "undelegation"; +pub const PENDING_UNDELEGATION_EVENT_TYPE: &str = "pending_undelegation"; pub const GATEWAY_BONDING_EVENT_TYPE: &str = "gateway_bonding"; pub const GATEWAY_UNBONDING_EVENT_TYPE: &str = "gateway_unbonding"; pub const MIXNODE_BONDING_EVENT_TYPE: &str = "mixnode_bonding"; @@ -19,6 +21,10 @@ pub const OPERATOR_REWARDING_EVENT_TYPE: &str = "mix_rewarding"; pub const MIX_DELEGATORS_REWARDING_EVENT_TYPE: &str = "mix_delegators_rewarding"; pub const CHANGE_REWARDED_SET_EVENT_TYPE: &str = "change_rewarded_set"; pub const ADVANCE_INTERVAL_EVENT_TYPE: &str = "advance_interval"; +pub const ADVANCE_EPOCH_EVENT_TYPE: &str = "advance_epoch"; +pub const COMPOUND_DELEGATOR_REWARD_EVENT_TYPE: &str = "compound_delegator_reward"; +pub const COMPOUND_OPERATOR_REWARD_EVENT_TYPE: &str = "compound_operator_reward"; +pub const SNAPSHOT_MIXNODES_EVENT: &str = "snapshot_mixnodes"; // attributes that are used in multiple places pub const OWNER_KEY: &str = "owner"; @@ -70,6 +76,14 @@ pub const NODES_IN_REWARDED_SET_KEY: &str = "nodes_in_rewarded_set"; pub const CURRENT_INTERVAL_ID_KEY: &str = "current_interval"; pub const NEW_CURRENT_INTERVAL_KEY: &str = "new_current_interval"; +pub const NEW_CURRENT_EPOCH_KEY: &str = "new_current_epoch"; +pub const BLOCK_HEIGHT_KEY: &str = "block_height"; +pub const CHECKPOINT_MIXNODES_EVENT: &str = "checkpoint_mixnodes"; + +pub fn new_checkpoint_mixnodes_event(block_height: u64) -> Event { + Event::new(CHECKPOINT_MIXNODES_EVENT) + .add_attribute(BLOCK_HEIGHT_KEY, format!("{}", block_height)) +} pub fn new_delegation_event( delegator: &Addr, @@ -89,11 +103,55 @@ pub fn new_delegation_event( .add_attribute(DELEGATION_TARGET_KEY, mix_identity) } +pub fn new_pending_delegation_event( + delegator: &Addr, + proxy: &Option, + amount: &Coin, + mix_identity: IdentityKeyRef<'_>, +) -> Event { + let mut event = + Event::new(PENDING_DELEGATION_EVENT_TYPE).add_attribute(DELEGATOR_KEY, delegator); + + if let Some(proxy) = proxy { + event = event.add_attribute(PROXY_KEY, proxy) + } + + // coin implements Display trait and we use that implementation here + event + .add_attribute(AMOUNT_KEY, amount.to_string()) + .add_attribute(DELEGATION_TARGET_KEY, mix_identity) +} + +pub fn new_compound_operator_reward_event(owner: &Addr, amount: Uint128) -> Event { + let event = Event::new(COMPOUND_OPERATOR_REWARD_EVENT_TYPE).add_attribute(OWNER_KEY, owner); + event.add_attribute(AMOUNT_KEY, amount.to_string()) +} + +pub fn new_compound_delegator_reward_event( + delegator: &Addr, + proxy: &Option, + amount: Uint128, + mix_identity: IdentityKeyRef<'_>, +) -> Event { + let mut event = + Event::new(COMPOUND_DELEGATOR_REWARD_EVENT_TYPE).add_attribute(DELEGATOR_KEY, delegator); + + if let Some(proxy) = proxy { + event = event.add_attribute(PROXY_KEY, proxy) + } + + // coin implements Display trait and we use that implementation here + event + .add_attribute(AMOUNT_KEY, amount.to_string()) + .add_attribute(DELEGATION_TARGET_KEY, mix_identity) + .add_attribute(DELEGATOR_KEY, delegator) +} + pub fn new_undelegation_event( delegator: &Addr, proxy: &Option, - old_delegation: &Delegation, mix_identity: IdentityKeyRef<'_>, + amount: Uint128, ) -> Event { let mut event = Event::new(UNDELEGATION_EVENT_TYPE).add_attribute(DELEGATOR_KEY, delegator); @@ -103,14 +161,26 @@ pub fn new_undelegation_event( // coin implements Display trait and we use that implementation here event - .add_attribute(AMOUNT_KEY, old_delegation.amount.to_string()) - .add_attribute( - DELEGATION_HEIGHT_KEY, - old_delegation.block_height.to_string(), - ) + .add_attribute(AMOUNT_KEY, amount.to_string()) .add_attribute(DELEGATION_TARGET_KEY, mix_identity) } +pub fn new_pending_undelegation_event( + delegator: &Addr, + proxy: &Option, + mix_identity: IdentityKeyRef<'_>, +) -> Event { + let mut event = + Event::new(PENDING_UNDELEGATION_EVENT_TYPE).add_attribute(DELEGATOR_KEY, delegator); + + if let Some(proxy) = proxy { + event = event.add_attribute(PROXY_KEY, proxy) + } + + // coin implements Display trait and we use that implementation here + event.add_attribute(DELEGATION_TARGET_KEY, mix_identity) +} + pub fn new_gateway_bonding_event( owner: &Addr, proxy: &Option, @@ -280,9 +350,6 @@ pub fn new_mix_operator_rewarding_event( node_reward_result: NodeRewardResult, node_pledge: Uint128, node_delegation: Uint128, - operator_reward: Uint128, - delegation_rewards_distributed: Uint128, - further_delegations: bool, ) -> Event { Event::new(OPERATOR_REWARDING_EVENT_TYPE) .add_attribute(INTERVAL_ID_KEY, interval_id.to_string()) @@ -295,15 +362,6 @@ pub fn new_mix_operator_rewarding_event( ) .add_attribute(LAMBDA_KEY, node_reward_result.lambda().to_string()) .add_attribute(SIGMA_KEY, node_reward_result.sigma().to_string()) - .add_attribute(OPERATOR_REWARD_KEY, operator_reward) - .add_attribute( - DISTRIBUTED_DELEGATION_REWARDS_KEY, - delegation_rewards_distributed, - ) - .add_attribute( - FURTHER_DELEGATIONS_TO_REWARD_KEY, - further_delegations.to_string(), - ) } pub fn new_mix_delegators_rewarding_event( @@ -343,3 +401,7 @@ pub fn new_advance_interval_event(interval: Interval) -> Event { Event::new(ADVANCE_INTERVAL_EVENT_TYPE) .add_attribute(NEW_CURRENT_INTERVAL_KEY, interval.to_string()) } + +pub fn new_advance_epoch_event(interval: Interval) -> Event { + Event::new(ADVANCE_EPOCH_EVENT_TYPE).add_attribute(NEW_CURRENT_EPOCH_KEY, interval.to_string()) +} diff --git a/common/cosmwasm-smart-contracts/mixnet-contract/src/interval.rs b/common/cosmwasm-smart-contracts/mixnet-contract/src/interval.rs index ae2e75e7ff..319d7f109b 100644 --- a/common/cosmwasm-smart-contracts/mixnet-contract/src/interval.rs +++ b/common/cosmwasm-smart-contracts/mixnet-contract/src/interval.rs @@ -72,7 +72,7 @@ impl Interval { /// Returns the next interval. #[must_use] - pub fn next_interval(&self) -> Self { + pub fn next(&self) -> Self { Interval { id: self.id + 1, start: self.end(), @@ -81,7 +81,7 @@ impl Interval { } /// Returns the last interval. - pub fn previous_interval(&self) -> Option { + pub fn previous(&self) -> Option { if self.id > 0 { Some(Interval { id: self.id - 1, @@ -125,14 +125,14 @@ impl Interval { if candidate.contains(now) { return Some(candidate); } - candidate = candidate.next_interval(); + candidate = candidate.next(); } } else { loop { if candidate.contains(now) { return Some(candidate); } - candidate = candidate.previous_interval()?; + candidate = candidate.previous()?; } } } @@ -151,14 +151,14 @@ impl Interval { if candidate.contains_timestamp(now_unix) { return Some(candidate); } - candidate = candidate.next_interval(); + candidate = candidate.next(); } } else { loop { if candidate.contains_timestamp(now_unix) { return Some(candidate); } - candidate = candidate.previous_interval()?; + candidate = candidate.previous()?; } } } @@ -239,7 +239,7 @@ mod tests { use super::*; #[test] - fn previous_interval() { + fn previous() { let interval = Interval { id: 1, start: time::macros::datetime!(2021-08-23 12:00 UTC), @@ -250,18 +250,18 @@ mod tests { start: time::macros::datetime!(2021-08-22 12:00 UTC), length: Duration::from_secs(24 * 60 * 60), }; - assert_eq!(expected, interval.previous_interval().unwrap()); + assert_eq!(expected, interval.previous().unwrap()); let genesis_interval = Interval { id: 0, start: time::macros::datetime!(2021-08-23 12:00 UTC), length: Duration::from_secs(24 * 60 * 60), }; - assert!(genesis_interval.previous_interval().is_none()); + assert!(genesis_interval.previous().is_none()); } #[test] - fn next_interval() { + fn next() { let interval = Interval { id: 0, start: time::macros::datetime!(2021-08-23 12:00 UTC), @@ -273,7 +273,7 @@ mod tests { length: Duration::from_secs(24 * 60 * 60), }; - assert_eq!(expected, interval.next_interval()) + assert_eq!(expected, interval.next()) } #[test] @@ -291,8 +291,8 @@ mod tests { let in_the_midle = interval.start + Duration::from_secs(interval.length.as_secs() / 2); assert!(interval.contains(in_the_midle)); - assert!(!interval.contains(interval.next_interval().end())); - assert!(!interval.contains(interval.previous_interval().unwrap().start())); + assert!(!interval.contains(interval.next().end())); + assert!(!interval.contains(interval.previous().unwrap().start())); } #[test] @@ -305,10 +305,7 @@ mod tests { // interval just before let fake_now = first_interval.start - Duration::from_secs(123); - assert_eq!( - first_interval.previous_interval(), - first_interval.current(fake_now) - ); + assert_eq!(first_interval.previous(), first_interval.current(fake_now)); // this interval (start boundary) assert_eq!( @@ -329,7 +326,7 @@ mod tests { // next interval let fake_now = first_interval.end() + Duration::from_secs(123); assert_eq!( - first_interval.next_interval(), + first_interval.next(), first_interval.current(fake_now).unwrap() ); @@ -340,11 +337,11 @@ mod tests { - first_interval.length; assert_eq!( first_interval - .previous_interval() + .previous() .unwrap() - .previous_interval() + .previous() .unwrap() - .previous_interval() + .previous() .unwrap(), first_interval.current(fake_now).unwrap() ); @@ -355,10 +352,7 @@ mod tests { + first_interval.length + first_interval.length; assert_eq!( - first_interval - .next_interval() - .next_interval() - .next_interval(), + first_interval.next().next().next(), first_interval.current(fake_now).unwrap() ); } diff --git a/common/cosmwasm-smart-contracts/mixnet-contract/src/lib.rs b/common/cosmwasm-smart-contracts/mixnet-contract/src/lib.rs index 8bb4f35f32..a62485deb3 100644 --- a/common/cosmwasm-smart-contracts/mixnet-contract/src/lib.rs +++ b/common/cosmwasm-smart-contracts/mixnet-contract/src/lib.rs @@ -8,6 +8,7 @@ mod gateway; mod interval; pub mod mixnode; mod msg; +pub mod reward_params; mod types; pub const MIXNODE_DELEGATORS_PAGE_LIMIT: usize = 250; @@ -24,3 +25,9 @@ pub use mixnode::{ }; pub use msg::*; pub use types::*; + +pub type U128 = fixed::types::U75F53; + +fixed::const_fixed_from_int! { + const ONE: U128 = 1; +} diff --git a/common/cosmwasm-smart-contracts/mixnet-contract/src/mixnode.rs b/common/cosmwasm-smart-contracts/mixnet-contract/src/mixnode.rs index be059c7a69..49ecd63228 100644 --- a/common/cosmwasm-smart-contracts/mixnet-contract/src/mixnode.rs +++ b/common/cosmwasm-smart-contracts/mixnet-contract/src/mixnode.rs @@ -1,23 +1,19 @@ // due to code generated by JsonSchema #![allow(clippy::field_reassign_with_default)] -use crate::{IdentityKey, SphinxKey}; +use crate::error::MixnetContractError; +use crate::reward_params::RewardParams; +use crate::{Delegation, IdentityKey, SphinxKey}; +use crate::{ONE, U128}; use az::CheckedCast; use cosmwasm_std::{coin, Addr, Coin, Uint128}; use log::error; -use network_defaults::DEFAULT_OPERATOR_INTERVAL_COST; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use serde_repr::{Deserialize_repr, Serialize_repr}; use std::cmp::Ordering; use std::fmt::Display; -type U128 = fixed::types::U75F53; // u128 with 18 significant digits - -fixed::const_fixed_from_int! { - const ONE: U128 = 1; -} - #[cfg_attr(test, derive(ts_rs::TS))] #[cfg_attr( test, @@ -26,7 +22,7 @@ fixed::const_fixed_from_int! { export_to = "../../../nym-wallet/src/types/rust/rewardedsetnodestatus.ts" ) )] -#[derive(Clone, Copy, Debug, Deserialize, PartialEq, PartialOrd, Serialize, JsonSchema)] +#[derive(Clone, Copy, Debug, Deserialize, Serialize, JsonSchema, PartialEq)] pub enum RewardedSetNodeStatus { Active, Standby, @@ -38,6 +34,52 @@ impl RewardedSetNodeStatus { } } +#[derive(Clone, Debug, Deserialize, Serialize, JsonSchema)] +pub enum DelegationEvent { + Delegate(Delegation), + Undelegate(PendingUndelegate), +} + +#[derive(Clone, Debug, Deserialize, Serialize, JsonSchema)] +pub struct PendingUndelegate { + mix_identity: IdentityKey, + delegate: Addr, + proxy: Option, + block_height: u64, +} + +impl PendingUndelegate { + pub fn new( + mix_identity: IdentityKey, + delegate: Addr, + proxy: Option, + block_height: u64, + ) -> Self { + Self { + mix_identity, + delegate, + proxy, + block_height, + } + } + + pub fn mix_identity(&self) -> IdentityKey { + self.mix_identity.clone() + } + + pub fn delegate(&self) -> Addr { + self.delegate.clone() + } + + pub fn proxy(&self) -> Option { + self.proxy.clone() + } + + pub fn block_height(&self) -> u64 { + self.block_height + } +} + #[cfg_attr(test, derive(ts_rs::TS))] #[cfg_attr( test, @@ -87,112 +129,6 @@ impl From for String { } } -#[derive(Debug, Clone, JsonSchema, PartialEq, Serialize, Deserialize, Copy)] -pub struct NodeRewardParams { - period_reward_pool: Uint128, - rewarded_set_size: Uint128, - active_set_size: Uint128, - reward_blockstamp: u64, - circulating_supply: Uint128, - uptime: Uint128, - sybil_resistance_percent: u8, - in_active_set: bool, - active_set_work_factor: u8, -} - -impl NodeRewardParams { - #[allow(clippy::too_many_arguments)] - pub fn new( - period_reward_pool: u128, - rewarded_set_size: u128, - active_set_size: u128, - reward_blockstamp: u64, - circulating_supply: u128, - uptime: u128, - sybil_resistance_percent: u8, - in_active_set: bool, - active_set_work_factor: u8, - ) -> NodeRewardParams { - NodeRewardParams { - period_reward_pool: Uint128::new(period_reward_pool), - rewarded_set_size: Uint128::new(rewarded_set_size), - active_set_size: Uint128::new(active_set_size), - reward_blockstamp, - circulating_supply: Uint128::new(circulating_supply), - uptime: Uint128::new(uptime), - sybil_resistance_percent, - in_active_set, - active_set_work_factor, - } - } - - pub fn omega(&self) -> U128 { - // As per keybase://chat/nymtech#tokeneconomics/1179 - let denom = self.active_set_work_factor() * U128::from_num(self.rewarded_set_size()) - - (self.active_set_work_factor() - ONE) * U128::from_num(self.idle_nodes().u128()); - - if self.in_active_set() { - // work_active = factor / (factor * self.network.k[month] - (factor - 1) * idle_nodes) - self.active_set_work_factor() / denom * self.rewarded_set_size() - } else { - // work_idle = 1 / (factor * self.network.k[month] - (factor - 1) * idle_nodes) - ONE / denom * self.rewarded_set_size() - } - } - - pub fn idle_nodes(&self) -> Uint128 { - self.rewarded_set_size - self.active_set_size - } - - pub fn active_set_work_factor(&self) -> U128 { - U128::from_num(self.active_set_work_factor) - } - - pub fn in_active_set(&self) -> bool { - self.in_active_set - } - - pub fn performance(&self) -> U128 { - U128::from_num(self.uptime.u128()) / U128::from_num(100) - } - - pub fn operator_cost(&self) -> U128 { - U128::from_num(self.uptime.u128() / 100u128 * DEFAULT_OPERATOR_INTERVAL_COST as u128) - } - - pub fn set_reward_blockstamp(&mut self, blockstamp: u64) { - self.reward_blockstamp = blockstamp; - } - - pub fn period_reward_pool(&self) -> u128 { - self.period_reward_pool.u128() - } - - pub fn rewarded_set_size(&self) -> u128 { - self.rewarded_set_size.u128() - } - - pub fn circulating_supply(&self) -> u128 { - self.circulating_supply.u128() - } - - pub fn reward_blockstamp(&self) -> u64 { - self.reward_blockstamp - } - - pub fn uptime(&self) -> u128 { - self.uptime.u128() - } - - pub fn one_over_k(&self) -> U128 { - ONE / U128::from_num(self.rewarded_set_size.u128()) - } - - pub fn alpha(&self) -> U128 { - U128::from_num(self.sybil_resistance_percent) / U128::from_num(100) - } -} - // cosmwasm's limited serde doesn't work with U128 directly #[allow(non_snake_case)] pub mod fixed_U128_as_string { @@ -226,7 +162,7 @@ pub mod fixed_U128_as_string { // everything required to reward delegator of given mixnode #[derive(Debug, Clone, Copy, Serialize, Deserialize, JsonSchema)] pub struct DelegatorRewardParams { - node_reward_params: NodeRewardParams, + reward_params: RewardParams, // to be completely honest I don't understand all consequences of using `#[schemars(with = "String")]` // for U128 here, but it seems that CosmWasm is using the same attribute for their Uint128 @@ -242,19 +178,24 @@ pub struct DelegatorRewardParams { } impl DelegatorRewardParams { - pub fn new(mixnode_bond: &MixNodeBond, node_reward_params: NodeRewardParams) -> Self { + pub fn new( + sigma: U128, + profit_margin: U128, + node_profit: U128, + reward_params: RewardParams, + ) -> Self { DelegatorRewardParams { - sigma: mixnode_bond.sigma(&node_reward_params), - profit_margin: mixnode_bond.profit_margin(), - node_profit: mixnode_bond.node_profit(&node_reward_params), - node_reward_params, + sigma, + profit_margin, + node_profit, + reward_params, } } pub fn determine_delegation_reward(&self, delegation_amount: Uint128) -> u128 { // change all values into their fixed representations let delegation_amount = U128::from_num(delegation_amount.u128()); - let circulating_supply = U128::from_num(self.node_reward_params.circulating_supply()); + let circulating_supply = U128::from_num(self.reward_params.circulating_supply()); let scaled_delegation_amount = delegation_amount / circulating_supply; let delegator_reward = @@ -272,8 +213,56 @@ impl DelegatorRewardParams { } } - pub fn node_reward_params(&self) -> &NodeRewardParams { - &self.node_reward_params + pub fn node_reward_params(&self) -> RewardParams { + self.reward_params + } +} + +#[derive(Debug, Clone, JsonSchema, PartialEq, Serialize, Deserialize, Copy)] +pub struct StoredNodeRewardResult { + reward: Uint128, + lambda: Uint128, + sigma: Uint128, +} + +impl StoredNodeRewardResult { + pub fn reward(&self) -> Uint128 { + self.reward + } + + pub fn lambda(&self) -> Uint128 { + self.lambda + } + + pub fn sigma(&self) -> Uint128 { + self.sigma + } +} + +impl TryFrom for StoredNodeRewardResult { + type Error = MixnetContractError; + + fn try_from(node_reward_result: NodeRewardResult) -> Result { + Ok(StoredNodeRewardResult { + reward: Uint128::new( + node_reward_result + .reward() + .checked_cast() + .ok_or(MixnetContractError::CastError)?, + ), + lambda: Uint128::new( + node_reward_result + .lambda() + .checked_cast() + .ok_or(MixnetContractError::CastError)?, + ), + sigma: Uint128::new( + node_reward_result + .sigma() + .checked_cast() + .ok_or(MixnetContractError::CastError)?, + ), + }) } } @@ -307,6 +296,7 @@ pub struct MixNodeBond { pub block_height: u64, pub mix_node: MixNode, pub proxy: Option, + pub accumulated_rewards: Uint128, } impl MixNodeBond { @@ -326,6 +316,7 @@ impl MixNodeBond { block_height, mix_node, proxy, + accumulated_rewards: Uint128::zero(), } } @@ -349,11 +340,16 @@ impl MixNodeBond { &self.mix_node } + // Takes into account accumulated rewards as well as current pledge and delegation amounts pub fn total_bond(&self) -> Option { if self.pledge_amount.denom != self.total_delegation.denom { None } else { - Some(self.pledge_amount.amount.u128() + self.total_delegation.amount.u128()) + Some( + self.pledge_amount.amount.u128() + + self.total_delegation.amount.u128() + + self.accumulated_rewards.u128(), + ) } } @@ -366,6 +362,10 @@ impl MixNodeBond { * U128::from_num(rewarded_set_size) } + // TODO: There is an effect here when adding accumulted rewards to the total bond, ie accumulated rewards will not + // affect lambda, but will affect sigma, in turn over time, if left unclaimed operator rewards will not compound, but + // behave similarly to delegations. + // The question is should this be taken into account when calculating operator rewards? pub fn pledge_to_circulating_supply(&self, circulating_supply: u128) -> U128 { U128::from_num(self.pledge_amount().amount.u128()) / U128::from_num(circulating_supply) } @@ -375,26 +375,46 @@ impl MixNodeBond { / U128::from_num(circulating_supply) } - pub fn lambda(&self, params: &NodeRewardParams) -> U128 { + pub fn lambda(&self, params: &RewardParams) -> U128 { // Ratio of a bond to the token circulating supply let pledge_to_circulating_supply_ratio = self.pledge_to_circulating_supply(params.circulating_supply()); pledge_to_circulating_supply_ratio.min(params.one_over_k()) } - pub fn sigma(&self, params: &NodeRewardParams) -> U128 { + pub fn sigma(&self, params: &RewardParams) -> U128 { // Ratio of a delegation to the the token circulating supply let total_bond_to_circulating_supply_ratio = self.total_bond_to_circulating_supply(params.circulating_supply()); total_bond_to_circulating_supply_ratio.min(params.one_over_k()) } - pub fn reward(&self, params: &NodeRewardParams) -> NodeRewardResult { + pub fn estimate_reward( + &self, + params: &RewardParams, + ) -> Result<(u64, u64, u64), MixnetContractError> { + let total_node_reward = self.reward(params); + let operator_reward = self.operator_reward(params); + // TODO: This overestimates the reward by a lot, it should take a Uint128 and return estiamte for that + let delegators_reward = self.reward_delegation(self.total_delegation().amount, params); + + Ok(( + total_node_reward + .reward() + .checked_to_num::() + .unwrap_or_default() + .try_into()?, + operator_reward.try_into()?, + delegators_reward.try_into()?, + )) + } + + pub fn reward(&self, params: &RewardParams) -> NodeRewardResult { let lambda = self.lambda(params); let sigma = self.sigma(params); let reward = params.performance() - * params.period_reward_pool() + * params.epoch_reward_pool() * (sigma * params.omega() + params.alpha() * lambda * sigma * params.rewarded_set_size()) / (ONE + params.alpha()); @@ -406,22 +426,22 @@ impl MixNodeBond { } } - pub fn node_profit(&self, params: &NodeRewardParams) -> U128 { - if self.reward(params).reward() < params.operator_cost() { - U128::from_num(0) + pub fn node_profit(&self, params: &RewardParams) -> U128 { + if self.reward(params).reward() < params.node.operator_cost() { + U128::from_num(0u128) } else { - self.reward(params).reward() - params.operator_cost() + self.reward(params).reward() - params.node.operator_cost() } } - pub fn operator_reward(&self, params: &NodeRewardParams) -> u128 { + pub fn operator_reward(&self, params: &RewardParams) -> u128 { let reward = self.reward(params); - let profit = if reward.reward < params.operator_cost() { - U128::from_num(0) + let profit = if reward.reward < params.node.operator_cost() { + U128::from_num(0u128) } else { - reward.reward - params.operator_cost() + reward.reward - params.node.operator_cost() }; - let operator_base_reward = reward.reward.min(params.operator_cost()); + let operator_base_reward = reward.reward.min(params.node.operator_cost()); let operator_reward = (self.profit_margin() + (ONE - self.profit_margin()) * reward.lambda / reward.sigma) * profit; @@ -440,7 +460,7 @@ impl MixNodeBond { } } - pub fn sigma_ratio(&self, params: &NodeRewardParams) -> U128 { + pub fn sigma_ratio(&self, params: &RewardParams) -> U128 { if self.total_bond_to_circulating_supply(params.circulating_supply()) < params.one_over_k() { self.total_bond_to_circulating_supply(params.circulating_supply()) @@ -449,8 +469,13 @@ impl MixNodeBond { } } - pub fn reward_delegation(&self, delegation_amount: Uint128, params: &NodeRewardParams) -> u128 { - let reward_params = DelegatorRewardParams::new(self, *params); + pub fn reward_delegation(&self, delegation_amount: Uint128, params: &RewardParams) -> u128 { + let reward_params = DelegatorRewardParams::new( + self.sigma(params), + self.profit_margin(), + self.node_profit(params), + params.to_owned(), + ); reward_params.determine_delegation_reward(delegation_amount) } } @@ -589,6 +614,7 @@ mod tests { block_height: 100, mix_node: mixnode_fixture(), proxy: None, + accumulated_rewards: Uint128::zero(), }; let mix2 = MixNodeBond { @@ -599,6 +625,7 @@ mod tests { block_height: 120, mix_node: mixnode_fixture(), proxy: None, + accumulated_rewards: Uint128::zero(), }; let mix3 = MixNodeBond { @@ -609,6 +636,7 @@ mod tests { block_height: 120, mix_node: mixnode_fixture(), proxy: None, + accumulated_rewards: Uint128::zero(), }; let mix4 = MixNodeBond { @@ -619,6 +647,7 @@ mod tests { block_height: 120, mix_node: mixnode_fixture(), proxy: None, + accumulated_rewards: Uint128::zero(), }; let mix5 = MixNodeBond { @@ -629,6 +658,7 @@ mod tests { block_height: 120, mix_node: mixnode_fixture(), proxy: None, + accumulated_rewards: Uint128::zero(), }; // summary: diff --git a/common/cosmwasm-smart-contracts/mixnet-contract/src/msg.rs b/common/cosmwasm-smart-contracts/mixnet-contract/src/msg.rs index 1d5b33f874..90cb5bac6b 100644 --- a/common/cosmwasm-smart-contracts/mixnet-contract/src/msg.rs +++ b/common/cosmwasm-smart-contracts/mixnet-contract/src/msg.rs @@ -1,12 +1,15 @@ // Copyright 2021 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -use crate::mixnode::NodeRewardParams; +use crate::reward_params::NodeRewardParams; use crate::ContractStateParams; use crate::{Gateway, IdentityKey, MixNode}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +type BlockHeight = u64; +type DelegateAddress = Vec; + #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] pub struct InstantiateMsg { pub rewarding_validator_address: String, @@ -15,6 +18,19 @@ pub struct InstantiateMsg { #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum ExecuteMsg { + ReconcileDelegations {}, + CheckpointMixnodes {}, + CompoundOperatorRewardOnBehalf { + owner: String, + }, + CompoundDelegatorRewardOnBehalf { + owner: String, + mix_identity: IdentityKey, + }, + CompoundOperatorReward {}, + CompoundDelegatorReward { + mix_identity: IdentityKey, + }, BondMixnode { mix_node: MixNode, owner_signature: String, @@ -50,11 +66,11 @@ pub enum ExecuteMsg { // id of the current rewarding interval interval_id: u32, }, - RewardNextMixDelegators { - mix_identity: IdentityKey, - // id of the current rewarding interval - interval_id: u32, - }, + // RewardNextMixDelegators { + // mix_identity: IdentityKey, + // // id of the current rewarding interval + // interval_id: u32, + // }, DelegateToMixnodeOnBehalf { mix_identity: IdentityKey, delegate: String, @@ -84,6 +100,7 @@ pub enum ExecuteMsg { expected_active_set_size: u32, }, AdvanceCurrentInterval {}, + AdvanceCurrentEpoch {}, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] @@ -108,7 +125,7 @@ pub enum QueryMsg { // gets all [paged] delegations in the entire network // TODO: do we even want that? GetAllNetworkDelegations { - start_after: Option<(IdentityKey, String)>, + start_after: Option<(IdentityKey, DelegateAddress, BlockHeight)>, limit: Option, }, // gets all [paged] delegations associated with particular mixnode @@ -116,7 +133,7 @@ pub enum QueryMsg { mix_identity: IdentityKey, // since `start_after` is user-provided input, we can't use `Addr` as we // can't guarantee it's validated. - start_after: Option, + start_after: Option<(String, u64)>, limit: Option, }, // gets all [paged] delegations associated with particular delegator @@ -154,6 +171,7 @@ pub enum QueryMsg { GetCurrentRewardedSetHeight {}, GetCurrentInterval {}, GetRewardedSetRefreshBlocks {}, + GetEpochsInInterval {}, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] diff --git a/common/cosmwasm-smart-contracts/mixnet-contract/src/reward_params.rs b/common/cosmwasm-smart-contracts/mixnet-contract/src/reward_params.rs new file mode 100644 index 0000000000..019de73223 --- /dev/null +++ b/common/cosmwasm-smart-contracts/mixnet-contract/src/reward_params.rs @@ -0,0 +1,260 @@ +use crate::{error::MixnetContractError, mixnode::StoredNodeRewardResult, ONE, U128}; +use az::CheckedCast; +use cosmwasm_std::Uint128; +use network_defaults::DEFAULT_OPERATOR_INTERVAL_COST; +use schemars::JsonSchema; +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, JsonSchema, PartialEq, Serialize, Deserialize, Copy)] +pub struct NodeEpochRewards { + params: NodeRewardParams, + result: StoredNodeRewardResult, + epoch_id: u32, +} + +impl NodeEpochRewards { + pub fn new(params: NodeRewardParams, result: StoredNodeRewardResult, epoch_id: u32) -> Self { + Self { + params, + result, + epoch_id, + } + } + + pub fn epoch_id(&self) -> u32 { + self.epoch_id + } + + pub fn sigma(&self) -> Uint128 { + self.result.sigma() + } + + pub fn lambda(&self) -> Uint128 { + self.result.lambda() + } + + pub fn params(&self) -> NodeRewardParams { + self.params + } + + pub fn reward(&self) -> Uint128 { + self.result.reward() + } + + pub fn operator_cost(&self) -> U128 { + U128::from_num(self.params.uptime.u128() / 100u128 * DEFAULT_OPERATOR_INTERVAL_COST as u128) + } + + pub fn node_profit(&self) -> U128 { + let reward = U128::from_num(self.reward().u128()); + if reward < self.operator_cost() { + U128::from_num(0u128) + } else { + reward - self.operator_cost() + } + } + + pub fn operator_reward(&self, profit_margin: U128) -> Result { + let reward = self.node_profit(); + let operator_base_reward = reward.min(self.operator_cost()); + let operator_reward = (profit_margin + + (ONE - profit_margin) * U128::from_num(self.lambda().u128()) + / U128::from_num(self.sigma().u128())) + * reward; + + let reward = (operator_reward + operator_base_reward).max(U128::from_num(0u128)); + + if let Some(int_reward) = reward.checked_cast() { + Ok(Uint128::new(int_reward)) + } else { + Err(MixnetContractError::CastError) + } + } + + pub fn delegation_reward( + &self, + delegation_amount: Uint128, + profit_margin: U128, + epoch_reward_params: EpochRewardParams, + ) -> Result { + // change all values into their fixed representations + let delegation_amount = U128::from_num(delegation_amount.u128()); + let circulating_supply = U128::from_num(epoch_reward_params.circulating_supply()); + + let scaled_delegation_amount = delegation_amount / circulating_supply; + let delegator_reward = (ONE - profit_margin) * scaled_delegation_amount + / U128::from_num(self.sigma().u128()) + * self.node_profit(); + + let reward = delegator_reward.max(U128::ZERO); + if let Some(int_reward) = reward.checked_cast() { + Ok(Uint128::new(int_reward)) + } else { + Err(MixnetContractError::CastError) + } + } +} + +#[derive(Debug, Clone, JsonSchema, PartialEq, Serialize, Deserialize, Copy)] +pub struct EpochRewardParams { + epoch_reward_pool: Uint128, + rewarded_set_size: Uint128, + active_set_size: Uint128, + circulating_supply: Uint128, + sybil_resistance_percent: u8, + active_set_work_factor: u8, +} + +impl EpochRewardParams { + pub fn new( + epoch_reward_pool: u128, + rewarded_set_size: u128, + active_set_size: u128, + circulating_supply: u128, + sybil_resistance_percent: u8, + active_set_work_factor: u8, + ) -> EpochRewardParams { + EpochRewardParams { + epoch_reward_pool: Uint128::new(epoch_reward_pool), + rewarded_set_size: Uint128::new(rewarded_set_size), + active_set_size: Uint128::new(active_set_size), + circulating_supply: Uint128::new(circulating_supply), + sybil_resistance_percent, + active_set_work_factor, + } + } + + // technically it's identical to what would have been derived with a Default implementation, + // however, I prefer to be explicit about it, as a `Default::default` value makes no sense + // apart from the `ValidatorCacheInner` context, where this value is not going to be touched anyway + // (it's guarded behind an `initialised` flag) + pub fn new_empty() -> Self { + EpochRewardParams { + epoch_reward_pool: Uint128::new(0), + circulating_supply: Uint128::new(0), + sybil_resistance_percent: 0, + rewarded_set_size: Uint128::new(0), + active_set_size: Uint128::new(0), + active_set_work_factor: 0, + } + } + + pub fn rewarded_set_size(&self) -> u128 { + self.rewarded_set_size.u128() + } + + pub fn active_set_size(&self) -> u128 { + self.active_set_size.u128() + } + + pub fn circulating_supply(&self) -> u128 { + self.circulating_supply.u128() + } + + pub fn epoch_reward_pool(&self) -> u128 { + self.epoch_reward_pool.u128() + } +} + +#[derive(Debug, Clone, JsonSchema, PartialEq, Serialize, Deserialize, Copy)] +pub struct NodeRewardParams { + reward_blockstamp: u64, + uptime: Uint128, + in_active_set: bool, +} + +impl NodeRewardParams { + pub fn new(reward_blockstamp: u64, uptime: u128, in_active_set: bool) -> NodeRewardParams { + NodeRewardParams { + reward_blockstamp, + uptime: Uint128::new(uptime), + in_active_set, + } + } + + pub fn operator_cost(&self) -> U128 { + U128::from_num(self.uptime.u128() / 100u128 * DEFAULT_OPERATOR_INTERVAL_COST as u128) + } + + pub fn uptime(&self) -> u128 { + self.uptime.u128() + } + + pub fn set_reward_blockstamp(&mut self, blockstamp: u64) { + self.reward_blockstamp = blockstamp; + } +} + +#[derive(Debug, Clone, JsonSchema, PartialEq, Serialize, Deserialize, Copy)] +pub struct RewardParams { + pub epoch: EpochRewardParams, + pub node: NodeRewardParams, +} + +impl RewardParams { + pub fn new(epoch: EpochRewardParams, node: NodeRewardParams) -> RewardParams { + RewardParams { epoch, node } + } + + pub fn omega(&self) -> U128 { + // As per keybase://chat/nymtech#tokeneconomics/1179 + let denom = self.active_set_work_factor() * U128::from_num(self.rewarded_set_size()) + - (self.active_set_work_factor() - ONE) * U128::from_num(self.idle_nodes().u128()); + + if self.in_active_set() { + // work_active = factor / (factor * self.network.k[month] - (factor - 1) * idle_nodes) + self.active_set_work_factor() / denom * self.rewarded_set_size() + } else { + // work_idle = 1 / (factor * self.network.k[month] - (factor - 1) * idle_nodes) + ONE / denom * self.rewarded_set_size() + } + } + + pub fn idle_nodes(&self) -> Uint128 { + self.epoch.rewarded_set_size - self.epoch.active_set_size + } + + pub fn active_set_work_factor(&self) -> U128 { + U128::from_num(self.epoch.active_set_work_factor) + } + + pub fn in_active_set(&self) -> bool { + self.node.in_active_set + } + + pub fn performance(&self) -> U128 { + U128::from_num(self.node.uptime.u128()) / U128::from_num(100) + } + + pub fn set_reward_blockstamp(&mut self, blockstamp: u64) { + self.node.reward_blockstamp = blockstamp; + } + + pub fn epoch_reward_pool(&self) -> u128 { + self.epoch.epoch_reward_pool.u128() + } + + pub fn rewarded_set_size(&self) -> u128 { + self.epoch.rewarded_set_size.u128() + } + + pub fn circulating_supply(&self) -> u128 { + self.epoch.circulating_supply.u128() + } + + pub fn reward_blockstamp(&self) -> u64 { + self.node.reward_blockstamp + } + + pub fn uptime(&self) -> u128 { + self.node.uptime.u128() + } + + pub fn one_over_k(&self) -> U128 { + ONE / U128::from_num(self.epoch.rewarded_set_size.u128()) + } + + pub fn alpha(&self) -> U128 { + U128::from_num(self.epoch.sybil_resistance_percent) / U128::from_num(100) + } +} diff --git a/common/cosmwasm-smart-contracts/mixnet-contract/src/types.rs b/common/cosmwasm-smart-contracts/mixnet-contract/src/types.rs index f95a6bfb05..a67f8d0343 100644 --- a/common/cosmwasm-smart-contracts/mixnet-contract/src/types.rs +++ b/common/cosmwasm-smart-contracts/mixnet-contract/src/types.rs @@ -73,8 +73,7 @@ impl Display for ContractStateParams { #[derive(Default, Debug, Serialize, Deserialize, PartialEq)] pub struct RewardingResult { - pub operator_reward: Uint128, - pub total_delegator_reward: Uint128, + pub node_reward: Uint128, } #[derive(Debug, Serialize, Deserialize)] @@ -124,7 +123,7 @@ pub type IdentityKey = String; pub type IdentityKeyRef<'a> = &'a str; pub type SphinxKey = String; -#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, JsonSchema)] +#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, JsonSchema)] pub struct PagedRewardedSetResponse { pub identities: Vec<(IdentityKey, RewardedSetNodeStatus)>, pub start_next_after: Option, diff --git a/common/credentials/Cargo.toml b/common/credentials/Cargo.toml index 4f97971b16..9c99137185 100644 --- a/common/credentials/Cargo.toml +++ b/common/credentials/Cargo.toml @@ -6,6 +6,7 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +bls12_381 = { version = "0.5", default-features = false, features = ["pairings", "alloc", "experimental"] } thiserror = "1.0" url = "2.2" diff --git a/common/credentials/src/coconut/utils.rs b/common/credentials/src/coconut/utils.rs index 2bd2d5856c..9d451736a9 100644 --- a/common/credentials/src/coconut/utils.rs +++ b/common/credentials/src/coconut/utils.rs @@ -1,10 +1,11 @@ // Copyright 2021 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 +use bls12_381::Scalar; use coconut_interface::{ aggregate_signature_shares, aggregate_verification_keys, prepare_blind_sign, prove_bandwidth_credential, Attribute, BlindSignRequest, BlindSignRequestBody, Credential, - ElGamalKeyPair, Parameters, Signature, SignatureShare, VerificationKey, + Parameters, Signature, SignatureShare, VerificationKey, }; use url::Url; @@ -64,14 +65,13 @@ async fn obtain_partial_credential( params: &Parameters, public_attributes: &[Attribute], private_attributes: &[Attribute], + pedersen_commitments_openings: &[Scalar], + blind_sign_request: &BlindSignRequest, client: &validator_client::ApiClient, validator_vk: &VerificationKey, - blind_sign_request: &BlindSignRequest, - elgamal_keypair: &ElGamalKeyPair, ) -> Result { let blind_sign_request_body = BlindSignRequestBody::new( blind_sign_request, - elgamal_keypair.public_key(), public_attributes, (public_attributes.len() + private_attributes.len()) as u32, ); @@ -83,11 +83,11 @@ async fn obtain_partial_credential( let unblinded_signature = blinded_signature.unblind( params, - elgamal_keypair.private_key(), validator_vk, private_attributes, public_attributes, &blind_sign_request.get_commitment_hash(), + &*pedersen_commitments_openings, )?; Ok(unblinded_signature) @@ -110,22 +110,17 @@ pub async fn obtain_aggregate_signature( let validator_partial_vk = client.get_coconut_verification_key().await?; validators_partial_vks.push(validator_partial_vk.key.clone()); - let elgamal_keypair = coconut_interface::elgamal_keygen(params); - let blind_sign_request = prepare_blind_sign( - params, - &elgamal_keypair, - private_attributes, - public_attributes, - )?; + let (pedersen_commitments_openings, blind_sign_request) = + prepare_blind_sign(params, private_attributes, public_attributes)?; let first = obtain_partial_credential( params, public_attributes, private_attributes, + &pedersen_commitments_openings, + &blind_sign_request, &client, &validator_partial_vk.key, - &blind_sign_request, - &elgamal_keypair, ) .await?; shares.push(SignatureShare::new(first, 1)); @@ -138,10 +133,10 @@ pub async fn obtain_aggregate_signature( params, public_attributes, private_attributes, + &pedersen_commitments_openings, + &blind_sign_request, &client, &validator_partial_vk.key, - &blind_sign_request, - &elgamal_keypair, ) .await?; let share = SignatureShare::new(signature, (id + 1) as u64); diff --git a/common/network-defaults/src/all.rs b/common/network-defaults/src/all.rs index 5c7b0952c4..032142f30d 100644 --- a/common/network-defaults/src/all.rs +++ b/common/network-defaults/src/all.rs @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 use serde::{Deserialize, Serialize}; -use std::{collections::HashMap, fmt, ops::Deref, str::FromStr}; +use std::{collections::HashMap, fmt, str::FromStr}; use crate::{ DefaultNetworkDetails, ValidatorDetails, MAINNET_DEFAULTS, QA_DEFAULTS, SANDBOX_DEFAULTS, @@ -98,7 +98,7 @@ pub struct NetworkDetails { } impl From<&DefaultNetworkDetails<'_>> for NetworkDetails { - fn from(details: &DefaultNetworkDetails) -> Self { + fn from(details: &DefaultNetworkDetails<'_>) -> Self { NetworkDetails { bech32_prefix: details.bech32_prefix.into(), denom: details.denom.into(), @@ -118,20 +118,12 @@ pub struct SupportedNetworks { impl SupportedNetworks { pub fn new(support: Vec) -> Self { - let mut networks = HashMap::new(); - - for network in support { - match network { - Network::MAINNET => { - networks.insert(Network::MAINNET, MAINNET_DEFAULTS.deref().into()) - } - Network::SANDBOX => { - networks.insert(Network::SANDBOX, SANDBOX_DEFAULTS.deref().into()) - } - Network::QA => networks.insert(Network::QA, QA_DEFAULTS.deref().into()), - }; + SupportedNetworks { + networks: support + .into_iter() + .map(|n| (n, n.details().into())) + .collect(), } - SupportedNetworks { networks } } pub fn bech32_prefix(&self, network: Network) -> Option<&str> { diff --git a/common/network-defaults/src/lib.rs b/common/network-defaults/src/lib.rs index 7738ba7c46..318cd124a4 100644 --- a/common/network-defaults/src/lib.rs +++ b/common/network-defaults/src/lib.rs @@ -179,7 +179,8 @@ pub const VALIDATOR_API_VERSION: &str = "v1"; // REWARDING /// We'll be assuming a few more things, profit margin and cost function. Since we don't have relialable package measurement, we'll be using uptime. We'll also set the value of 1 Nym to 1 $, to be able to translate interval costs to Nyms. We'll also assume a cost of 40$ per interval(month), converting that to Nym at our 1$ rate translates to 40_000_000 uNyms -pub const DEFAULT_OPERATOR_INTERVAL_COST: u64 = 40_000_000; // 40$/(30 days) at 1 Nym == 1$ +// pub const DEFAULT_OPERATOR_INTERVAL_COST: u64 = 40_000_000; // 40$/(30 days) at 1 Nym == 1$ +pub const DEFAULT_OPERATOR_INTERVAL_COST: u64 = 55_556; // 40$/1hr at 1 Nym == 1$ // TODO: is there a way to get this from the chain pub const TOTAL_SUPPLY: u128 = 1_000_000_000_000_000; diff --git a/common/nymcoconut/Cargo.toml b/common/nymcoconut/Cargo.toml index bc15c04621..60b916e58f 100644 --- a/common/nymcoconut/Cargo.toml +++ b/common/nymcoconut/Cargo.toml @@ -32,9 +32,9 @@ doc-comment = "0.3" [dev-dependencies.bincode] version = "1" -#[[bench]] -#name = "benchmarks" -#harness = false +[[bench]] +name = "benchmarks" +harness = false [features] default = [] diff --git a/common/nymcoconut/benches/benchmarks.rs b/common/nymcoconut/benches/benchmarks.rs new file mode 100644 index 0000000000..e9d1c7c77b --- /dev/null +++ b/common/nymcoconut/benches/benchmarks.rs @@ -0,0 +1,332 @@ +// Copyright 2021 - Nym Technologies SA +// SPDX-License-Identifier: Apache-2.0 + +use bls12_381::{multi_miller_loop, G1Affine, G1Projective, G2Affine, G2Prepared, Scalar}; +use criterion::{criterion_group, criterion_main, Criterion}; +use ff::Field; +use group::{Curve, Group}; +use nymcoconut::{ + aggregate_signature_shares, aggregate_verification_keys, blind_sign, elgamal_keygen, + prepare_blind_sign, prove_bandwidth_credential, setup, ttp_keygen, verify_credential, + Attribute, BlindedSignature, Parameters, Signature, SignatureShare, VerificationKey, +}; +use rand::seq::SliceRandom; +use std::ops::Neg; +use std::time::Duration; + +fn double_pairing(g11: &G1Affine, g21: &G2Affine, g12: &G1Affine, g22: &G2Affine) { + let gt1 = bls12_381::pairing(&g11, &g21); + let gt2 = bls12_381::pairing(&g12, &g22); + assert_eq!(gt1, gt2) +} + +fn multi_miller_pairing_affine(g11: &G1Affine, g21: &G2Affine, g12: &G1Affine, g22: &G2Affine) { + let miller_loop_result = multi_miller_loop(&[ + (g11, &G2Prepared::from(*g21)), + (&g12.neg(), &G2Prepared::from(*g22)), + ]); + assert!(bool::from( + miller_loop_result.final_exponentiation().is_identity() + )) +} + +fn multi_miller_pairing_with_prepared( + g11: &G1Affine, + g21: &G2Prepared, + g12: &G1Affine, + g22: &G2Prepared, +) { + let miller_loop_result = multi_miller_loop(&[(g11, &g21), (&g12.neg(), &g22)]); + assert!(bool::from( + miller_loop_result.final_exponentiation().is_identity() + )) +} + +// the case of being able to prepare G2 generator +fn multi_miller_pairing_with_semi_prepared( + g11: &G1Affine, + g21: &G2Affine, + g12: &G1Affine, + g22: &G2Prepared, +) { + let miller_loop_result = + multi_miller_loop(&[(g11, &G2Prepared::from(*g21)), (&g12.neg(), &g22)]); + assert!(bool::from( + miller_loop_result.final_exponentiation().is_identity() + )) +} + +fn unblind_and_aggregate( + params: &Parameters, + blinded_signatures: &[BlindedSignature], + partial_verification_keys: &[VerificationKey], + private_attributes: &[Attribute], + public_attributes: &[Attribute], + commitment_hash: &G1Projective, + pedersen_commitments_openings: &[Scalar], + verification_key: &VerificationKey, +) -> Signature { + // Unblind all partial signatures + let unblinded_signatures: Vec = blinded_signatures + .iter() + .zip(partial_verification_keys.iter()) + .map(|(signature, partial_verification_key)| { + signature + .unblind( + ¶ms, + &partial_verification_key, + &private_attributes, + &public_attributes, + &commitment_hash, + &pedersen_commitments_openings, + ) + .unwrap() + }) + .collect(); + + let unblinded_signature_shares: Vec = unblinded_signatures + .iter() + .enumerate() + .map(|(idx, signature)| SignatureShare::new(*signature, (idx + 1) as u64)) + .collect(); + + let mut attributes = vec![]; + attributes.extend_from_slice(private_attributes); + attributes.extend_from_slice(public_attributes); + aggregate_signature_shares( + ¶ms, + &verification_key, + &attributes, + &unblinded_signature_shares, + ) + .unwrap() +} + +struct BenchCase { + num_authorities: u64, + threshold_p: f32, + num_public_attrs: u32, + num_private_attrs: u32, +} + +impl BenchCase { + fn threshold(&self) -> u64 { + (self.num_authorities as f32 * self.threshold_p).round() as u64 + } + + fn num_attrs(&self) -> u32 { + self.num_public_attrs + self.num_private_attrs + } +} + +fn bench_pairings(c: &mut Criterion) { + let mut rng = rand::thread_rng(); + + let g1 = G1Affine::generator(); + let g2 = G2Affine::generator(); + let r = Scalar::random(&mut rng); + let s = Scalar::random(&mut rng); + + let g11 = (g1 * r).to_affine(); + let g21 = (g2 * s).to_affine(); + let g21_prep = G2Prepared::from(g21); + + let g12 = (g1 * s).to_affine(); + let g22 = (g2 * r).to_affine(); + let g22_prep = G2Prepared::from(g22); + + c.bench_function("double pairing", |b| { + b.iter(|| double_pairing(&g11, &g21, &g12, &g22)) + }); + + c.bench_function("multi miller in affine", |b| { + b.iter(|| multi_miller_pairing_affine(&g11, &g21, &g12, &g22)) + }); + + c.bench_function("multi miller with prepared g2", |b| { + b.iter(|| multi_miller_pairing_with_prepared(&g11, &g21_prep, &g12, &g22_prep)) + }); + + c.bench_function("multi miller with semi-prepared g2", |b| { + b.iter(|| multi_miller_pairing_with_semi_prepared(&g11, &g21, &g12, &g22_prep)) + }); +} + +fn bench_coconut(c: &mut Criterion) { + let mut group = c.benchmark_group("benchmark-coconut"); + group.measurement_time(Duration::from_secs(100)); + let case = BenchCase { + num_authorities: 100, + threshold_p: 0.7, + num_public_attrs: 2, + num_private_attrs: 2, + }; + + let params = setup((case.num_public_attrs + case.num_private_attrs)).unwrap(); + + let public_attributes = params.n_random_scalars(case.num_public_attrs as usize); + let serial_number = params.random_scalar(); + let binding_number = params.random_scalar(); + let private_attributes = vec![serial_number, binding_number]; + + let elgamal_keypair = elgamal_keygen(¶ms); + + // The prepare blind sign is performed by the user + let (pedersen_commitments_openings, blind_sign_request) = + prepare_blind_sign(¶ms, &private_attributes, &public_attributes).unwrap(); + + // CLIENT BENCHMARK: Data needed to ask for a credential + // Let's benchmark the operations the client has to perform + // to ask for a credential + group.bench_function( + &format!( + "[Client] prepare_blind_sign_{}_authorities_{}_attributes_{}_threshold", + case.num_authorities, + case.num_attrs(), + case.threshold_p, + ), + |b| { + b.iter(|| prepare_blind_sign(¶ms, &private_attributes, &public_attributes).unwrap()) + }, + ); + + // keys for the validators + let coconut_keypairs = ttp_keygen(¶ms, case.threshold(), case.num_authorities).unwrap(); + + // VALIDATOR BENCHMARK: Issue partial credential + // we pick only one key pair, as we want to validate how much does it + // take for a single validator to issue a partial credential + let mut rng = rand::thread_rng(); + let keypair = coconut_keypairs.choose(&mut rng).unwrap(); + + group.bench_function( + &format!( + "[Validator] compute_single_blind_sign_for_credential_with_{}_attributes", + case.num_attrs(), + ), + |b| { + b.iter(|| { + blind_sign( + ¶ms, + &keypair.secret_key(), + &blind_sign_request, + &public_attributes, + ) + .unwrap() + }) + }, + ); + + // computing all partial credentials + // NOTE: in reality, each validator computes only single signature + let mut blinded_signatures = Vec::new(); + for keypair in coconut_keypairs.iter() { + let blinded_signature = blind_sign( + ¶ms, + &keypair.secret_key(), + &blind_sign_request, + &public_attributes, + ) + .unwrap(); + blinded_signatures.push(blinded_signature) + } + + let verification_keys: Vec = coconut_keypairs + .iter() + .map(|keypair| keypair.verification_key()) + .collect(); + + // Lets bench worse case, ie aggregating all + let indices: Vec = (1..=case.num_authorities).collect(); + // aggregate verification keys + let aggr_verification_key = + aggregate_verification_keys(&verification_keys, Some(&indices)).unwrap(); + + // CLIENT OPERATION: Unblind partial singatures and aggregate into single signature + let aggregated_signature = unblind_and_aggregate( + ¶ms, + &blinded_signatures, + &verification_keys, + &private_attributes, + &public_attributes, + &blind_sign_request.get_commitment_hash(), + &pedersen_commitments_openings, + &aggr_verification_key, + ); + + // CLIENT BENCHMARK: aggregate all partial credentials + group.bench_function( + &format!( + "[Client] unblind_and_aggregate_partial_credentials_{}_authorities_{}_attributes_{}_threshold", + case.num_authorities, + case.num_attrs(), + case.threshold_p, + ), + |b| { + b.iter(|| { + unblind_and_aggregate( + ¶ms, + &blinded_signatures, + &verification_keys, + &private_attributes, + &public_attributes, + &blind_sign_request.get_commitment_hash(), + &pedersen_commitments_openings, + &aggr_verification_key) + }) + }, + ); + + // CLIENT OPERATION: Randomize credentials and generate any cryptographic material to verify them + let theta = prove_bandwidth_credential( + ¶ms, + &aggr_verification_key, + &aggregated_signature, + serial_number, + binding_number, + ) + .unwrap(); + + // CLIENT BENCHMARK + group.bench_function( + &format!( + "[Client] randomize_and_prove_credential_{}_authorities_{}_attributes_{}_threshold", + case.num_authorities, + case.num_attrs(), + case.threshold_p, + ), + |b| { + b.iter(|| { + prove_bandwidth_credential( + ¶ms, + &aggr_verification_key, + &aggregated_signature, + serial_number, + binding_number, + ) + .unwrap() + }) + }, + ); + + // VERIFIER OPERATION + // Verify credentials + verify_credential(¶ms, &aggr_verification_key, &theta, &public_attributes); + + // VERIFICATION BENCHMARK + group.bench_function( + &format!( + "[Verifier] verify_credentials_{}_authorities_{}_attributes_{}_threshold", + case.num_authorities, + case.num_attrs(), + case.threshold_p, + ), + |b| { + b.iter(|| { + verify_credential(¶ms, &aggr_verification_key, &theta, &public_attributes) + }) + }, + ); +} +criterion_group!(benches, bench_coconut); +criterion_main!(benches); diff --git a/common/nymcoconut/src/elgamal.rs b/common/nymcoconut/src/elgamal.rs index cc5c5e049a..cb7e88ef7b 100644 --- a/common/nymcoconut/src/elgamal.rs +++ b/common/nymcoconut/src/elgamal.rs @@ -13,6 +13,7 @@ use crate::error::{CoconutError, Result}; use crate::scheme::setup::Parameters; use crate::traits::{Base58, Bytable}; use crate::utils::{try_deserialize_g1_projective, try_deserialize_scalar}; +use crate::Attribute; /// Type alias for the ephemeral key generated during ElGamal encryption pub type EphemeralKey = Scalar; @@ -222,6 +223,18 @@ pub fn elgamal_keygen(params: &Parameters) -> ElGamalKeyPair { } } +pub fn compute_attribute_encryption( + params: &Parameters, + private_attributes: &[Attribute], + pub_key: &PublicKey, + commitment_hash: G1Projective, +) -> (Vec, Vec) { + private_attributes + .iter() + .map(|m| pub_key.encrypt(params, &commitment_hash, m)) + .unzip() +} + #[cfg(test)] mod tests { use super::*; diff --git a/common/nymcoconut/src/proofs/mod.rs b/common/nymcoconut/src/proofs/mod.rs index 9b4703ae4f..e5d8aa5798 100644 --- a/common/nymcoconut/src/proofs/mod.rs +++ b/common/nymcoconut/src/proofs/mod.rs @@ -13,12 +13,11 @@ use group::GroupEncoding; use itertools::izip; use sha2::Sha256; -use crate::elgamal::Ciphertext; use crate::error::{CoconutError, Result}; use crate::scheme::setup::Parameters; use crate::scheme::VerificationKey; use crate::utils::{hash_g1, try_deserialize_scalar, try_deserialize_scalar_vec}; -use crate::{elgamal, Attribute, ElGamalKeyPair}; +use crate::Attribute; // as per the reference python implementation type ChallengeDigest = Sha256; @@ -28,8 +27,7 @@ type ChallengeDigest = Sha256; pub struct ProofCmCs { challenge: Scalar, response_opening: Scalar, - response_private_elgamal_key: Scalar, - response_keys: Vec, + response_openings: Vec, response_attributes: Vec, } @@ -88,12 +86,11 @@ impl ProofCmCs { /// using the Fiat-Shamir heuristic. pub(crate) fn construct( params: &Parameters, - elgamal_keypair: &ElGamalKeyPair, - ephemeral_keys: &[elgamal::EphemeralKey], commitment: &G1Projective, commitment_opening: &Scalar, + commitments: &[G1Projective], + pedersen_commitments_openings: &[Scalar], private_attributes: &[Attribute], - priv_attributes_ciphertexts: &[Ciphertext], ) -> Self { // note: this is only called from `prepare_blind_sign` that already checks // whether private attributes are non-empty and whether we don't have too many @@ -101,10 +98,9 @@ impl ProofCmCs { // we also know, due to the single call place, that ephemeral_keys.len() == private_attributes.len() // witness creation - let witness_commitment_opening = params.random_scalar(); - let witness_private_elgamal_key = params.random_scalar(); - let witness_keys = params.n_random_scalars(ephemeral_keys.len()); + let witness_pedersen_commitments_openings = + params.n_random_scalars(pedersen_commitments_openings.len()); let witness_attributes = params.n_random_scalars(private_attributes.len()); // recompute h @@ -118,22 +114,6 @@ impl ProofCmCs { let g1 = params.gen1(); // compute commitments - let commitment_private_key_elgamal = g1 * witness_private_elgamal_key; - - // Aw[i] = (wk[i] * g1) - let commitment_keys1_bytes = witness_keys - .iter() - .map(|wk_i| g1 * wk_i) - .map(|witness| witness.to_bytes()) - .collect::>(); - - // Bw[i] = (wm[i] * h) + (wk[i] * gamma) - let commitment_keys2_bytes = witness_keys - .iter() - .zip(witness_attributes.iter()) - .map(|(wk_i, wm_i)| elgamal_keypair.public_key() * wk_i + h * wm_i) - .map(|witness| witness.to_bytes()) - .collect::>(); // zkp commitment for the attributes commitment cm // Ccm = (wr * g1) + (wm[0] * hs[0]) + ... + (wm[i] * hs[i]) @@ -144,9 +124,21 @@ impl ProofCmCs { .map(|(wm_i, hs_i)| hs_i * wm_i) .sum::(); - let ciphertexts_bytes = priv_attributes_ciphertexts + // zkp commitments for the individual attributes + let commitments_attributes = witness_pedersen_commitments_openings .iter() - .map(|c| c.to_bytes()) + .zip(witness_attributes.iter()) + .map(|(o_j, m_j)| g1 * o_j + h * m_j) + .collect::>(); + + let commitments_bytes = commitments + .iter() + .map(|cm| cm.to_bytes()) + .collect::>(); + + let commitments_attributes_bytes = commitments_attributes + .iter() + .map(|cm| cm.to_bytes()) .collect::>(); // compute challenge @@ -154,28 +146,20 @@ impl ProofCmCs { std::iter::once(params.gen1().to_bytes().as_ref()) .chain(hs_bytes.iter().map(|hs| hs.as_ref())) .chain(std::iter::once(h.to_bytes().as_ref())) - .chain(std::iter::once( - elgamal_keypair.public_key().to_bytes().as_ref(), - )) .chain(std::iter::once(commitment.to_bytes().as_ref())) + .chain(commitments_bytes.iter().map(|cm| cm.as_ref())) .chain(std::iter::once(commitment_attributes.to_bytes().as_ref())) - .chain(std::iter::once( - commitment_private_key_elgamal.to_bytes().as_ref(), - )) - .chain(commitment_keys1_bytes.iter().map(|aw| aw.as_ref())) - .chain(commitment_keys2_bytes.iter().map(|bw| bw.as_ref())) - .chain(ciphertexts_bytes.iter().map(|c| c.as_ref())), + .chain(commitments_attributes_bytes.iter().map(|cm| cm.as_ref())), ); // Responses let response_opening = produce_response(&witness_commitment_opening, &challenge, commitment_opening); - let response_private_elgamal_key = produce_response( - &witness_private_elgamal_key, + let response_openings = produce_responses( + &witness_pedersen_commitments_openings, &challenge, - &elgamal_keypair.private_key().0, + &pedersen_commitments_openings.iter().collect::>(), ); - let response_keys = produce_responses(&witness_keys, &challenge, ephemeral_keys); let response_attributes = produce_responses( &witness_attributes, &challenge, @@ -185,8 +169,7 @@ impl ProofCmCs { ProofCmCs { challenge, response_opening, - response_private_elgamal_key, - response_keys, + response_openings, response_attributes, } } @@ -194,11 +177,11 @@ impl ProofCmCs { pub(crate) fn verify( &self, params: &Parameters, - pub_key: &elgamal::PublicKey, commitment: &G1Projective, - attributes_ciphertexts: &[elgamal::Ciphertext], + commitments: &[G1Projective], + public_attributes: &[Attribute], ) -> bool { - if self.response_keys.len() != attributes_ciphertexts.len() { + if self.response_attributes.len() != commitments.len() { return false; } @@ -213,32 +196,14 @@ impl ProofCmCs { .collect::>(); // recompute witnesses commitments - let commitment_private_key_elgamal = - pub_key * &self.challenge + g1 * self.response_private_elgamal_key; - - // Aw[i] = (c * c1[i]) + (rk[i] * g1) - let commitment_keys1_bytes = attributes_ciphertexts - .iter() - .map(|ciphertext| ciphertext.c1()) - .zip(self.response_keys.iter()) - .map(|(c1, res_k)| c1 * self.challenge + g1 * res_k) - .map(|witness| witness.to_bytes()) - .collect::>(); - - // Bw[i] = (c * c2[i]) + (rk[i] * gamma) + (rm[i] * h) - let commitment_keys2_bytes = izip!( - attributes_ciphertexts - .iter() - .map(|ciphertext| ciphertext.c2()), - self.response_keys.iter(), - self.response_attributes.iter() - ) - .map(|(c2, res_key, res_attr)| c2 * self.challenge + pub_key * res_key + h * res_attr) - .map(|witness| witness.to_bytes()) - .collect::>(); - // Cw = (cm * c) + (rr * g1) + (rm[0] * hs[0]) + ... + (rm[n] * hs[n]) - let commitment_attributes = commitment * self.challenge + let commitment_attributes = (commitment + - public_attributes + .iter() + .zip(params.gen_hs().iter().skip(self.response_attributes.len())) + .map(|(pub_attr, hs)| hs * pub_attr) + .sum::()) + * self.challenge + g1 * self.response_opening + self .response_attributes @@ -247,9 +212,22 @@ impl ProofCmCs { .map(|(res_attr, hs)| hs * res_attr) .sum::(); - let ciphertexts_bytes = attributes_ciphertexts + let commitments_attributes = izip!( + commitments.iter(), + self.response_openings.iter(), + self.response_attributes.iter() + ) + .map(|(cm_j, r_o_j, r_m_j)| cm_j * self.challenge + g1 * r_o_j + h * r_m_j) + .collect::>(); + + let commitments_bytes = commitments .iter() - .map(|c| c.to_bytes()) + .map(|cm| cm.to_bytes()) + .collect::>(); + + let commitments_attributes_bytes = commitments_attributes + .iter() + .map(|cm| cm.to_bytes()) .collect::>(); // re-compute the challenge @@ -257,38 +235,32 @@ impl ProofCmCs { std::iter::once(params.gen1().to_bytes().as_ref()) .chain(hs_bytes.iter().map(|hs| hs.as_ref())) .chain(std::iter::once(h.to_bytes().as_ref())) - .chain(std::iter::once(pub_key.to_bytes().as_ref())) .chain(std::iter::once(commitment.to_bytes().as_ref())) + .chain(commitments_bytes.iter().map(|cm| cm.as_ref())) .chain(std::iter::once(commitment_attributes.to_bytes().as_ref())) - .chain(std::iter::once( - commitment_private_key_elgamal.to_bytes().as_ref(), - )) - .chain(commitment_keys1_bytes.iter().map(|aw| aw.as_ref())) - .chain(commitment_keys2_bytes.iter().map(|bw| bw.as_ref())) - .chain(ciphertexts_bytes.iter().map(|c| c.as_ref())), + .chain(commitments_attributes_bytes.iter().map(|cm| cm.as_ref())), ); challenge == self.challenge } - // challenge || response opening || response private elgamal key || keys len || response keys || attributes len || response attributes + // challenge || response opening || openings len || response openings || attributes len || + // response attributes pub(crate) fn to_bytes(&self) -> Vec { - let keys_len = self.response_keys.len() as u64; + let openings_len = self.response_openings.len() as u64; let attributes_len = self.response_attributes.len() as u64; - let mut bytes = Vec::with_capacity(16 + (keys_len + attributes_len + 3) as usize * 32); + let mut bytes = Vec::with_capacity(16 + (2 + openings_len + attributes_len) as usize * 32); bytes.extend_from_slice(&self.challenge.to_bytes()); bytes.extend_from_slice(&self.response_opening.to_bytes()); - bytes.extend_from_slice(&self.response_private_elgamal_key.to_bytes()); - bytes.extend_from_slice(&keys_len.to_le_bytes()); - for rk in &self.response_keys { - bytes.extend_from_slice(&rk.to_bytes()); + bytes.extend_from_slice(&openings_len.to_le_bytes()); + for ro in &self.response_openings { + bytes.extend_from_slice(&ro.to_bytes()); } bytes.extend_from_slice(&attributes_len.to_le_bytes()); - for rm in &self.response_attributes { bytes.extend_from_slice(&rm.to_bytes()); } @@ -298,11 +270,11 @@ impl ProofCmCs { pub(crate) fn from_bytes(bytes: &[u8]) -> Result { // at the very minimum there must be a single attribute being proven - if bytes.len() < 32 * 5 + 16 || (bytes.len() - 16) % 32 != 0 { - return Err( - CoconutError::Deserialization( - "tried to deserialize proof of ciphertexts and commitment with bytes of invalid length".to_string()) - ); + if bytes.len() < 32 * 4 + 16 || (bytes.len() - 16) % 32 != 0 { + return Err(CoconutError::Deserialization( + "tried to deserialize proof of commitments with bytes of invalid length" + .to_string(), + )); } let mut idx = 0; @@ -310,54 +282,46 @@ impl ProofCmCs { idx += 32; let response_opening_bytes = bytes[idx..idx + 32].try_into().unwrap(); idx += 32; - let response_private_elgamal_key_bytes = bytes[idx..idx + 32].try_into().unwrap(); - idx += 32; let challenge = try_deserialize_scalar( &challenge_bytes, CoconutError::Deserialization("Failed to deserialize challenge".to_string()), )?; + let response_opening = try_deserialize_scalar( &response_opening_bytes, CoconutError::Deserialization( "Failed to deserialize the response to the random".to_string(), ), )?; - let response_private_elgamal_key = try_deserialize_scalar( - &response_private_elgamal_key_bytes, - CoconutError::Deserialization( - "Failed to deserialize the response to the private ElGamal key".to_string(), - ), - )?; - let rk_len = u64::from_le_bytes(bytes[idx..idx + 8].try_into().unwrap()); + let ro_len = u64::from_le_bytes(bytes[idx..idx + 8].try_into().unwrap()); idx += 8; - if bytes[idx..].len() < rk_len as usize * 32 + 8 { + if bytes[idx..].len() < ro_len as usize * 32 + 8 { return Err( CoconutError::Deserialization( "tried to deserialize proof of ciphertexts and commitment with insufficient number of bytes provided".to_string()), ); } - let rk_end = idx + rk_len as usize * 32; - let response_keys = try_deserialize_scalar_vec( - rk_len, - &bytes[idx..rk_end], - CoconutError::Deserialization("Failed to deserialize keys response".to_string()), + let ro_end = idx + ro_len as usize * 32; + let response_openings = try_deserialize_scalar_vec( + ro_len, + &bytes[idx..ro_end], + CoconutError::Deserialization("Failed to deserialize openings response".to_string()), )?; - let rm_len = u64::from_le_bytes(bytes[rk_end..rk_end + 8].try_into().unwrap()); + let rm_len = u64::from_le_bytes(bytes[ro_end..ro_end + 8].try_into().unwrap()); let response_attributes = try_deserialize_scalar_vec( rm_len, - &bytes[rk_end + 8..], + &bytes[ro_end + 8..], CoconutError::Deserialization("Failed to deserialize attributes response".to_string()), )?; Ok(ProofCmCs { challenge, response_opening, - response_private_elgamal_key, - response_keys, + response_openings, response_attributes, }) } @@ -392,7 +356,7 @@ impl ProofKappaZeta { let witness_attributes = vec![witness_serial_number, witness_binding_number]; let beta_bytes = verification_key - .beta + .beta_g2 .iter() .map(|beta_i| beta_i.to_bytes()) .collect::>(); @@ -403,7 +367,7 @@ impl ProofKappaZeta { + verification_key.alpha + witness_attributes .iter() - .zip(verification_key.beta.iter()) + .zip(verification_key.beta_g2.iter()) .map(|(wm_i, beta_i)| beta_i * wm_i) .sum::(); @@ -447,7 +411,7 @@ impl ProofKappaZeta { zeta: &G2Projective, ) -> bool { let beta_bytes = verification_key - .beta + .beta_g2 .iter() .map(|beta_i| beta_i.to_bytes()) .collect::>(); @@ -460,7 +424,7 @@ impl ProofKappaZeta { + verification_key.alpha * (Scalar::one() - self.challenge) + response_attributes .iter() - .zip(verification_key.beta.iter()) + .zip(verification_key.beta_g2.iter()) .map(|(priv_attr, beta_i)| beta_i * priv_attr) .sum::(); @@ -550,7 +514,6 @@ mod tests { use group::Group; use rand::thread_rng; - use crate::scheme::issuance::{compute_attribute_encryption, compute_commitment_hash}; use crate::scheme::keygen::keygen; use crate::scheme::setup::setup; use crate::scheme::verification::{compute_kappa, compute_zeta}; @@ -560,51 +523,32 @@ mod tests { #[test] fn proof_cm_cs_bytes_roundtrip() { let mut rng = thread_rng(); + let mut params = setup(1).unwrap(); - - let elgamal_keypair = elgamal::elgamal_keygen(¶ms); - let private_attributes = params.n_random_scalars(1); - - // we don't care about 'correctness' of the proof. only whether we can correctly recover it from bytes let cm = G1Projective::random(&mut rng); let r = params.random_scalar(); - - let commitment_hash = compute_commitment_hash(cm); - let (attributes_ciphertexts, _): (Vec<_>, Vec<_>) = compute_attribute_encryption( - ¶ms, - private_attributes.as_ref(), - elgamal_keypair.public_key(), - commitment_hash, - ); - let ephemeral_keys = params.n_random_scalars(1); + let cms: [G1Projective; 1] = [G1Projective::random(&mut rng)]; + let rs = params.n_random_scalars(1); + let private_attributes = params.n_random_scalars(1); // 0 public 1 private - let pi_s = ProofCmCs::construct( - &mut params, - &elgamal_keypair, - &ephemeral_keys, - &cm, - &r, - &private_attributes, - &*attributes_ciphertexts, - ); + let pi_s = ProofCmCs::construct(&mut params, &cm, &r, &cms, &rs, &private_attributes); let bytes = pi_s.to_bytes(); assert_eq!(ProofCmCs::from_bytes(&bytes).unwrap(), pi_s); - // 2 private + let mut params = setup(2).unwrap(); + let cm = G1Projective::random(&mut rng); + let r = params.random_scalar(); + let cms: [G1Projective; 2] = [ + G1Projective::random(&mut rng), + G1Projective::random(&mut rng), + ]; + let rs = params.n_random_scalars(2); let private_attributes = params.n_random_scalars(2); - let ephemeral_keys = params.n_random_scalars(2); - let pi_s = ProofCmCs::construct( - &mut params, - &elgamal_keypair, - &ephemeral_keys, - &cm, - &r, - &private_attributes, - &*attributes_ciphertexts, - ); + // 0 public 2 privates + let pi_s = ProofCmCs::construct(&mut params, &cm, &r, &cms, &rs, &private_attributes); let bytes = pi_s.to_bytes(); assert_eq!(ProofCmCs::from_bytes(&bytes).unwrap(), pi_s); @@ -612,9 +556,9 @@ mod tests { #[test] fn proof_kappa_zeta_bytes_roundtrip() { - let mut params = setup(4).unwrap(); + let params = setup(4).unwrap(); - let keypair = keygen(&mut params); + let keypair = keygen(¶ms); // we don't care about 'correctness' of the proof. only whether we can correctly recover it from bytes let serial_number = params.random_scalar(); @@ -627,7 +571,7 @@ mod tests { // 0 public 2 private let pi_v = ProofKappaZeta::construct( - &mut params, + ¶ms, &keypair.verification_key(), &serial_number, &binding_number, @@ -642,11 +586,11 @@ mod tests { assert_eq!(proof_from_bytes, pi_v); // 2 public 2 private - let mut params = setup(4).unwrap(); - let keypair = keygen(&mut params); + let params = setup(4).unwrap(); + let keypair = keygen(¶ms); let pi_v = ProofKappaZeta::construct( - &mut params, + ¶ms, &keypair.verification_key(), &serial_number, &binding_number, diff --git a/common/nymcoconut/src/scheme/aggregation.rs b/common/nymcoconut/src/scheme/aggregation.rs index 930df038d7..499dca4e3f 100644 --- a/common/nymcoconut/src/scheme/aggregation.rs +++ b/common/nymcoconut/src/scheme/aggregation.rs @@ -64,7 +64,8 @@ impl Aggregatable for PartialSignature { /// Ensures all provided verification keys were generated to verify the same number of attributes. fn check_same_key_size(keys: &[VerificationKey]) -> bool { - keys.iter().map(|vk| vk.beta.len()).all_equal() + keys.iter().map(|vk| vk.beta_g1.len()).all_equal() + && keys.iter().map(|vk| vk.beta_g2.len()).all_equal() } pub fn aggregate_verification_keys( @@ -98,7 +99,7 @@ pub fn aggregate_signatures( let tmp = attributes .iter() - .zip(verification_key.beta.iter()) + .zip(verification_key.beta_g2.iter()) .map(|(attr, beta_i)| beta_i * attr) .sum::(); @@ -149,8 +150,8 @@ mod tests { #[test] fn key_aggregation_works_for_any_subset_of_keys() { - let mut params = Parameters::new(2).unwrap(); - let keypairs = ttp_keygen(&mut params, 3, 5).unwrap(); + let params = Parameters::new(2).unwrap(); + let keypairs = ttp_keygen(¶ms, 3, 5).unwrap(); let vks = keypairs .into_iter() @@ -213,7 +214,7 @@ mod tests { let mut params = Parameters::new(2).unwrap(); let attributes = params.n_random_scalars(2); - let keypairs = ttp_keygen(&mut params, 3, 5).unwrap(); + let keypairs = ttp_keygen(¶ms, 3, 5).unwrap(); let (sks, vks): (Vec<_>, Vec<_>) = keypairs .into_iter() @@ -310,9 +311,9 @@ mod tests { #[test] fn signature_aggregation_doesnt_work_for_empty_set_of_signatures() { let signatures: Vec = vec![]; - let mut params = Parameters::new(2).unwrap(); + let params = Parameters::new(2).unwrap(); let attributes = params.n_random_scalars(2); - let keypairs = ttp_keygen(&mut params, 3, 5).unwrap(); + let keypairs = ttp_keygen(¶ms, 3, 5).unwrap(); let (_, vks): (Vec<_>, Vec<_>) = keypairs .into_iter() @@ -328,9 +329,9 @@ mod tests { #[test] fn signature_aggregation_doesnt_work_if_indices_have_invalid_length() { let signatures = vec![random_signature()]; - let mut params = Parameters::new(2).unwrap(); + let params = Parameters::new(2).unwrap(); let attributes = params.n_random_scalars(2); - let keypairs = ttp_keygen(&mut params, 3, 5).unwrap(); + let keypairs = ttp_keygen(¶ms, 3, 5).unwrap(); let (_, vks): (Vec<_>, Vec<_>) = keypairs .into_iter() .map(|keypair| (keypair.secret_key(), keypair.verification_key())) @@ -354,9 +355,9 @@ mod tests { #[test] fn signature_aggregation_doesnt_work_for_non_unique_indices() { let signatures = vec![random_signature(), random_signature()]; - let mut params = Parameters::new(2).unwrap(); + let params = Parameters::new(2).unwrap(); let attributes = params.n_random_scalars(2); - let keypairs = ttp_keygen(&mut params, 3, 5).unwrap(); + let keypairs = ttp_keygen(¶ms, 3, 5).unwrap(); let (_, vks): (Vec<_>, Vec<_>) = keypairs .into_iter() .map(|keypair| (keypair.secret_key(), keypair.verification_key())) diff --git a/common/nymcoconut/src/scheme/issuance.rs b/common/nymcoconut/src/scheme/issuance.rs index df47d421fd..8f043db1af 100644 --- a/common/nymcoconut/src/scheme/issuance.rs +++ b/common/nymcoconut/src/scheme/issuance.rs @@ -7,16 +7,15 @@ use std::convert::TryInto; use bls12_381::{G1Affine, G1Projective, Scalar}; use group::{Curve, GroupEncoding}; -use crate::elgamal::{Ciphertext, EphemeralKey}; use crate::error::{CoconutError, Result}; use crate::proofs::ProofCmCs; use crate::scheme::setup::Parameters; use crate::scheme::BlindedSignature; use crate::scheme::SecretKey; +use crate::Attribute; /// Creates a Coconut Signature under a given secret key on a set of public attributes only. #[cfg(test)] use crate::Signature; -use crate::{elgamal, Attribute, ElGamalKeyPair}; // TODO: possibly completely remove those two functions. // They only exist to have a simpler and smaller code snippets to test // basic functionalities. @@ -33,7 +32,7 @@ pub struct BlindSignRequest { // h commitment_hash: G1Projective, // c - private_attributes_ciphertexts: Vec, + private_attributes_commitments: Vec, // pi_s pi_s: ProofCmCs, } @@ -42,9 +41,9 @@ impl TryFrom<&[u8]> for BlindSignRequest { type Error = CoconutError; fn try_from(bytes: &[u8]) -> Result { - if bytes.len() < 48 + 48 + 8 + 96 { + if bytes.len() < 48 + 48 + 8 + 48 { return Err(CoconutError::DeserializationMinLength { - min: 48 + 48 + 8 + 96, + min: 48 + 48 + 8 + 48, actual: bytes.len(), }); } @@ -73,26 +72,35 @@ impl TryFrom<&[u8]> for BlindSignRequest { let c_len = u64::from_le_bytes(bytes[j..j + 8].try_into().unwrap()); j += 8; - if bytes[j..].len() < c_len as usize * 96 { + if bytes[j..].len() < c_len as usize * 48 { return Err(CoconutError::DeserializationMinLength { - min: c_len as usize * 96, + min: c_len as usize * 48, actual: bytes[56..].len(), }); } - let mut private_attributes_ciphertexts = Vec::with_capacity(c_len as usize); + let mut private_attributes_commitments = Vec::with_capacity(c_len as usize); for i in 0..c_len as usize { - let start = j + i * 96; - let end = start + 96; - private_attributes_ciphertexts.push(Ciphertext::try_from(&bytes[start..end])?) + let start = j + i * 48; + let end = start + 48; + + let private_attributes_commitment_bytes = bytes[start..end].try_into().unwrap(); + let private_attributes_commitment = try_deserialize_g1_projective( + &private_attributes_commitment_bytes, + CoconutError::Deserialization( + "Failed to deserialize compressed commitment".to_string(), + ), + )?; + + private_attributes_commitments.push(private_attributes_commitment) } - let pi_s = ProofCmCs::from_bytes(&bytes[j + c_len as usize * 96..])?; + let pi_s = ProofCmCs::from_bytes(&bytes[j + c_len as usize * 48..])?; Ok(BlindSignRequest { commitment, commitment_hash, - private_attributes_ciphertexts, + private_attributes_commitments, pi_s, }) } @@ -102,16 +110,16 @@ impl Bytable for BlindSignRequest { fn to_byte_vec(&self) -> Vec { let cm_bytes = self.commitment.to_affine().to_compressed(); let cm_hash_bytes = self.commitment_hash.to_affine().to_compressed(); - let c_len = self.private_attributes_ciphertexts.len() as u64; + let c_len = self.private_attributes_commitments.len() as u64; let proof_bytes = self.pi_s.to_bytes(); - let mut bytes = Vec::with_capacity(48 + 48 + 8 + c_len as usize * 96 + proof_bytes.len()); + let mut bytes = Vec::with_capacity(48 + 48 + 8 + c_len as usize * 48 + proof_bytes.len()); bytes.extend_from_slice(&cm_bytes); bytes.extend_from_slice(&cm_hash_bytes); bytes.extend_from_slice(&c_len.to_le_bytes()); - for c in &self.private_attributes_ciphertexts { - bytes.extend_from_slice(&c.to_bytes()); + for c in &self.private_attributes_commitments { + bytes.extend_from_slice(&c.to_affine().to_compressed()); } bytes.extend_from_slice(&proof_bytes); @@ -127,12 +135,12 @@ impl Bytable for BlindSignRequest { impl Base58 for BlindSignRequest {} impl BlindSignRequest { - fn verify_proof(&self, params: &Parameters, pub_key: &elgamal::PublicKey) -> bool { + fn verify_proof(&self, params: &Parameters, public_attributes: &[Attribute]) -> bool { self.pi_s.verify( params, - pub_key, &self.commitment, - &self.private_attributes_ciphertexts, + &self.private_attributes_commitments, + public_attributes, ) } @@ -140,6 +148,10 @@ impl BlindSignRequest { self.commitment_hash } + pub fn get_private_attributes_pedersen_commitments(&self) -> Vec { + self.private_attributes_commitments.clone() + } + pub fn to_bytes(&self) -> Vec { self.to_byte_vec() } @@ -149,17 +161,19 @@ impl BlindSignRequest { } } -pub fn compute_private_attributes_commitment( +pub fn compute_attributes_commitment( params: &Parameters, private_attributes: &[Attribute], + public_attributes: &[Attribute], hs: &[G1Affine], ) -> (Scalar, G1Projective) { let commitment_opening = params.random_scalar(); // Produces h0 ^ m0 * h1^m1 * .... * hn^mn - // where m0, m1, ...., mn are private attributes + // where m0, m1, ...., mn are attributes let attr_cm = private_attributes .iter() + .chain(public_attributes.iter()) .zip(hs) .map(|(&m, h)| h * m) .sum::(); @@ -169,29 +183,34 @@ pub fn compute_private_attributes_commitment( (commitment_opening, commitment) } -pub fn compute_commitment_hash(commitment: G1Projective) -> G1Projective { - hash_g1(commitment.to_bytes()) -} - -pub fn compute_attribute_encryption( +pub fn compute_pedersen_commitments_for_private_attributes( params: &Parameters, private_attributes: &[Attribute], - pub_key: &elgamal::PublicKey, - commitment_hash: G1Projective, -) -> (Vec, Vec) { - private_attributes + h: &G1Projective, +) -> (Vec, Vec) { + // Generate openings for Pedersen commitment for each private attribute + let commitments_openings = params.n_random_scalars(private_attributes.len()); + + // Compute Pedersen commitment for each private attribute + let pedersen_commitments = commitments_openings .iter() - .map(|m| pub_key.encrypt(params, &commitment_hash, m)) - .unzip() + .zip(private_attributes.iter()) + .map(|(o_j, m_j)| params.gen1() * o_j + h * m_j) + .collect::>(); + + (commitments_openings, pedersen_commitments) +} + +pub fn compute_commitment_hash(commitment: G1Projective) -> G1Projective { + hash_g1(commitment.to_bytes()) } /// Builds cryptographic material required for blind sign. pub fn prepare_blind_sign( params: &Parameters, - elgamal_keypair: &ElGamalKeyPair, private_attributes: &[Attribute], public_attributes: &[Attribute], -) -> Result { +) -> Result<(Vec, BlindSignRequest)> { if private_attributes.is_empty() { return Err(CoconutError::Issuance( "Tried to prepare blind sign request for an empty set of private attributes" @@ -208,45 +227,45 @@ pub fn prepare_blind_sign( } let (commitment_opening, commitment) = - compute_private_attributes_commitment(params, private_attributes, hs); + compute_attributes_commitment(params, private_attributes, public_attributes, hs); // Compute the challenge as the commitment hash let commitment_hash = compute_commitment_hash(commitment); - // build ElGamal encryption - let (private_attributes_ciphertexts, ephemeral_keys): (Vec<_>, Vec<_>) = - compute_attribute_encryption( + + let (pedersen_commitments_openings, pedersen_commitments) = + compute_pedersen_commitments_for_private_attributes( params, private_attributes, - elgamal_keypair.public_key(), - commitment_hash, + &commitment_hash, ); let pi_s = ProofCmCs::construct( params, - elgamal_keypair, - &ephemeral_keys, &commitment, &commitment_opening, + &pedersen_commitments, + &pedersen_commitments_openings, private_attributes, - &*private_attributes_ciphertexts, ); - Ok(BlindSignRequest { - commitment, - commitment_hash, - private_attributes_ciphertexts, - pi_s, - }) + Ok(( + pedersen_commitments_openings, + BlindSignRequest { + commitment, + commitment_hash, + private_attributes_commitments: pedersen_commitments, + pi_s, + }, + )) } pub fn blind_sign( params: &Parameters, signing_secret_key: &SecretKey, - prover_pub_key: &elgamal::PublicKey, blind_sign_request: &BlindSignRequest, public_attributes: &[Attribute], ) -> Result { - let num_private = blind_sign_request.private_attributes_ciphertexts.len(); + let num_private = blind_sign_request.private_attributes_commitments.len(); let hs = params.gen_hs(); if num_private + public_attributes.len() > hs.len() { @@ -265,7 +284,7 @@ pub fn blind_sign( } // Verify the ZK proof - if !blind_sign_request.verify_proof(params, prover_pub_key) { + if !blind_sign_request.verify_proof(params, public_attributes) { return Err(CoconutError::Issuance( "Failed to verify the proof of knowledge".to_string(), )); @@ -280,27 +299,17 @@ pub fn blind_sign( .map(|(attr, yi)| attr * yi) .sum::(); - // c1[0] ^ y[0] * ... * c1[m] ^ y[m] - let sig_1 = blind_sign_request - .private_attributes_ciphertexts + // h ^ x + c[0] ^ y[0] + ... c[m] ^ y[m] + h ^ (pub_m[0] * y[m + 1] + ... + pub_m[n] * y[m + n]) + let sig = blind_sign_request + .private_attributes_commitments .iter() - .map(|ciphertext| ciphertext.c1()) .zip(signing_secret_key.ys.iter()) - .map(|(c1, yi)| c1 * yi) - .sum(); - - // h ^ x + c2[0] ^ y[0] + ... c2[m] ^ y[m] + h ^ (pub_m[0] * y[m + 1] + ... + pub_m[n] * y[m + n]) - let sig_2 = blind_sign_request - .private_attributes_ciphertexts - .iter() - .map(|ciphertext| ciphertext.c2()) - .zip(signing_secret_key.ys.iter()) - .map(|(c2, yi)| c2 * yi) + .map(|(c, yi)| c * yi) .chain(std::iter::once(h * signing_secret_key.x)) .chain(std::iter::once(signed_public)) .sum(); - Ok(BlindedSignature(h, elgamal::Ciphertext(sig_1, sig_2))) + Ok(BlindedSignature(h, sig)) } #[cfg(test)] @@ -342,36 +351,27 @@ mod tests { #[test] fn blind_sign_request_bytes_roundtrip() { - let mut params = Parameters::new(1).unwrap(); - let public_attributes = params.n_random_scalars(0); + // 0 public and 1 private attribute + let params = Parameters::new(1).unwrap(); let private_attributes = params.n_random_scalars(1); - let elgamal_keypair = elgamal::elgamal_keygen(¶ms); + let public_attributes = params.n_random_scalars(0); - let lambda = prepare_blind_sign( - &mut params, - &elgamal_keypair, - &private_attributes, - &public_attributes, - ) - .unwrap(); + let (_commitments_openings, lambda) = + prepare_blind_sign(¶ms, &private_attributes, &public_attributes).unwrap(); let bytes = lambda.to_bytes(); - println!("{:?}", bytes.len()); assert_eq!( BlindSignRequest::try_from(bytes.as_slice()).unwrap(), lambda ); - let mut params = Parameters::new(4).unwrap(); - let public_attributes = params.n_random_scalars(2); + // 2 public and 2 private attributes + let params = Parameters::new(4).unwrap(); let private_attributes = params.n_random_scalars(2); - let lambda = prepare_blind_sign( - &mut params, - &elgamal_keypair, - &private_attributes, - &public_attributes, - ) - .unwrap(); + let public_attributes = params.n_random_scalars(2); + + let (_commitments_openings, lambda) = + prepare_blind_sign(¶ms, &private_attributes, &public_attributes).unwrap(); let bytes = lambda.to_bytes(); assert_eq!( diff --git a/common/nymcoconut/src/scheme/keygen.rs b/common/nymcoconut/src/scheme/keygen.rs index 86628d6938..32049f9809 100644 --- a/common/nymcoconut/src/scheme/keygen.rs +++ b/common/nymcoconut/src/scheme/keygen.rs @@ -7,7 +7,7 @@ use core::ops::{Add, Mul}; use std::convert::TryFrom; use std::convert::TryInto; -use bls12_381::{G2Projective, Scalar}; +use bls12_381::{G1Projective, G2Projective, Scalar}; use group::Curve; use serde_derive::{Deserialize, Serialize}; @@ -17,7 +17,8 @@ use crate::scheme::setup::Parameters; use crate::scheme::SignerIndex; use crate::traits::Bytable; use crate::utils::{ - try_deserialize_g2_projective, try_deserialize_scalar, try_deserialize_scalar_vec, Polynomial, + try_deserialize_g1_projective, try_deserialize_g2_projective, try_deserialize_scalar, + try_deserialize_scalar_vec, Polynomial, }; use crate::Base58; @@ -32,6 +33,7 @@ impl TryFrom<&[u8]> for SecretKey { type Error = CoconutError; fn try_from(bytes: &[u8]) -> Result { + // There should be x and at least one y if bytes.len() < 32 * 2 + 8 || (bytes.len() - 8) % 32 != 0 { return Err(CoconutError::DeserializationInvalidLength { actual: bytes.len(), @@ -71,16 +73,18 @@ impl TryFrom<&[u8]> for SecretKey { impl SecretKey { /// Derive verification key using this secret key. pub fn verification_key(&self, params: &Parameters) -> VerificationKey { + let g1 = params.gen1(); let g2 = params.gen2(); VerificationKey { alpha: g2 * self.x, - beta: self.ys.iter().map(|y| g2 * y).collect(), + beta_g1: self.ys.iter().map(|y| g1 * y).collect(), + beta_g2: self.ys.iter().map(|y| g2 * y).collect(), } } // x || ys.len() || ys pub fn to_bytes(&self) -> Vec { - let ys_len = self.ys.len() as u64; + let ys_len = self.ys.len(); let mut bytes = Vec::with_capacity(8 + (ys_len + 1) as usize * 32); bytes.extend_from_slice(&self.x.to_bytes()); @@ -114,33 +118,36 @@ impl Base58 for SecretKey {} pub struct VerificationKey { // TODO add gen2 as per the paper or imply it from the fact library is using bls381? pub(crate) alpha: G2Projective, - pub(crate) beta: Vec, + pub(crate) beta_g1: Vec, + pub(crate) beta_g2: Vec, } impl TryFrom<&[u8]> for VerificationKey { type Error = CoconutError; fn try_from(bytes: &[u8]) -> Result { - if bytes.len() < 96 * 2 + 8 || (bytes.len() - 8) % 96 != 0 { + // There should be at least alpha, one betaG1 and one betaG2 and their length + if bytes.len() < 96 * 2 + 48 + 8 || (bytes.len() - 8 - 96) % (96 + 48) != 0 { return Err(CoconutError::DeserializationInvalidLength { actual: bytes.len(), - modulus_target: bytes.len() - 8, - target: 96 * 2 + 8, - modulus: 96, - object: "secret key".to_string(), + modulus_target: bytes.len() - 8 - 96, + target: 96 * 2 + 48 + 8, + modulus: 96 + 48, + object: "verification key".to_string(), }); } // this conversion will not fail as we are taking the same length of data let alpha_bytes: [u8; 96] = bytes[..96].try_into().unwrap(); - let beta_len = u64::from_le_bytes(bytes[96..104].try_into().unwrap()); - let actual_beta_len = (bytes.len() - 104) / 96; + let betas_len = u64::from_le_bytes(bytes[96..104].try_into().unwrap()); - if beta_len as usize != actual_beta_len { + let actual_betas_len = (bytes.len() - 104) / (96 + 48); + + if betas_len as usize != actual_betas_len { return Err( CoconutError::Deserialization( - format!("Tried to deserialize verification key with inconsistent beta len (expected {}, got {})", - beta_len, actual_beta_len + format!("Tried to deserialize verification key with inconsistent betas len (expected {}, got {})", + betas_len, actual_betas_len ))); } @@ -151,10 +158,27 @@ impl TryFrom<&[u8]> for VerificationKey { ), )?; - let mut beta = Vec::with_capacity(actual_beta_len); - for i in 0..actual_beta_len { - let start = 104 + i * 96; - let end = start + 96; + let mut beta_g1 = Vec::with_capacity(betas_len as usize); + let mut beta_g1_end: u64 = 0; + for i in 0..betas_len { + let start = (104 + i * 48) as usize; + let end = (start + 48) as usize; + let beta_i_bytes = bytes[start..end].try_into().unwrap(); + let beta_i = try_deserialize_g1_projective( + &beta_i_bytes, + CoconutError::Deserialization( + "Failed to deserialize verification key G1 point (beta)".to_string(), + ), + )?; + + beta_g1_end = end as u64; + beta_g1.push(beta_i) + } + + let mut beta_g2 = Vec::with_capacity(betas_len as usize); + for i in 0..betas_len { + let start = (beta_g1_end + i * 96) as usize; + let end = (start + 96) as usize; let beta_i_bytes = bytes[start..end].try_into().unwrap(); let beta_i = try_deserialize_g2_projective( &beta_i_bytes, @@ -163,10 +187,14 @@ impl TryFrom<&[u8]> for VerificationKey { ), )?; - beta.push(beta_i) + beta_g2.push(beta_i) } - Ok(VerificationKey { alpha, beta }) + Ok(VerificationKey { + alpha, + beta_g1, + beta_g2, + }) } } @@ -179,18 +207,42 @@ impl<'b> Add<&'b VerificationKey> for VerificationKey { // for different number of attributes, just panic as it's a // nonsense operation. assert_eq!( - self.beta.len(), - rhs.beta.len(), - "trying to add verification keys generated for different number of attributes" + self.beta_g1.len(), + rhs.beta_g1.len(), + "trying to add verification keys generated for different number of attributes [G1]" + ); + + assert_eq!( + self.beta_g2.len(), + rhs.beta_g2.len(), + "trying to add verification keys generated for different number of attributes [G2]" + ); + + assert_eq!( + self.beta_g1.len(), + self.beta_g2.len(), + "this key is incorrect - the number of elements G1 and G2 does not match" + ); + + assert_eq!( + rhs.beta_g1.len(), + rhs.beta_g2.len(), + "they key you want to add is incorrect - the number of elements G1 and G2 does not match" ); VerificationKey { alpha: self.alpha + rhs.alpha, - beta: self - .beta + beta_g1: self + .beta_g1 .iter() - .zip(rhs.beta.iter()) - .map(|(self_beta, rhs_beta)| self_beta + rhs_beta) + .zip(rhs.beta_g1.iter()) + .map(|(self_beta_g1, rhs_beta_g1)| self_beta_g1 + rhs_beta_g1) + .collect(), + beta_g2: self + .beta_g2 + .iter() + .zip(rhs.beta_g2.iter()) + .map(|(self_beta_g2, rhs_beta_g2)| self_beta_g2 + rhs_beta_g2) .collect(), } } @@ -203,7 +255,8 @@ impl<'a> Mul for &'a VerificationKey { fn mul(self, rhs: Scalar) -> Self::Output { VerificationKey { alpha: self.alpha * rhs, - beta: self.beta.iter().map(|b_i| b_i * rhs).collect(), + beta_g1: self.beta_g1.iter().map(|b_i| b_i * rhs).collect(), + beta_g2: self.beta_g2.iter().map(|b_i| b_i * rhs).collect(), } } } @@ -219,7 +272,7 @@ where { let mut peekable = iter.peekable(); let head_attributes = match peekable.peek() { - Some(head) => head.borrow().beta.len(), + Some(head) => head.borrow().beta_g2.len(), None => { // TODO: this is a really weird edge case. You're trying to sum an EMPTY iterator // of VerificationKey. So should it panic here or just return some nonsense value? @@ -239,7 +292,8 @@ impl VerificationKey { pub(crate) fn identity(beta_size: usize) -> Self { VerificationKey { alpha: G2Projective::identity(), - beta: vec![G2Projective::identity(); beta_size], + beta_g1: vec![G1Projective::identity(); beta_size], + beta_g2: vec![G2Projective::identity(); beta_size], } } @@ -251,19 +305,31 @@ impl VerificationKey { &self.alpha } - pub fn beta(&self) -> &Vec { - &self.beta + pub fn beta_g1(&self) -> &Vec { + &self.beta_g1 + } + + pub fn beta_g2(&self) -> &Vec { + &self.beta_g2 } pub fn to_bytes(&self) -> Vec { - let beta_len = self.beta.len() as u64; - let mut bytes = Vec::with_capacity(8 + (beta_len + 1) as usize * 96); + let beta_g1_len = self.beta_g1.len(); + let beta_g2_len = self.beta_g2.len(); + let mut bytes = Vec::with_capacity(96 + 8 + beta_g1_len * 48 + beta_g2_len * 96); bytes.extend_from_slice(&self.alpha.to_affine().to_compressed()); - bytes.extend_from_slice(&beta_len.to_le_bytes()); - for beta in self.beta.iter() { - bytes.extend_from_slice(&beta.to_affine().to_compressed()) + + bytes.extend_from_slice(&beta_g1_len.to_le_bytes()); + + for beta_g1 in self.beta_g1.iter() { + bytes.extend_from_slice(&beta_g1.to_affine().to_compressed()) } + + for beta_g2 in self.beta_g2.iter() { + bytes.extend_from_slice(&beta_g2.to_affine().to_compressed()) + } + bytes } @@ -488,11 +554,11 @@ mod tests { #[test] fn keypair_bytes_roundtrip() { - let mut params1 = setup(1).unwrap(); - let mut params5 = setup(5).unwrap(); + let params1 = setup(1).unwrap(); + let params5 = setup(5).unwrap(); - let keypair1 = keygen(&mut params1); - let keypair5 = keygen(&mut params5); + let keypair1 = keygen(¶ms1); + let keypair5 = keygen(¶ms5); let bytes1 = keypair1.to_bytes(); let bytes5 = keypair5.to_bytes(); @@ -503,11 +569,11 @@ mod tests { #[test] fn secret_key_bytes_roundtrip() { - let mut params1 = setup(1).unwrap(); - let mut params5 = setup(5).unwrap(); + let params1 = setup(1).unwrap(); + let params5 = setup(5).unwrap(); - let keypair1 = keygen(&mut params1); - let keypair5 = keygen(&mut params5); + let keypair1 = keygen(¶ms1); + let keypair5 = keygen(¶ms5); let bytes1 = keypair1.secret_key.to_bytes(); let bytes5 = keypair5.secret_key.to_bytes(); @@ -518,11 +584,11 @@ mod tests { #[test] fn verification_key_bytes_roundtrip() { - let mut params1 = setup(1).unwrap(); - let mut params5 = setup(5).unwrap(); + let params1 = setup(1).unwrap(); + let params5 = setup(5).unwrap(); - let keypair1 = &keygen(&mut params1); - let keypair5 = &keygen(&mut params5); + let keypair1 = &keygen(¶ms1); + let keypair5 = &keygen(¶ms5); let bytes1: Vec = keypair1.verification_key.to_bytes(); let bytes5: Vec = keypair5.verification_key.to_bytes(); diff --git a/common/nymcoconut/src/scheme/mod.rs b/common/nymcoconut/src/scheme/mod.rs index 3185233543..d5ac15f65f 100644 --- a/common/nymcoconut/src/scheme/mod.rs +++ b/common/nymcoconut/src/scheme/mod.rs @@ -11,13 +11,12 @@ use group::Curve; pub use keygen::{SecretKey, VerificationKey}; -use crate::elgamal::Ciphertext; use crate::error::{CoconutError, Result}; use crate::scheme::setup::Parameters; use crate::scheme::verification::check_bilinear_pairing; use crate::traits::{Base58, Bytable}; use crate::utils::try_deserialize_g1_projective; -use crate::{elgamal, Attribute}; +use crate::Attribute; pub mod aggregation; pub mod issuance; @@ -105,7 +104,7 @@ impl Base58 for Signature {} #[derive(Debug)] #[cfg_attr(test, derive(PartialEq))] -pub struct BlindedSignature(G1Projective, elgamal::Ciphertext); +pub struct BlindedSignature(G1Projective, G1Projective); impl Bytable for BlindedSignature { fn to_byte_vec(&self) -> Vec { @@ -123,22 +122,26 @@ impl TryFrom<&[u8]> for BlindedSignature { type Error = CoconutError; fn try_from(bytes: &[u8]) -> Result { - if bytes.len() != 144 { + if bytes.len() != 96 { return Err(CoconutError::Deserialization(format!( - "BlindedSignature must be exactly 144 bytes, got {}", + "BlindedSignature must be exactly 96 bytes, got {}", bytes.len() ))); } let h_bytes: &[u8; 48] = &bytes[..48].try_into().expect("Slice size != 48"); + let sig_bytes: &[u8; 48] = &bytes[48..].try_into().expect("Slice size != 48"); let h = try_deserialize_g1_projective( h_bytes, CoconutError::Deserialization("Failed to deserialize compressed h".to_string()), )?; - let c_tilde = Ciphertext::try_from(&bytes[48..])?; + let sig = try_deserialize_g1_projective( + sig_bytes, + CoconutError::Deserialization("Failed to deserialize compressed sig".to_string()), + )?; - Ok(BlindedSignature(h, c_tilde)) + Ok(BlindedSignature(h, sig)) } } @@ -146,16 +149,15 @@ impl BlindedSignature { pub fn unblind( &self, params: &Parameters, - private_key: &elgamal::PrivateKey, partial_verification_key: &VerificationKey, private_attributes: &[Attribute], public_attributes: &[Attribute], commitment_hash: &G1Projective, + pedersen_commitments_openings: &[Scalar], ) -> Result { // parse the signature let h = &self.0; let c = &self.1; - let sig2 = private_key.decrypt(c); // Verify the commitment hash if !(commitment_hash == h) { @@ -164,20 +166,29 @@ impl BlindedSignature { )); } + let blinding_removers = partial_verification_key + .beta_g1 + .iter() + .zip(pedersen_commitments_openings.iter()) + .map(|(beta, opening)| beta * opening) + .sum::(); + + let unblinded_c = c - blinding_removers; + let alpha = partial_verification_key.alpha; - let tmp = private_attributes + let signed_attributes = private_attributes .iter() .chain(public_attributes.iter()) - .zip(partial_verification_key.beta.iter()) + .zip(partial_verification_key.beta_g2.iter()) .map(|(attr, beta_i)| beta_i * attr) .sum::(); // Verify the signature share if !check_bilinear_pairing( &h.to_affine(), - &G2Prepared::from((alpha + tmp).to_affine()), - &sig2.to_affine(), + &G2Prepared::from((alpha + signed_attributes).to_affine()), + &unblinded_c.to_affine(), params.prepared_miller_g2(), ) { return Err(CoconutError::Unblind( @@ -185,13 +196,13 @@ impl BlindedSignature { )); } - Ok(Signature(self.0, sig2)) + Ok(Signature(*h, unblinded_c)) } - pub fn to_bytes(&self) -> [u8; 144] { - let mut bytes = [0u8; 144]; + pub fn to_bytes(&self) -> [u8; 96] { + let mut bytes = [0u8; 96]; bytes[..48].copy_from_slice(&self.0.to_affine().to_compressed()); - bytes[48..].copy_from_slice(&self.1.to_bytes()); + bytes[48..].copy_from_slice(&self.1.to_affine().to_compressed()); bytes } @@ -239,124 +250,97 @@ mod tests { #[test] fn unblind_returns_error_if_integrity_check_on_commitment_hash_fails() { - let mut params = Parameters::new(2).unwrap(); + let params = Parameters::new(2).unwrap(); let private_attributes = params.n_random_scalars(2 as usize); - let elgamal_keypair = elgamal::elgamal_keygen(&mut params); - let lambda = - prepare_blind_sign(&mut params, &elgamal_keypair, &private_attributes, &[]).unwrap(); + let (_commitments_openings, lambda) = + prepare_blind_sign(¶ms, &private_attributes, &[]).unwrap(); - let keypair1 = keygen(&mut params); + let keypair1 = keygen(¶ms); - let sig1 = blind_sign( - &mut params, - &keypair1.secret_key(), - elgamal_keypair.public_key(), - &lambda, - &[], - ) - .unwrap(); + let sig1 = blind_sign(¶ms, &keypair1.secret_key(), &lambda, &[]).unwrap(); let wrong_commitment_opening = params.random_scalar(); let wrong_commitment = params.gen1() * wrong_commitment_opening; let fake_commitment_hash = hash_g1(wrong_commitment.to_bytes()); + let wrong_commitments_openings = params.n_random_scalars(private_attributes.len()); + assert!(sig1 .unblind( ¶ms, - elgamal_keypair.private_key(), &keypair1.verification_key(), &private_attributes, &[], &fake_commitment_hash, + &wrong_commitments_openings, ) .is_err()); } #[test] fn unblind_returns_error_if_signature_verification_fails() { - let mut params = Parameters::new(2).unwrap(); + let params = Parameters::new(2).unwrap(); let private_attributes = vec![hash_to_scalar("Attribute1"), hash_to_scalar("Attribute2")]; let private_attributes2 = vec![hash_to_scalar("Attribute3"), hash_to_scalar("Attribute4")]; - let elgamal_keypair = elgamal::elgamal_keygen(&mut params); - let lambda = - prepare_blind_sign(&mut params, &elgamal_keypair, &private_attributes, &[]).unwrap(); + let (commitments_openings, lambda) = + prepare_blind_sign(¶ms, &private_attributes, &[]).unwrap(); - let keypair1 = keygen(&mut params); + let keypair1 = keygen(¶ms); - let sig1 = blind_sign( - &mut params, - &keypair1.secret_key(), - elgamal_keypair.public_key(), - &lambda, - &[], - ) - .unwrap(); + let sig1 = blind_sign(¶ms, &keypair1.secret_key(), &lambda, &[]).unwrap(); assert!(sig1 .unblind( ¶ms, - elgamal_keypair.private_key(), &keypair1.verification_key(), &private_attributes2, &[], &lambda.get_commitment_hash(), + &commitments_openings, ) .is_err()); } #[test] fn verification_on_two_private_attributes() { - let mut params = Parameters::new(2).unwrap(); + let params = Parameters::new(2).unwrap(); let serial_number = params.random_scalar(); let binding_number = params.random_scalar(); let private_attributes = vec![serial_number, binding_number]; - let elgamal_keypair = elgamal::elgamal_keygen(&mut params); - let keypair1 = keygen(&mut params); - let keypair2 = keygen(&mut params); + let keypair1 = keygen(¶ms); + let keypair2 = keygen(¶ms); - let lambda = - prepare_blind_sign(&mut params, &elgamal_keypair, &private_attributes, &[]).unwrap(); + let (commitments_openings, lambda) = + prepare_blind_sign(¶ms, &private_attributes, &[]).unwrap(); - let sig1 = blind_sign( - &mut params, - &keypair1.secret_key(), - elgamal_keypair.public_key(), - &lambda, - &[], - ) - .unwrap() - .unblind( - ¶ms, - elgamal_keypair.private_key(), - &keypair1.verification_key(), - &private_attributes, - &[], - &lambda.get_commitment_hash(), - ) - .unwrap(); + let sig1 = blind_sign(¶ms, &keypair1.secret_key(), &lambda, &[]) + .unwrap() + .unblind( + ¶ms, + &keypair1.verification_key(), + &private_attributes, + &[], + &lambda.get_commitment_hash(), + &commitments_openings, + ) + .unwrap(); - let sig2 = blind_sign( - &mut params, - &keypair2.secret_key(), - elgamal_keypair.public_key(), - &lambda, - &[], - ) - .unwrap() - .unblind( - ¶ms, - elgamal_keypair.private_key(), - &keypair2.verification_key(), - &private_attributes, - &[], - &lambda.get_commitment_hash(), - ) - .unwrap(); + let sig2 = blind_sign(¶ms, &keypair2.secret_key(), &lambda, &[]) + .unwrap() + .unblind( + ¶ms, + &keypair2.verification_key(), + &private_attributes, + &[], + &lambda.get_commitment_hash(), + &commitments_openings, + ) + .unwrap(); let theta1 = prove_bandwidth_credential( - &mut params, + ¶ms, &keypair1.verification_key(), &sig1, serial_number, @@ -365,7 +349,7 @@ mod tests { .unwrap(); let theta2 = prove_bandwidth_credential( - &mut params, + ¶ms, &keypair2.verification_key(), &sig2, serial_number, @@ -400,8 +384,8 @@ mod tests { let mut params = Parameters::new(2).unwrap(); let attributes = params.n_random_scalars(2); - let keypair1 = keygen(&mut params); - let keypair2 = keygen(&mut params); + let keypair1 = keygen(¶ms); + let keypair2 = keygen(¶ms); let sig1 = sign(&mut params, &keypair1.secret_key(), &attributes).unwrap(); let sig2 = sign(&mut params, &keypair2.secret_key(), &attributes).unwrap(); @@ -429,62 +413,44 @@ mod tests { #[test] fn verification_on_two_public_and_two_private_attributes() { - let mut params = Parameters::new(4).unwrap(); + let params = Parameters::new(4).unwrap(); let public_attributes = params.n_random_scalars(2); let serial_number = params.random_scalar(); let binding_number = params.random_scalar(); let private_attributes = vec![serial_number, binding_number]; - let elgamal_keypair = elgamal::elgamal_keygen(&mut params); - let keypair1 = keygen(&mut params); - let keypair2 = keygen(&mut params); + let keypair1 = keygen(¶ms); + let keypair2 = keygen(¶ms); - let lambda = prepare_blind_sign( - &mut params, - &elgamal_keypair, - &private_attributes, - &public_attributes, - ) - .unwrap(); + let (commitments_openings, lambda) = + prepare_blind_sign(¶ms, &private_attributes, &public_attributes).unwrap(); - let sig1 = blind_sign( - &mut params, - &keypair1.secret_key(), - elgamal_keypair.public_key(), - &lambda, - &public_attributes, - ) - .unwrap() - .unblind( - ¶ms, - elgamal_keypair.private_key(), - &keypair1.verification_key(), - &private_attributes, - &public_attributes, - &lambda.get_commitment_hash(), - ) - .unwrap(); + let sig1 = blind_sign(¶ms, &keypair1.secret_key(), &lambda, &public_attributes) + .unwrap() + .unblind( + ¶ms, + &keypair1.verification_key(), + &private_attributes, + &public_attributes, + &lambda.get_commitment_hash(), + &commitments_openings, + ) + .unwrap(); - let sig2 = blind_sign( - &mut params, - &keypair2.secret_key(), - elgamal_keypair.public_key(), - &lambda, - &public_attributes, - ) - .unwrap() - .unblind( - ¶ms, - elgamal_keypair.private_key(), - &keypair2.verification_key(), - &private_attributes, - &public_attributes, - &lambda.get_commitment_hash(), - ) - .unwrap(); + let sig2 = blind_sign(¶ms, &keypair2.secret_key(), &lambda, &public_attributes) + .unwrap() + .unblind( + ¶ms, + &keypair2.verification_key(), + &private_attributes, + &public_attributes, + &lambda.get_commitment_hash(), + &commitments_openings, + ) + .unwrap(); let theta1 = prove_bandwidth_credential( - &mut params, + ¶ms, &keypair1.verification_key(), &sig1, serial_number, @@ -493,7 +459,7 @@ mod tests { .unwrap(); let theta2 = prove_bandwidth_credential( - &mut params, + ¶ms, &keypair2.verification_key(), &sig2, serial_number, @@ -525,43 +491,31 @@ mod tests { #[test] fn verification_on_two_public_and_two_private_attributes_from_two_signers() { - let mut params = Parameters::new(4).unwrap(); + let params = Parameters::new(4).unwrap(); let public_attributes = params.n_random_scalars(2); let serial_number = params.random_scalar(); let binding_number = params.random_scalar(); let private_attributes = vec![serial_number, binding_number]; - let elgamal_keypair = elgamal::elgamal_keygen(¶ms); - let keypairs = ttp_keygen(&mut params, 2, 3).unwrap(); + let keypairs = ttp_keygen(¶ms, 2, 3).unwrap(); - let lambda = prepare_blind_sign( - &mut params, - &elgamal_keypair, - &private_attributes, - &public_attributes, - ) - .unwrap(); + let (commitments_openings, lambda) = + prepare_blind_sign(¶ms, &private_attributes, &public_attributes).unwrap(); let sigs = keypairs .iter() .map(|keypair| { - blind_sign( - &mut params, - &keypair.secret_key(), - elgamal_keypair.public_key(), - &lambda, - &public_attributes, - ) - .unwrap() - .unblind( - ¶ms, - elgamal_keypair.private_key(), - &keypair.verification_key(), - &private_attributes, - &public_attributes, - &lambda.get_commitment_hash(), - ) - .unwrap() + blind_sign(¶ms, &keypair.secret_key(), &lambda, &public_attributes) + .unwrap() + .unblind( + ¶ms, + &keypair.verification_key(), + &private_attributes, + &public_attributes, + &lambda.get_commitment_hash(), + &commitments_openings, + ) + .unwrap() }) .collect::>(); @@ -579,14 +533,9 @@ mod tests { aggregate_signatures(¶ms, &aggr_vk, &attributes, &sigs[..2], Some(&[1, 2])) .unwrap(); - let theta = prove_bandwidth_credential( - &mut params, - &aggr_vk, - &aggr_sig, - serial_number, - binding_number, - ) - .unwrap(); + let theta = + prove_bandwidth_credential(¶ms, &aggr_vk, &aggr_sig, serial_number, binding_number) + .unwrap(); assert!(verify_credential( ¶ms, @@ -601,14 +550,9 @@ mod tests { aggregate_signatures(¶ms, &aggr_vk, &attributes, &sigs[1..], Some(&[2, 3])) .unwrap(); - let theta = prove_bandwidth_credential( - &mut params, - &aggr_vk, - &aggr_sig, - serial_number, - binding_number, - ) - .unwrap(); + let theta = + prove_bandwidth_credential(¶ms, &aggr_vk, &aggr_sig, serial_number, binding_number) + .unwrap(); assert!(verify_credential( ¶ms, @@ -641,18 +585,13 @@ mod tests { let params = Parameters::default(); let r = params.random_scalar(); let s = params.random_scalar(); - let t = params.random_scalar(); - let blinded_sig = BlindedSignature( - params.gen1() * t, - Ciphertext(params.gen1() * r, params.gen1() * s), - ); + let blinded_sig = BlindedSignature(params.gen1() * r, params.gen1() * s); let bytes = blinded_sig.to_bytes(); // also make sure it is equivalent to the internal g1 compressed bytes concatenated let expected_bytes = [ blinded_sig.0.to_affine().to_compressed(), - blinded_sig.1 .0.to_affine().to_compressed(), - blinded_sig.1 .1.to_affine().to_compressed(), + blinded_sig.1.to_affine().to_compressed(), ] .concat(); assert_eq!(expected_bytes, bytes); diff --git a/common/nymcoconut/src/scheme/verification.rs b/common/nymcoconut/src/scheme/verification.rs index 843f827f0f..c2ccd2da12 100644 --- a/common/nymcoconut/src/scheme/verification.rs +++ b/common/nymcoconut/src/scheme/verification.rs @@ -124,7 +124,7 @@ pub fn compute_kappa( + verification_key.alpha + private_attributes .iter() - .zip(verification_key.beta.iter()) + .zip(verification_key.beta_g2.iter()) .map(|(priv_attr, beta_i)| beta_i * priv_attr) .sum::() } @@ -140,11 +140,11 @@ pub fn prove_bandwidth_credential( serial_number: Attribute, binding_number: Attribute, ) -> Result { - if verification_key.beta.len() < 2 { + if verification_key.beta_g2.len() < 2 { return Err( CoconutError::Verification( format!("Tried to prove a credential for higher than supported by the provided verification key number of attributes (max: {}, requested: 2)", - verification_key.beta.len() + verification_key.beta_g2.len() ))); } @@ -205,7 +205,9 @@ pub fn verify_credential( theta: &Theta, public_attributes: &[Attribute], ) -> bool { - if public_attributes.len() + theta.pi_v.private_attributes_len() > verification_key.beta.len() { + if public_attributes.len() + theta.pi_v.private_attributes_len() + > verification_key.beta_g2.len() + { return false; } @@ -220,7 +222,7 @@ pub fn verify_credential( .iter() .zip( verification_key - .beta + .beta_g2 .iter() .skip(theta.pi_v.private_attributes_len()), ) @@ -249,7 +251,7 @@ pub fn verify( let kappa = (verification_key.alpha + public_attributes .iter() - .zip(verification_key.beta.iter()) + .zip(verification_key.beta_g2.iter()) .map(|(m_i, b_i)| b_i * m_i) .sum::()) .to_affine(); @@ -271,9 +273,9 @@ mod tests { #[test] fn theta_bytes_roundtrip() { - let mut params = setup(2).unwrap(); + let params = setup(2).unwrap(); - let keypair = keygen(&mut params); + let keypair = keygen(¶ms); let r = params.random_scalar(); let s = params.random_scalar(); @@ -282,7 +284,7 @@ mod tests { let binding_number = params.random_scalar(); let theta = prove_bandwidth_credential( - &mut params, + ¶ms, &keypair.verification_key(), &signature, serial_number, diff --git a/common/nymcoconut/src/tests/e2e.rs b/common/nymcoconut/src/tests/e2e.rs index a302985fa2..bbb8e77ba0 100644 --- a/common/nymcoconut/src/tests/e2e.rs +++ b/common/nymcoconut/src/tests/e2e.rs @@ -1,9 +1,11 @@ use crate::{ - aggregate_signature_shares, aggregate_verification_keys, blind_sign, elgamal_keygen, - prepare_blind_sign, prove_bandwidth_credential, setup, ttp_keygen, verify_credential, - CoconutError, Signature, SignatureShare, VerificationKey, + aggregate_signature_shares, aggregate_verification_keys, blind_sign, prepare_blind_sign, + prove_bandwidth_credential, setup, ttp_keygen, verify_credential, CoconutError, Signature, + SignatureShare, VerificationKey, }; +use itertools::izip; + #[test] fn main() -> Result<(), CoconutError> { let params = setup(5)?; @@ -13,15 +15,9 @@ fn main() -> Result<(), CoconutError> { let binding_number = params.random_scalar(); let private_attributes = vec![serial_number, binding_number]; - let elgamal_keypair = elgamal_keygen(¶ms); - - // generate commitment and encryption - let blind_sign_request = prepare_blind_sign( - ¶ms, - &elgamal_keypair, - &private_attributes, - &public_attributes, - )?; + // generate commitment + let (commitments_openings, blind_sign_request) = + prepare_blind_sign(¶ms, &private_attributes, &public_attributes)?; // generate_keys let coconut_keypairs = ttp_keygen(¶ms, 2, 3)?; @@ -41,7 +37,6 @@ fn main() -> Result<(), CoconutError> { let blinded_signature = blind_sign( ¶ms, &keypair.secret_key(), - &elgamal_keypair.public_key(), &blind_sign_request, &public_attributes, )?; @@ -49,26 +44,22 @@ fn main() -> Result<(), CoconutError> { } // Unblind - - let unblinded_signatures: Vec = blinded_signatures - .into_iter() - .zip(verification_keys.iter()) - .map(|(signature, verification_key)| { - signature - .unblind( + let unblinded_signatures: Vec = + izip!(blinded_signatures.iter(), verification_keys.iter()) + .map(|(s, vk)| { + s.unblind( ¶ms, - &elgamal_keypair.private_key(), - &verification_key, + &vk, &private_attributes, &public_attributes, &blind_sign_request.get_commitment_hash(), + &commitments_openings, ) .unwrap() - }) - .collect(); + }) + .collect(); // Aggregate signatures - let signature_shares: Vec = unblinded_signatures .iter() .enumerate() @@ -84,7 +75,6 @@ fn main() -> Result<(), CoconutError> { aggregate_signature_shares(¶ms, &verification_key, &attributes, &signature_shares)?; // Generate cryptographic material to verify them - let theta = prove_bandwidth_credential( ¶ms, &verification_key, @@ -94,7 +84,6 @@ fn main() -> Result<(), CoconutError> { )?; // Verify credentials - assert!(verify_credential( ¶ms, &verification_key, diff --git a/common/nymsphinx/chunking/src/fragment.rs b/common/nymsphinx/chunking/src/fragment.rs index 69a5042af6..58c1baa78a 100644 --- a/common/nymsphinx/chunking/src/fragment.rs +++ b/common/nymsphinx/chunking/src/fragment.rs @@ -923,7 +923,7 @@ mod fragment_header { let header_bytes = fragmented_header.to_bytes(); let header_bytes = &header_bytes[..header_bytes.len() - 1]; - assert!(FragmentHeader::try_from_bytes(&header_bytes).is_err()) + assert!(FragmentHeader::try_from_bytes(header_bytes).is_err()) } #[test] diff --git a/common/nymsphinx/chunking/src/reconstruction.rs b/common/nymsphinx/chunking/src/reconstruction.rs index 9901cfa055..ecd7c6fb85 100644 --- a/common/nymsphinx/chunking/src/reconstruction.rs +++ b/common/nymsphinx/chunking/src/reconstruction.rs @@ -446,7 +446,7 @@ mod reconstruction_buffer { .collect(); for raw_fragment in raw_fragments.iter().take(u8::max_value() as usize - 1) { - buf.insert_fragment(Fragment::try_from_bytes(&raw_fragment).unwrap()); + buf.insert_fragment(Fragment::try_from_bytes(raw_fragment).unwrap()); } assert!(!buf.is_complete); @@ -1268,7 +1268,7 @@ mod message_reconstructor { .collect(); for raw_fragment in raw_fragments.iter().take(u8::max_value() as usize) { - set_buf1.insert_fragment(Fragment::try_from_bytes(&raw_fragment).unwrap()); + set_buf1.insert_fragment(Fragment::try_from_bytes(raw_fragment).unwrap()); } set_buf2.insert_fragment(Fragment::try_from_bytes(&raw_fragments[255]).unwrap()); diff --git a/common/nymsphinx/cover/src/lib.rs b/common/nymsphinx/cover/src/lib.rs index 6b78559ac3..3a545dbaa0 100644 --- a/common/nymsphinx/cover/src/lib.rs +++ b/common/nymsphinx/cover/src/lib.rs @@ -162,7 +162,7 @@ mod tests { #[test] fn is_cover_works_for_identical_input() { - assert!(is_cover(&LOOP_COVER_MESSAGE_PAYLOAD)) + assert!(is_cover(LOOP_COVER_MESSAGE_PAYLOAD)) } #[test] diff --git a/common/socks5/proxy-helpers/src/available_reader.rs b/common/socks5/proxy-helpers/src/available_reader.rs index a897360ebe..70d968f968 100644 --- a/common/socks5/proxy-helpers/src/available_reader.rs +++ b/common/socks5/proxy-helpers/src/available_reader.rs @@ -123,7 +123,7 @@ mod tests { let read_data = available_reader.next().await.unwrap().unwrap(); assert_eq!(read_data, data); - assert!(available_reader.next().await.is_none()) + assert!(available_reader.next().await.is_none()); } #[tokio::test] @@ -135,7 +135,7 @@ mod tests { let read_data = available_reader.next().await.unwrap().unwrap(); assert_eq!(read_data, data); - assert!(available_reader.next().await.is_none()) + assert!(available_reader.next().await.is_none()); } #[tokio::test] @@ -157,7 +157,7 @@ mod tests { // before dropping the mock, we need to empty it let mut buf = vec![0u8; second_data_chunk.len()]; - reader_mock.read(&mut buf).await.unwrap(); + assert_eq!(reader_mock.read(&mut buf).await.unwrap(), 100); } #[tokio::test] @@ -173,7 +173,7 @@ mod tests { let read_data = available_reader.next().await.unwrap().unwrap(); assert_eq!(read_data, data); - assert!(available_reader.next().await.is_none()) + assert!(available_reader.next().await.is_none()); } // perhaps the issue of tokio io builder will be resolved in tokio 0.3? diff --git a/contracts/Cargo.lock b/contracts/Cargo.lock index 789870574e..cdf52b9419 100644 --- a/contracts/Cargo.lock +++ b/contracts/Cargo.lock @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "cosmwasm-crypto" -version = "1.0.0-beta4" +version = "1.0.0-beta5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f903ebbabc0d4880dbc76148efb8be8fc29fa4bf294c440c3d70da1c8bcafff7" +checksum = "8904127a5b9e325ef5d6b2b3f997dcd74943cd35097139b1a4d15b1b6bccae66" dependencies = [ "digest 0.9.0", "ed25519-zebra", @@ -231,9 +231,9 @@ dependencies = [ [[package]] name = "cosmwasm-derive" -version = "1.0.0-beta4" +version = "1.0.0-beta5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "832bebef577ecb394603de8e2bf0de429b74aa364e17dec18e15ce37e71b0cae" +checksum = "a14364ac4d9d085867929d0cf3e94b1d2100121ce02c33c72961406830002613" dependencies = [ "syn", ] @@ -250,9 +250,9 @@ dependencies = [ [[package]] name = "cosmwasm-std" -version = "1.0.0-beta4" +version = "1.0.0-beta5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6238c45840cc9de5a39f0f619e3a4f7c38c5d2c6ac9e3e4d72751ee045e6d7da" +checksum = "e2ece12e5bbde434b93937d7b2107e6291f11d69ffa72398c50e8bab41d451d3" dependencies = [ "base64", "cosmwasm-crypto", @@ -368,6 +368,17 @@ dependencies = [ "serde", ] +[[package]] +name = "cw-storage-plus" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c087ff98fb0475db4c2b5298a5fd12b2848d2854b39d1115d930ee6da24d1eed" +dependencies = [ + "cosmwasm-std", + "schemars", + "serde", +] + [[package]] name = "der" version = "0.4.5" @@ -804,13 +815,14 @@ checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" name = "mixnet-contract" version = "0.1.0" dependencies = [ + "az", "bs58", "config", "cosmwasm-schema", "cosmwasm-std", "cosmwasm-storage", "crypto", - "cw-storage-plus", + "cw-storage-plus 0.12.1", "fixed", "mixnet-contract-common", "rand", @@ -1512,7 +1524,7 @@ version = "0.1.0" dependencies = [ "config", "cosmwasm-std", - "cw-storage-plus", + "cw-storage-plus 0.12.1", "mixnet-contract-common", "schemars", "serde", @@ -1526,7 +1538,7 @@ version = "0.1.0" dependencies = [ "config", "cosmwasm-std", - "cw-storage-plus", + "cw-storage-plus 0.11.1", "mixnet-contract-common", "schemars", "serde", diff --git a/contracts/mixnet/Cargo.toml b/contracts/mixnet/Cargo.toml index 0743fc0a76..11f9c3a83b 100644 --- a/contracts/mixnet/Cargo.toml +++ b/contracts/mixnet/Cargo.toml @@ -22,8 +22,9 @@ config = { path = "../../common/config"} cosmwasm-std = "1.0.0-beta3" cosmwasm-storage = "1.0.0-beta3" -cw-storage-plus = "0.11.1" +cw-storage-plus = "0.12.1" +az = "1.2.0" bs58 = "0.4.0" schemars = "0.8" serde = { version = "1.0.103", default-features = false, features = ["derive"] } diff --git a/contracts/mixnet/src/constants.rs b/contracts/mixnet/src/constants.rs index 14a850e4dd..7d80b80c22 100644 --- a/contracts/mixnet/src/constants.rs +++ b/contracts/mixnet/src/constants.rs @@ -16,5 +16,6 @@ pub const ACTIVE_SET_WORK_FACTOR: u8 = 10; // and we can't change this easily to `Duration`, because then the entire rewarded set storage // would be messed up... (as we look up stuff "by blocks") pub const REWARDED_SET_REFRESH_BLOCKS: u64 = 720; // with blocktime being approximately 5s, it should be roughly 1h +pub const EPOCHS_IN_INTERVAL: u64 = 720; // Hours in a month pub const REWARDING_INTERVAL_LENGTH: Duration = Duration::from_secs(60 * 60 * 720); // 720h, i.e. 30 days diff --git a/contracts/mixnet/src/contract.rs b/contracts/mixnet/src/contract.rs index b242caf09a..9aa088b39e 100644 --- a/contracts/mixnet/src/contract.rs +++ b/contracts/mixnet/src/contract.rs @@ -86,7 +86,7 @@ pub fn instantiate( mixnet_params_storage::CONTRACT_STATE.save(deps.storage, &state)?; mixnet_params_storage::LAYERS.save(deps.storage, &Default::default())?; rewards_storage::REWARD_POOL.save(deps.storage, &Uint128::new(INITIAL_REWARD_POOL))?; - interval_storage::CURRENT_INTERVAL.save(deps.storage, &rewarding_interval)?; + interval_storage::save_interval(deps.storage, &rewarding_interval)?; interval_storage::CURRENT_REWARDED_SET_HEIGHT.save(deps.storage, &env.block.height)?; Ok(Response::default()) @@ -112,7 +112,7 @@ pub fn execute( owner_signature, ), ExecuteMsg::UnbondMixnode {} => { - crate::mixnodes::transactions::try_remove_mixnode(deps, info) + crate::mixnodes::transactions::try_remove_mixnode(env, deps, info) } ExecuteMsg::UpdateMixnodeConfig { profit_margin_percent, @@ -168,19 +168,20 @@ pub fn execute( ExecuteMsg::UndelegateFromMixnode { mix_identity } => { crate::delegations::transactions::try_remove_delegation_from_mixnode( deps, + env, info, mix_identity, ) } - ExecuteMsg::RewardNextMixDelegators { - mix_identity, - interval_id, - } => crate::rewards::transactions::try_reward_next_mixnode_delegators( - deps, - info, - mix_identity, - interval_id, - ), + // ExecuteMsg::RewardNextMixDelegators { + // mix_identity, + // interval_id, + // } => crate::rewards::transactions::try_reward_next_mixnode_delegators( + // deps, + // info, + // mix_identity, + // interval_id, + // ), ExecuteMsg::DelegateToMixnodeOnBehalf { mix_identity, delegate, @@ -196,6 +197,7 @@ pub fn execute( delegate, } => crate::delegations::transactions::try_remove_delegation_from_mixnode_on_behalf( deps, + env, info, mix_identity, delegate, @@ -213,7 +215,7 @@ pub fn execute( owner_signature, ), ExecuteMsg::UnbondMixnodeOnBehalf { owner } => { - crate::mixnodes::transactions::try_remove_mixnode_on_behalf(deps, info, owner) + crate::mixnodes::transactions::try_remove_mixnode_on_behalf(env, deps, info, owner) } ExecuteMsg::BondGatewayOnBehalf { gateway, @@ -243,6 +245,45 @@ pub fn execute( ExecuteMsg::AdvanceCurrentInterval {} => { crate::interval::transactions::try_advance_interval(env, deps.storage) } + ExecuteMsg::AdvanceCurrentEpoch {} => { + crate::interval::transactions::try_advance_epoch(env, deps.storage) + } + ExecuteMsg::CompoundDelegatorReward { mix_identity } => { + crate::rewards::transactions::try_compound_delegator_reward( + deps, + env, + info, + mix_identity, + ) + } + ExecuteMsg::CompoundOperatorReward {} => { + crate::rewards::transactions::try_compound_operator_reward(deps, env, info) + } + ExecuteMsg::CompoundDelegatorRewardOnBehalf { + owner, + mix_identity, + } => crate::rewards::transactions::try_compound_delegator_reward_on_behalf( + deps, + env, + info, + owner, + mix_identity, + ), + ExecuteMsg::CompoundOperatorRewardOnBehalf { owner } => { + crate::rewards::transactions::try_compound_operator_reward_on_behalf( + deps, env, info, owner, + ) + } + ExecuteMsg::ReconcileDelegations {} => { + crate::delegations::transactions::try_reconcile_all_delegation_events(deps, info) + } + ExecuteMsg::CheckpointMixnodes {} => { + crate::mixnodes::transactions::try_checkpoint_mixnodes( + deps.storage, + env.block.height, + info, + ) + } } } @@ -288,7 +329,12 @@ pub fn query(deps: Deps<'_>, env: Env, msg: QueryMsg) -> Result to_binary(&query_mixnode_delegation(deps, mix_identity, delegator)?), + } => to_binary(&query_mixnode_delegation( + deps.storage, + deps.api, + mix_identity, + delegator, + )?), QueryMsg::GetRewardPool {} => to_binary(&query_reward_pool(deps)?), QueryMsg::GetCirculatingSupply {} => to_binary(&query_circulating_supply(deps)?), QueryMsg::GetIntervalRewardPercent {} => to_binary(&INTERVAL_REWARD_PERCENT), @@ -321,6 +367,7 @@ pub fn query(deps: Deps<'_>, env: Env, msg: QueryMsg) -> Result { to_binary(&query_rewarded_set_refresh_minimum_blocks()) } + QueryMsg::GetEpochsInInterval {} => to_binary(&crate::constants::EPOCHS_IN_INTERVAL), }; Ok(query_res?) diff --git a/contracts/mixnet/src/delegations/queries.rs b/contracts/mixnet/src/delegations/queries.rs index 45656a90a1..5eb3b31e55 100644 --- a/contracts/mixnet/src/delegations/queries.rs +++ b/contracts/mixnet/src/delegations/queries.rs @@ -3,9 +3,9 @@ use super::storage; use crate::error::ContractError; -use cosmwasm_std::Deps; use cosmwasm_std::Order; use cosmwasm_std::StdResult; +use cosmwasm_std::{Api, Deps, Storage}; use cw_storage_plus::{Bound, PrimaryKey}; use mixnet_contract_common::{ Delegation, IdentityKey, PagedAllDelegationsResponse, PagedDelegatorDelegationsResponse, @@ -14,16 +14,14 @@ use mixnet_contract_common::{ pub(crate) fn query_all_network_delegations_paged( deps: Deps<'_>, - start_after: Option<(IdentityKey, String)>, + start_after: Option<(IdentityKey, Vec, u64)>, limit: Option, ) -> StdResult { let limit = limit .unwrap_or(storage::DELEGATION_PAGE_DEFAULT_LIMIT) .min(storage::DELEGATION_PAGE_MAX_LIMIT) as usize; - let start = start_after - .map(|start| start.joined_key()) - .map(Bound::exclusive); + let start = start_after.map(Bound::exclusive); let delegations = storage::delegations() .range(deps.storage, start, None, Order::Ascending) @@ -52,8 +50,9 @@ pub(crate) fn query_delegator_delegations_paged( let limit = limit .unwrap_or(storage::DELEGATION_PAGE_DEFAULT_LIMIT) .min(storage::DELEGATION_PAGE_MAX_LIMIT) as usize; - let start = start_after - .map(|mix_identity| Bound::Exclusive((mix_identity, validated_owner.clone()).joined_key())); + let start = start_after.map(|mix_identity| { + Bound::ExclusiveRaw((mix_identity, validated_owner.clone()).joined_key()) + }); let delegations = storage::delegations() .idx @@ -76,35 +75,47 @@ pub(crate) fn query_delegator_delegations_paged( // queries for delegation value of given address for particular node pub(crate) fn query_mixnode_delegation( - deps: Deps<'_>, + storage: &dyn Storage, + api: &dyn Api, mix_identity: IdentityKey, delegator: String, -) -> Result { - let validated_delegator = deps.api.addr_validate(&delegator)?; - let storage_key = (mix_identity.clone(), validated_delegator.clone()).joined_key(); +) -> Result, ContractError> { + let validated_delegator = api.addr_validate(&delegator)?; + let storage_key = ( + mix_identity.clone(), + validated_delegator.as_bytes().to_vec(), + ); - storage::delegations() - .may_load(deps.storage, storage_key)? - .ok_or(ContractError::NoMixnodeDelegationFound { + let delegations = storage::delegations() + .prefix(storage_key) + .range(storage, None, None, Order::Ascending) + .filter_map(|d| d.ok()) + .map(|r| r.1) + .collect::>(); + + if delegations.is_empty() { + Err(ContractError::NoMixnodeDelegationFound { identity: mix_identity, - address: validated_delegator, + address: delegator, }) + } else { + Ok(delegations) + } } pub(crate) fn query_mixnode_delegations_paged( deps: Deps<'_>, mix_identity: IdentityKey, - start_after: Option, + start_after: Option<(String, u64)>, limit: Option, ) -> StdResult { let limit = limit .unwrap_or(storage::DELEGATION_PAGE_DEFAULT_LIMIT) .min(storage::DELEGATION_PAGE_MAX_LIMIT) as usize; - let start = start_after - .map(|addr| deps.api.addr_validate(&addr)) - .transpose()? - .map(|addr| Bound::Exclusive((mix_identity.clone(), addr).joined_key())); + let start = start_after.map(|(addr, height)| { + Bound::ExclusiveRaw((mix_identity.clone(), addr.as_bytes(), height).joined_key()) + }); let delegations = storage::delegations() .idx @@ -115,7 +126,9 @@ pub(crate) fn query_mixnode_delegations_paged( .map(|record| record.map(|r| r.1)) .collect::>>()?; - let start_next_after = delegations.last().map(|delegation| delegation.owner()); + let start_next_after = delegations + .last() + .map(|delegation| (delegation.owner(), delegation.block_height())); Ok(PagedMixDelegationsResponse::new( delegations, @@ -245,25 +258,26 @@ pub(crate) mod tests { Option::from(per_page), ) .unwrap(); + // println!("{:?}", page1); + let start_after = page1.start_next_after.unwrap(); assert_eq!(2, page1.delegations.len()); - assert_eq!("200".to_string(), page1.start_next_after.unwrap()); + assert_eq!(("200".to_string(), 12345), start_after); // retrieving the next page should start after the last key on this page - let start_after = "200".to_string(); + let page2 = query_mixnode_delegations_paged( deps.as_ref(), node_identity.clone(), - Option::from(start_after), + Option::from(start_after.clone()), Option::from(per_page), ) .unwrap(); - + // println!("{:?}", page2); assert_eq!(1, page2.delegations.len()); // save another one test_helpers::save_dummy_delegation(&mut deps.storage, &node_identity, "400"); - let start_after = "200".to_string(); let page2 = query_mixnode_delegations_paged( deps.as_ref(), node_identity, @@ -271,6 +285,7 @@ pub(crate) mod tests { Option::from(per_page), ) .unwrap(); + // println!("{:?}", page2); // now we have 2 pages, with 2 results on the second page assert_eq!(2, page2.delegations.len()); @@ -408,16 +423,17 @@ pub(crate) mod tests { ); storage::delegations() - .save( - deps.as_mut().storage, - delegation.storage_key().joined_key(), - &delegation, - ) + .save(deps.as_mut().storage, delegation.storage_key(), &delegation) .unwrap(); assert_eq!( - Ok(delegation), - query_mixnode_delegation(deps.as_ref(), node_identity, delegation_owner.to_string()) + Ok(vec![delegation]), + query_mixnode_delegation( + &deps.storage, + &deps.api, + node_identity, + delegation_owner.to_string() + ) ) } @@ -433,10 +449,11 @@ pub(crate) mod tests { assert_eq!( Err(ContractError::NoMixnodeDelegationFound { identity: node_identity1.clone(), - address: delegation_owner1.clone(), + address: delegation_owner1.to_string(), }), query_mixnode_delegation( - deps.as_ref(), + &deps.storage, + &deps.api, node_identity1.clone(), delegation_owner1.to_string() ) @@ -452,20 +469,17 @@ pub(crate) mod tests { ); storage::delegations() - .save( - deps.as_mut().storage, - delegation.storage_key().joined_key(), - &delegation, - ) + .save(deps.as_mut().storage, delegation.storage_key(), &delegation) .unwrap(); assert_eq!( Err(ContractError::NoMixnodeDelegationFound { identity: node_identity1.clone(), - address: delegation_owner1.clone(), + address: delegation_owner1.to_string(), }), query_mixnode_delegation( - deps.as_ref(), + &deps.storage, + &deps.api, node_identity1.clone(), delegation_owner1.to_string() ) @@ -481,19 +495,20 @@ pub(crate) mod tests { ); storage::delegations() - .save( - deps.as_mut().storage, - delegation.storage_key().joined_key(), - &delegation, - ) + .save(deps.as_mut().storage, delegation.storage_key(), &delegation) .unwrap(); assert_eq!( Err(ContractError::NoMixnodeDelegationFound { identity: node_identity1.clone(), - address: Addr::unchecked(delegation_owner1.clone()) + address: delegation_owner1.to_string() }), - query_mixnode_delegation(deps.as_ref(), node_identity1, delegation_owner1.to_string()) + query_mixnode_delegation( + &deps.storage, + &deps.api, + node_identity1, + delegation_owner1.to_string() + ) ) } diff --git a/contracts/mixnet/src/delegations/storage.rs b/contracts/mixnet/src/delegations/storage.rs index 11316efd79..c9e4dc2c64 100644 --- a/contracts/mixnet/src/delegations/storage.rs +++ b/contracts/mixnet/src/delegations/storage.rs @@ -1,20 +1,27 @@ // Copyright 2021 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -use cw_storage_plus::{Index, IndexList, IndexedMap, MultiIndex}; -use mixnet_contract_common::{Addr, Delegation, IdentityKey}; +use cw_storage_plus::{Index, IndexList, IndexedMap, Map, MultiIndex}; +use mixnet_contract_common::{mixnode::DelegationEvent, Addr, Delegation, IdentityKey}; // storage prefixes const DELEGATION_PK_NAMESPACE: &str = "dl"; const DELEGATION_OWNER_IDX_NAMESPACE: &str = "dlo"; const DELEGATION_MIXNODE_IDX_NAMESPACE: &str = "dlm"; +pub const PENDING_DELEGATION_EVENTS: Map< + (BlockHeight, IdentityKey, OwnerAddress), + DelegationEvent, +> = Map::new("pend"); + // paged retrieval limits for all queries and transactions pub(crate) const DELEGATION_PAGE_MAX_LIMIT: u32 = 500; pub(crate) const DELEGATION_PAGE_DEFAULT_LIMIT: u32 = 250; -// It's a composite key on node's identity and delegator address -type PrimaryKey = Vec; +type BlockHeight = u64; +type OwnerAddress = Vec; +// It's a composite key on node's identity, delegator address, and block height +type PrimaryKey = (IdentityKey, OwnerAddress, BlockHeight); pub(crate) struct DelegationIndex<'a> { pub(crate) owner: MultiIndex<'a, Addr, Delegation>, @@ -73,7 +80,6 @@ mod tests { use config::defaults::DENOM; use cosmwasm_std::testing::mock_env; use cosmwasm_std::{coin, Order}; - use cw_storage_plus::PrimaryKey; use mixnet_contract_common::Delegation; #[test] @@ -94,7 +100,7 @@ mod tests { storage::delegations() .save( &mut deps.storage, - (node_identity, delegation_owner.clone()).joined_key(), + (node_identity, delegation_owner.as_bytes().to_vec(), 0), &dummy_data, ) .unwrap(); @@ -124,7 +130,8 @@ mod tests { assert!(test_helpers::read_delegation( deps.as_ref().storage, &node_identity1, - &delegation_owner1 + delegation_owner1.as_bytes(), + mock_env().block.height ) .is_none()); @@ -139,7 +146,11 @@ mod tests { storage::delegations() .save( &mut deps.storage, - (node_identity1.clone(), delegation_owner1.clone()).joined_key(), + ( + node_identity1.clone(), + delegation_owner1.as_bytes().to_vec(), + 0, + ), &dummy_data, ) .unwrap(); @@ -163,7 +174,11 @@ mod tests { storage::delegations() .save( &mut deps.storage, - (node_identity1.clone(), delegation_owner2).joined_key(), + ( + node_identity1.clone(), + delegation_owner2.as_bytes().to_vec(), + 0, + ), &dummy_data, ) .unwrap(); diff --git a/contracts/mixnet/src/delegations/transactions.rs b/contracts/mixnet/src/delegations/transactions.rs index b2ba9271fd..693916ecbb 100644 --- a/contracts/mixnet/src/delegations/transactions.rs +++ b/contracts/mixnet/src/delegations/transactions.rs @@ -1,17 +1,69 @@ // Copyright 2021 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -use super::storage; +use super::storage::{self, PENDING_DELEGATION_EVENTS}; use crate::error::ContractError; +use crate::mixnet_contract_settings::storage as mixnet_params_storage; use crate::mixnodes::storage as mixnodes_storage; use crate::support::helpers::generate_storage_key; use config::defaults::DENOM; -use cosmwasm_std::{coins, wasm_execute, Addr, BankMsg, Coin, DepsMut, Env, MessageInfo, Response}; -use cw_storage_plus::PrimaryKey; -use mixnet_contract_common::events::{new_delegation_event, new_undelegation_event}; +use cosmwasm_std::{ + coins, wasm_execute, Addr, Api, BankMsg, Coin, DepsMut, Env, Event, MessageInfo, Order, + Response, Storage, Uint128, WasmMsg, +}; +use mixnet_contract_common::events::{ + new_pending_delegation_event, new_pending_undelegation_event, new_undelegation_event, +}; +use mixnet_contract_common::mixnode::{DelegationEvent, PendingUndelegate}; use mixnet_contract_common::{Delegation, IdentityKey}; use vesting_contract_common::messages::ExecuteMsg as VestingContractExecuteMsg; use vesting_contract_common::one_ucoin; +pub fn try_reconcile_all_delegation_events( + deps: DepsMut<'_>, + info: MessageInfo, +) -> Result { + let state = mixnet_params_storage::CONTRACT_STATE.load(deps.storage)?; + // check if this is executed by the permitted validator, if not reject the transaction + if info.sender != state.rewarding_validator_address { + return Err(ContractError::Unauthorized); + } + + _try_reconcile_all_delegation_events(deps.storage, deps.api) +} + +// TODO: Error handling? +pub(crate) fn _try_reconcile_all_delegation_events( + storage: &mut dyn Storage, + api: &dyn Api, +) -> Result { + let pending_delegation_events = PENDING_DELEGATION_EVENTS + .range(storage, None, None, Order::Ascending) + .filter_map(|r| r.ok()) + .collect::), DelegationEvent)>>(); + + let mut response = Response::new(); + + for (key, delegation_event) in pending_delegation_events { + match delegation_event { + DelegationEvent::Delegate(delegation) => { + let event = try_reconcile_delegation(storage, delegation)?; + response = response.add_event(event); + } + DelegationEvent::Undelegate(pending_undelegate) => { + let undelegate_response = + try_reconcile_undelegation(storage, api, &pending_undelegate)?; + response = response.add_event(undelegate_response.event); + response = response.add_message(undelegate_response.bank_msg); + if let Some(msg) = undelegate_response.wasm_msg { + response = response.add_message(msg); + } + } + } + PENDING_DELEGATION_EVENTS.remove(storage, key); + } + Ok(response) +} + fn validate_delegation_stake(mut delegation: Vec) -> Result { // check if anything was put as delegation if delegation.is_empty() { @@ -44,7 +96,15 @@ pub(crate) fn try_delegate_to_mixnode( // check if the delegation contains any funds of the appropriate denomination let amount = validate_delegation_stake(info.funds)?; - _try_delegate_to_mixnode(deps, env, mix_identity, info.sender.as_str(), amount, None) + _try_delegate_to_mixnode( + deps.storage, + deps.api, + env.block.height, + &mix_identity, + info.sender.as_str(), + amount, + None, + ) } pub(crate) fn try_delegate_to_mixnode_on_behalf( @@ -58,173 +118,277 @@ pub(crate) fn try_delegate_to_mixnode_on_behalf( let amount = validate_delegation_stake(info.funds)?; _try_delegate_to_mixnode( - deps, - env, - mix_identity, + deps.storage, + deps.api, + env.block.height, + &mix_identity, &delegate, amount, Some(info.sender), ) } -pub(crate) fn _try_delegate_to_mixnode( - deps: DepsMut<'_>, - env: Env, - mix_identity: IdentityKey, - delegate: &str, - amount: Coin, - proxy: Option, -) -> Result { - let delegate = deps.api.addr_validate(delegate)?; - - // check if the target node actually exists - if mixnodes_storage::mixnodes() - .may_load(deps.storage, &mix_identity)? - .is_none() - { - return Err(ContractError::MixNodeBondNotFound { - identity: mix_identity, - }); - } - - let maybe_proxy_storage = generate_storage_key(&delegate, proxy.as_ref()); - let storage_key = (mix_identity.clone(), maybe_proxy_storage).joined_key(); - +pub(crate) fn try_reconcile_delegation( + storage: &mut dyn Storage, + delegation: Delegation, +) -> Result { // update total_delegation of this node mixnodes_storage::TOTAL_DELEGATION.update::<_, ContractError>( - deps.storage, - &mix_identity, + storage, + &delegation.node_identity, |total_delegation| { // since we know that the target node exists and because the total_delegation bucket // entry is created whenever the node itself is added, the unwrap here is fine // as the entry MUST exist - Ok(total_delegation.unwrap() + amount.amount) + Ok(total_delegation.unwrap() + delegation.amount.amount) }, )?; - // update [or create new] delegation of this delegator + // update [or create new] pending delegation of this delegator storage::delegations().update::<_, ContractError>( - deps.storage, - storage_key, + storage, + delegation.storage_key(), |existing_delegation| { Ok(match existing_delegation { Some(mut existing_delegation) => { - existing_delegation.increment_amount(amount.amount, Some(env.block.height)); + existing_delegation + .increment_amount(delegation.amount.amount, Some(delegation.block_height)); existing_delegation } - None => Delegation::new( - delegate.to_owned(), - mix_identity.clone(), - amount.clone(), - env.block.height, - proxy.clone(), - ), + None => delegation.clone(), }) }, )?; - Ok(Response::new().add_event(new_delegation_event( + Ok(new_pending_delegation_event( + &delegation.owner, + &delegation.proxy, + &delegation.amount, + &delegation.node_identity, + )) +} + +pub(crate) fn _try_delegate_to_mixnode( + storage: &mut dyn Storage, + api: &dyn Api, + block_height: u64, + mix_identity: &str, + delegate: &str, + amount: Coin, + proxy: Option, +) -> Result { + let delegate = api.addr_validate(delegate)?; + + // check if the target node actually exists + if mixnodes_storage::mixnodes() + .may_load(storage, mix_identity)? + .is_none() + { + return Err(ContractError::MixNodeBondNotFound { + identity: mix_identity.to_string(), + }); + } + + let maybe_proxy_storage = generate_storage_key(&delegate, proxy.as_ref()); + let storage_key = (block_height, mix_identity.to_string(), maybe_proxy_storage); + + storage::PENDING_DELEGATION_EVENTS.save( + storage, + storage_key, + &DelegationEvent::Delegate(Delegation::new( + delegate.to_owned(), + mix_identity.to_string(), + amount.clone(), + block_height, + proxy.clone(), + )), + )?; + + Ok(Response::new().add_event(new_pending_delegation_event( &delegate, &proxy, &amount, - &mix_identity, + mix_identity, ))) } pub(crate) fn try_remove_delegation_from_mixnode( deps: DepsMut<'_>, + env: Env, info: MessageInfo, mix_identity: IdentityKey, ) -> Result { - _try_remove_delegation_from_mixnode(deps, mix_identity, info.sender.as_str(), None) + _try_remove_delegation_from_mixnode(deps, env, mix_identity, info.sender.as_str(), None) } pub(crate) fn try_remove_delegation_from_mixnode_on_behalf( deps: DepsMut<'_>, + env: Env, info: MessageInfo, mix_identity: IdentityKey, delegate: String, ) -> Result { - _try_remove_delegation_from_mixnode(deps, mix_identity, &delegate, Some(info.sender)) + _try_remove_delegation_from_mixnode(deps, env, mix_identity, &delegate, Some(info.sender)) +} + +pub struct ReconcileUndelegateResponse { + bank_msg: BankMsg, + wasm_msg: Option, + event: Event, +} + +pub(crate) fn try_reconcile_undelegation( + storage: &mut dyn Storage, + api: &dyn Api, + pending_undelegate: &PendingUndelegate, +) -> Result { + let delegation_map = storage::delegations(); + let maybe_proxy_storage = generate_storage_key( + &pending_undelegate.delegate(), + pending_undelegate.proxy().as_ref(), + ); + let storage_key = ( + pending_undelegate.mix_identity(), + maybe_proxy_storage.clone(), + ); + + let any_delegations = delegation_map + .prefix(storage_key.clone()) + .keys(storage, None, None, cosmwasm_std::Order::Ascending) + .filter_map(|v| v.ok()) + .next() + .is_some(); + + if !any_delegations { + return Err(ContractError::NoMixnodeDelegationFound { + identity: pending_undelegate.mix_identity(), + address: pending_undelegate.delegate().to_string(), + }); + } + + let reward = crate::rewards::transactions::_try_compound_delegator_reward( + pending_undelegate.block_height(), + api, + storage, + pending_undelegate.delegate().as_str(), + &pending_undelegate.mix_identity(), + None, + )?; + + // Might want to introduce paging here + let delegation_heights = delegation_map + .prefix(storage_key) + .keys(storage, None, None, cosmwasm_std::Order::Ascending) + .filter_map(|v| v.ok()) + .collect::>(); + + if delegation_heights.is_empty() { + return Err(ContractError::NoMixnodeDelegationFound { + identity: pending_undelegate.mix_identity(), + address: pending_undelegate.delegate().to_string(), + }); + } + + let mut total_delegation = Uint128::zero(); + + if crate::mixnodes::storage::mixnodes() + .may_load(storage, &pending_undelegate.mix_identity())? + .is_none() + { + // Since the mixnode is no longer bonded the reward did not compound and we need to manually add it to the total + total_delegation = reward; + } + + for h in delegation_heights { + let storage_key = ( + pending_undelegate.mix_identity(), + maybe_proxy_storage.clone(), + h, + ); + let delegation = delegation_map.load(storage, storage_key.clone())?; + total_delegation += delegation.amount.amount; + delegation_map.replace(storage, storage_key, None, Some(&delegation))?; + } + + let bank_msg = BankMsg::Send { + to_address: pending_undelegate + .proxy() + .as_ref() + .unwrap_or(&pending_undelegate.delegate()) + .to_string(), + amount: coins(total_delegation.u128(), DENOM), + }; + + mixnodes_storage::TOTAL_DELEGATION.update::<_, ContractError>( + storage, + &pending_undelegate.mix_identity(), + |total_node_delegation| { + // the first unwrap is fine because the delegation information MUST exist, otherwise we would + // have never gotten here in the first place + // the second unwrap is also fine because we should NEVER underflow here, + // if we do, it means we have some serious error in our logic + Ok(total_node_delegation + .unwrap() + .checked_sub(total_delegation) + .unwrap()) + }, + )?; + + let mut wasm_msg = None; + + if let Some(proxy) = &pending_undelegate.proxy() { + let msg = Some(VestingContractExecuteMsg::TrackUndelegation { + owner: pending_undelegate.delegate().as_str().to_string(), + mix_identity: pending_undelegate.mix_identity(), + amount: Coin::new(total_delegation.u128(), DENOM), + }); + + wasm_msg = Some(wasm_execute(proxy, &msg, vec![one_ucoin()])?); + } + + let event = new_undelegation_event( + &pending_undelegate.delegate(), + &pending_undelegate.proxy(), + &pending_undelegate.mix_identity(), + total_delegation, + ); + + Ok(ReconcileUndelegateResponse { + bank_msg, + wasm_msg, + event, + }) } pub(crate) fn _try_remove_delegation_from_mixnode( deps: DepsMut<'_>, + env: Env, mix_identity: IdentityKey, delegate: &str, proxy: Option, ) -> Result { let delegate = deps.api.addr_validate(delegate)?; - let delegation_map = storage::delegations(); - let maybe_proxy_storage = generate_storage_key(&delegate, proxy.as_ref()); - let storage_key = (mix_identity.clone(), maybe_proxy_storage).joined_key(); - match delegation_map.may_load(deps.storage, storage_key.clone())? { - None => Err(ContractError::NoMixnodeDelegationFound { - identity: mix_identity, - address: delegate, - }), - Some(old_delegation) => { - // remove all delegation associated with this delegator - if proxy != old_delegation.proxy { - return Err(ContractError::ProxyMismatch { - existing: old_delegation - .proxy - .map_or_else(|| "None".to_string(), |a| a.to_string()), - incoming: proxy.map_or_else(|| "None".to_string(), |a| a.to_string()), - }); - } - // remove old delegation data from the store - // note for reviewers: I'm using `replace` as `remove` is just `may_load` followed by `replace` - // and we've already performed `may_load` and have access to pre-existing data - delegation_map.replace(deps.storage, storage_key, None, Some(&old_delegation))?; + PENDING_DELEGATION_EVENTS.save( + deps.storage, + ( + env.block.height, + mix_identity.to_string(), + delegate.as_bytes().to_vec(), + ), + &DelegationEvent::Undelegate(PendingUndelegate::new( + mix_identity.to_string(), + delegate.clone(), + proxy.clone(), + env.block.height, + )), + )?; - // send delegated funds back to the delegation owner - let return_tokens = BankMsg::Send { - to_address: proxy.as_ref().unwrap_or(&delegate).to_string(), - amount: coins( - old_delegation.amount.amount.u128(), - old_delegation.amount.denom.clone(), - ), - }; - - // update total_delegation of this node - mixnodes_storage::TOTAL_DELEGATION.update::<_, ContractError>( - deps.storage, - &mix_identity, - |total_delegation| { - // the first unwrap is fine because the delegation information MUST exist, otherwise we would - // have never gotten here in the first place - // the second unwrap is also fine because we should NEVER underflow here, - // if we do, it means we have some serious error in our logic - Ok(total_delegation - .unwrap() - .checked_sub(old_delegation.amount.amount) - .unwrap()) - }, - )?; - - let mut response = Response::new().add_message(return_tokens); - - if let Some(proxy) = &proxy { - let msg = Some(VestingContractExecuteMsg::TrackUndelegation { - owner: delegate.as_str().to_string(), - mix_identity: mix_identity.clone(), - amount: old_delegation.amount.clone(), - }); - - let track_undelegation_msg = wasm_execute(proxy, &msg, vec![one_ucoin()])?; - - response = response.add_message(track_undelegation_msg); - } - Ok(response.add_event(new_undelegation_event( - &delegate, - &proxy, - &old_delegation, - &mix_identity, - ))) - } - } + Ok(Response::new().add_event(new_pending_undelegation_event( + &delegate, + &proxy, + &mix_identity, + ))) } #[cfg(test)] @@ -332,6 +496,8 @@ mod tests { ) .is_ok()); + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); + let expected = Delegation::new( delegation_owner.clone(), identity.clone(), @@ -342,7 +508,13 @@ mod tests { assert_eq!( expected, - test_helpers::read_delegation(&deps.storage, &identity, delegation_owner).unwrap() + test_helpers::read_delegation( + &deps.storage, + &identity, + delegation_owner.as_bytes(), + mock_env().block.height + ) + .unwrap() ); // node's "total_delegation" is increased @@ -364,7 +536,7 @@ mod tests { deps.as_mut(), ); let delegation_owner = Addr::unchecked("sender"); - try_remove_mixnode(deps.as_mut(), mock_info(mixnode_owner, &[])).unwrap(); + try_remove_mixnode(mock_env(), deps.as_mut(), mock_info(mixnode_owner, &[])).unwrap(); assert_eq!( Err(ContractError::MixNodeBondNotFound { identity: identity.clone() @@ -387,7 +559,7 @@ mod tests { tests::fixtures::good_mixnode_pledge(), deps.as_mut(), ); - try_remove_mixnode(deps.as_mut(), mock_info(mixnode_owner, &[])).unwrap(); + try_remove_mixnode(mock_env(), deps.as_mut(), mock_info(mixnode_owner, &[])).unwrap(); let identity = test_helpers::add_mixnode( mixnode_owner, tests::fixtures::good_mixnode_pledge(), @@ -403,6 +575,8 @@ mod tests { ) .is_ok()); + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); + let expected = Delegation::new( delegation_owner.clone(), identity.clone(), @@ -413,7 +587,13 @@ mod tests { assert_eq!( expected, - test_helpers::read_delegation(&deps.storage, &identity, delegation_owner).unwrap() + test_helpers::read_delegation( + &deps.storage, + &identity, + delegation_owner.as_bytes(), + mock_env().block.height + ) + .unwrap() ); // node's "total_delegation" is increased @@ -437,33 +617,47 @@ mod tests { let delegation_owner = Addr::unchecked("sender"); let delegation1 = coin(100, DENOM); let delegation2 = coin(50, DENOM); + + let mut env = mock_env(); + try_delegate_to_mixnode( deps.as_mut(), - mock_env(), + env.clone(), mock_info(delegation_owner.as_str(), &[delegation1.clone()]), identity.clone(), ) .unwrap(); + + env.block.height += 1; + try_delegate_to_mixnode( deps.as_mut(), - mock_env(), + env, mock_info(delegation_owner.as_str(), &[delegation2.clone()]), identity.clone(), ) .unwrap(); - let expected = Delegation::new( - delegation_owner.clone(), - identity.clone(), - coin(delegation1.amount.u128() + delegation2.amount.u128(), DENOM), - mock_env().block.height, - None, - ); + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); - assert_eq!( - expected, - test_helpers::read_delegation(&deps.storage, &identity, delegation_owner).unwrap() - ); + // let expected = Delegation::new( + // delegation_owner.clone(), + // identity.clone(), + // coin(delegation1.amount.u128() + delegation2.amount.u128(), DENOM), + // mock_env().block.height, + // None, + // ); + + // assert_eq!( + // expected, + // test_helpers::read_delegation( + // &deps.storage, + // &identity, + // delegation_owner.as_bytes(), + // mock_env().block.height + // ) + // .unwrap() + // ); // node's "total_delegation" is sum of both assert_eq!( @@ -493,16 +687,24 @@ mod tests { env2.block.height = updated_height; try_delegate_to_mixnode( deps.as_mut(), - env1, + env1.clone(), mock_info(delegation_owner.as_str(), &[delegation.clone()]), identity.clone(), ) .unwrap(); + + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); + assert_eq!( initial_height, - test_helpers::read_delegation(&deps.storage, &identity, &delegation_owner) - .unwrap() - .block_height + test_helpers::read_delegation( + &deps.storage, + &identity, + delegation_owner.as_bytes(), + env1.block.height + ) + .unwrap() + .block_height ); try_delegate_to_mixnode( deps.as_mut(), @@ -512,11 +714,21 @@ mod tests { ) .unwrap(); - let updated = - test_helpers::read_delegation(&deps.storage, &identity, &delegation_owner).unwrap(); + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); - assert_eq!(delegation.amount + delegation.amount, updated.amount.amount); - assert_eq!(updated_height, updated.block_height); + let delegations = crate::delegations::queries::query_mixnode_delegation( + &deps.storage, + &deps.api, + identity, + delegation_owner.to_string(), + ) + .unwrap(); + + let total_delegation = delegations + .iter() + .fold(Uint128::zero(), |acc, d| acc + d.amount.amount); + + assert_eq!(delegation.amount + delegation.amount, total_delegation); } #[test] @@ -540,37 +752,56 @@ mod tests { env2.block.height = second_height; try_delegate_to_mixnode( deps.as_mut(), - env1, + env1.clone(), mock_info(delegation_owner1.as_str(), &[delegation1]), identity.clone(), ) .unwrap(); + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); + assert_eq!( initial_height, - test_helpers::read_delegation(&deps.storage, &identity, &delegation_owner1) - .unwrap() - .block_height + test_helpers::read_delegation( + &deps.storage, + &identity, + delegation_owner1.as_bytes(), + env1.block.height + ) + .unwrap() + .block_height ); try_delegate_to_mixnode( deps.as_mut(), - env2, + env2.clone(), mock_info(delegation_owner2.as_str(), &[delegation2]), identity.clone(), ) .unwrap(); + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); + assert_eq!( initial_height, - test_helpers::read_delegation(&deps.storage, &identity, &delegation_owner1) - .unwrap() - .block_height + test_helpers::read_delegation( + &deps.storage, + &identity, + delegation_owner1.as_bytes(), + env1.block.height + ) + .unwrap() + .block_height ); assert_eq!( second_height, - test_helpers::read_delegation(&deps.storage, identity, &delegation_owner2) - .unwrap() - .block_height + test_helpers::read_delegation( + &deps.storage, + identity, + delegation_owner2.as_bytes(), + env2.block.height + ) + .unwrap() + .block_height ); } @@ -591,7 +822,7 @@ mod tests { identity.clone(), ) .unwrap(); - try_remove_mixnode(deps.as_mut(), mock_info(mixnode_owner, &[])).unwrap(); + try_remove_mixnode(mock_env(), deps.as_mut(), mock_info(mixnode_owner, &[])).unwrap(); assert_eq!( Err(ContractError::MixNodeBondNotFound { identity: identity.clone() @@ -636,6 +867,8 @@ mod tests { ) .is_ok()); + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); + let expected1 = Delegation::new( delegation_owner.clone(), identity1.clone(), @@ -654,11 +887,23 @@ mod tests { assert_eq!( expected1, - test_helpers::read_delegation(&deps.storage, identity1, &delegation_owner).unwrap() + test_helpers::read_delegation( + &deps.storage, + identity1, + delegation_owner.as_bytes(), + mock_env().block.height + ) + .unwrap() ); assert_eq!( expected2, - test_helpers::read_delegation(&deps.storage, identity2, &delegation_owner).unwrap() + test_helpers::read_delegation( + &deps.storage, + identity2, + delegation_owner.as_bytes(), + mock_env().block.height + ) + .unwrap() ); } @@ -687,6 +932,8 @@ mod tests { identity.clone(), ) .is_ok()); + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); + // node's "total_delegation" is sum of both assert_eq!( delegation1.amount + delegation2.amount, @@ -714,7 +961,10 @@ mod tests { identity.clone(), ) .unwrap(); - try_remove_mixnode(deps.as_mut(), mock_info(mixnode_owner, &[])).unwrap(); + + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); + + try_remove_mixnode(mock_env(), deps.as_mut(), mock_info(mixnode_owner, &[])).unwrap(); let expected = Delegation::new( delegation_owner.clone(), @@ -726,7 +976,13 @@ mod tests { assert_eq!( expected, - test_helpers::read_delegation(&deps.storage, identity, delegation_owner).unwrap() + test_helpers::read_delegation( + &deps.storage, + identity, + delegation_owner.as_bytes(), + mock_env().block.height + ) + .unwrap() ) } } @@ -746,9 +1002,12 @@ mod tests { use super::storage; use super::*; + // TODO: Probably delete due to reconciliation logic + #[ignore] #[test] fn fails_if_delegation_never_existed() { let mut deps = test_helpers::init_contract(); + let env = mock_env(); let mixnode_owner = "bob"; let identity = test_helpers::add_mixnode( mixnode_owner, @@ -759,20 +1018,24 @@ mod tests { assert_eq!( Err(ContractError::NoMixnodeDelegationFound { identity: identity.clone(), - address: delegation_owner.clone(), + address: delegation_owner.to_string(), }), try_remove_delegation_from_mixnode( deps.as_mut(), + env, mock_info(delegation_owner.as_str(), &[]), identity, ) ); } + // TODO: Update to work with reconciliation + #[ignore] #[test] fn succeeds_if_delegation_existed() { let mut deps = test_helpers::init_contract(); let mixnode_owner = "bob"; + let env = mock_env(); let identity = test_helpers::add_mixnode( mixnode_owner, tests::fixtures::good_mixnode_pledge(), @@ -786,8 +1049,12 @@ mod tests { identity.clone(), ) .unwrap(); + + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); + let delegation = query_mixnode_delegation( - deps.as_ref(), + &deps.storage, + &deps.api, identity.clone(), delegation_owner.clone().into_string(), ) @@ -801,14 +1068,15 @@ mod tests { .add_event(new_undelegation_event( &delegation_owner, &None, - &delegation, &identity, + Uint128::new(100), )); assert_eq!( Ok(expected_response), try_remove_delegation_from_mixnode( deps.as_mut(), + env, mock_info(delegation_owner.as_str(), &[]), identity.clone(), ) @@ -816,7 +1084,7 @@ mod tests { assert!(storage::delegations() .may_load( &deps.storage, - (identity.clone(), delegation_owner).joined_key(), + (identity.clone(), delegation_owner.as_bytes().to_vec(), 0), ) .unwrap() .is_none()); @@ -830,10 +1098,13 @@ mod tests { ) } + // TODO: Update to work with reconciliation + #[ignore] #[test] fn succeeds_if_delegation_existed_even_if_node_unbonded() { let mut deps = test_helpers::init_contract(); let mixnode_owner = "bob"; + let env = mock_env(); let identity = test_helpers::add_mixnode( mixnode_owner, tests::fixtures::good_mixnode_pledge(), @@ -847,12 +1118,17 @@ mod tests { identity.clone(), ) .unwrap(); + + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); + let delegation = query_mixnode_delegation( - deps.as_ref(), + &deps.storage, + &deps.api, identity.clone(), delegation_owner.clone().into_string(), ) .unwrap(); + let expected_response = Response::new() .add_message(BankMsg::Send { to_address: delegation_owner.clone().into(), @@ -861,28 +1137,37 @@ mod tests { .add_event(new_undelegation_event( &delegation_owner, &None, - &delegation, &identity, + Uint128::new(100), )); - try_remove_mixnode(deps.as_mut(), mock_info(mixnode_owner, &[])).unwrap(); + try_remove_mixnode(mock_env(), deps.as_mut(), mock_info(mixnode_owner, &[])).unwrap(); + assert_eq!( Ok(expected_response), try_remove_delegation_from_mixnode( deps.as_mut(), + env, mock_info(delegation_owner.as_str(), &[]), identity.clone(), ) ); - assert!( - test_helpers::read_delegation(&deps.storage, identity, delegation_owner).is_none() - ); + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); + + assert!(test_helpers::read_delegation( + &deps.storage, + identity, + delegation_owner.as_bytes(), + mock_env().block.height + ) + .is_none()); } #[test] fn total_delegation_is_preserved_if_only_some_undelegate() { let mut deps = test_helpers::init_contract(); + let env = mock_env(); let mixnode_owner = "bob"; let identity = test_helpers::add_mixnode( mixnode_owner, @@ -900,6 +1185,9 @@ mod tests { identity.clone(), ) .is_ok()); + + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); + assert!(try_delegate_to_mixnode( deps.as_mut(), mock_env(), @@ -907,13 +1195,19 @@ mod tests { identity.clone(), ) .is_ok()); + + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); + // sender1 undelegates try_remove_delegation_from_mixnode( deps.as_mut(), + env, mock_info(delegation_owner1.as_str(), &[]), identity.clone(), ) .unwrap(); + + _try_reconcile_all_delegation_events(&mut deps.storage, &deps.api).unwrap(); // but total delegation should still equal to what sender2 sent // node's "total_delegation" is sum of both assert_eq!( diff --git a/contracts/mixnet/src/error.rs b/contracts/mixnet/src/error.rs index ff4d93bd16..dce9955fe5 100644 --- a/contracts/mixnet/src/error.rs +++ b/contracts/mixnet/src/error.rs @@ -3,7 +3,7 @@ use config::defaults::DENOM; use cosmwasm_std::{Addr, StdError}; -use mixnet_contract_common::IdentityKey; +use mixnet_contract_common::{error::MixnetContractError, IdentityKey}; use thiserror::Error; /// Custom errors for contract failure conditions. @@ -69,7 +69,7 @@ pub enum ContractError { #[error("MIXNET ({}): Could not find any delegation information associated with mixnode {identity} for {address}", line!())] NoMixnodeDelegationFound { identity: IdentityKey, - address: Addr, + address: String, }, #[error("MIXNET ({}): We tried to remove more funds then are available in the Reward pool. Wanted to remove {to_remove}, but have only {reward_pool}", line!())] @@ -124,4 +124,21 @@ pub enum ContractError { interval_start: i64, interval_end: i64, }, + + #[error("MIXNET ({}): Can't change to the desired interval as it's not in progress yet. It starts at {epoch_start} and finishes at {epoch_end}, while the current block time is {current_block_time}", line!())] + EpochNotInProgress { + current_block_time: u64, + epoch_start: i64, + epoch_end: i64, + }, + + #[error("Could not cast reward to a u128, this should be impossible, at {}", line!())] + CastError, + #[error("{source}")] + MixnetCommonError { + #[from] + source: MixnetContractError, + }, + #[error("No rewards to claim for mixnode {identity} for delegate {delegate}")] + NoRewardsToClaim { identity: String, delegate: String }, } diff --git a/contracts/mixnet/src/gateways/queries.rs b/contracts/mixnet/src/gateways/queries.rs index 5a4ab5d2db..149b70d33f 100644 --- a/contracts/mixnet/src/gateways/queries.rs +++ b/contracts/mixnet/src/gateways/queries.rs @@ -17,7 +17,8 @@ pub(crate) fn query_gateways_paged( let limit = limit .unwrap_or(BOND_PAGE_DEFAULT_LIMIT) .min(BOND_PAGE_MAX_LIMIT) as usize; - let start = start_after.map(Bound::exclusive); + + let start = start_after.as_deref().map(Bound::exclusive); let nodes = storage::gateways() .range(deps.storage, start, None, Order::Ascending) diff --git a/contracts/mixnet/src/interval/queries.rs b/contracts/mixnet/src/interval/queries.rs index a740209ead..2fdc48ba27 100644 --- a/contracts/mixnet/src/interval/queries.rs +++ b/contracts/mixnet/src/interval/queries.rs @@ -11,7 +11,7 @@ use mixnet_contract_common::{ }; pub fn query_current_interval(storage: &dyn Storage) -> Result { - Ok(storage::CURRENT_INTERVAL.load(storage)?) + storage::current_interval(storage) } pub(crate) fn query_rewarded_set_refresh_minimum_blocks() -> u64 { diff --git a/contracts/mixnet/src/interval/storage.rs b/contracts/mixnet/src/interval/storage.rs index c877ca7e1f..171628700f 100644 --- a/contracts/mixnet/src/interval/storage.rs +++ b/contracts/mixnet/src/interval/storage.rs @@ -3,7 +3,11 @@ use cosmwasm_std::{StdResult, Storage}; use cw_storage_plus::{Item, Map}; -use mixnet_contract_common::{IdentityKey, Interval, RewardedSetNodeStatus}; +use mixnet_contract_common::{ + reward_params::EpochRewardParams, IdentityKey, Interval, RewardedSetNodeStatus, +}; + +use crate::{error::ContractError, support::helpers::epoch_reward_params}; // type aliases for better reasoning for storage keys // (I found it helpful) @@ -14,7 +18,9 @@ type IntervalId = u32; pub(crate) const REWARDED_NODE_DEFAULT_PAGE_LIMIT: u32 = 1000; pub(crate) const REWARDED_NODE_MAX_PAGE_LIMIT: u32 = 1500; -pub(crate) const CURRENT_INTERVAL: Item<'_, Interval> = Item::new("cep"); +const CURRENT_INTERVAL: Item<'_, Interval> = Item::new("cei"); +const CURRENT_EPOCH: Item<'_, Interval> = Item::new("cep"); +const CURRENT_EPOCH_REWARD_PARAMS: Item<'_, EpochRewardParams> = Item::new("erp"); pub(crate) const CURRENT_REWARDED_SET_HEIGHT: Item<'_, BlockHeight> = Item::new("crh"); // I've changed the `()` data to an `u8` as after serializing `()` is represented as "null", @@ -26,6 +32,45 @@ pub(crate) const REWARDED_SET_HEIGHTS_FOR_INTERVAL: Map<'_, (IntervalId, BlockHe pub(crate) const REWARDED_SET: Map<'_, (BlockHeight, IdentityKey), RewardedSetNodeStatus> = Map::new("rs"); +pub(crate) const INTERVALS: Map<'_, IntervalId, Interval> = Map::new("ins"); +pub(crate) const EPOCHS: Map<'_, IntervalId, Interval> = Map::new("ephs"); + +pub fn save_interval(storage: &mut dyn Storage, interval: &Interval) -> Result<(), ContractError> { + CURRENT_INTERVAL.save(storage, interval)?; + INTERVALS.save(storage, interval.id(), interval)?; + Ok(()) +} + +pub fn save_epoch(storage: &mut dyn Storage, interval: &Interval) -> Result<(), ContractError> { + CURRENT_EPOCH.save(storage, interval)?; + EPOCHS.save(storage, interval.id(), interval)?; + Ok(()) +} + +pub fn current_epoch_reward_params( + storage: &dyn Storage, +) -> Result { + Ok(CURRENT_EPOCH_REWARD_PARAMS.load(storage)?) +} + +pub fn save_epoch_reward_params( + epoch_id: u32, + storage: &mut dyn Storage, +) -> Result<(), ContractError> { + let epoch_reward_params = epoch_reward_params(epoch_id, storage)?; + CURRENT_EPOCH_REWARD_PARAMS.save(storage, &epoch_reward_params)?; + crate::rewards::storage::EPOCH_REWARD_PARAMS.save(storage, epoch_id, &epoch_reward_params)?; + Ok(()) +} + +pub fn current_interval(storage: &dyn Storage) -> Result { + Ok(CURRENT_INTERVAL.load(storage)?) +} + +pub fn current_epoch(storage: &dyn Storage) -> Result { + Ok(CURRENT_EPOCH.load(storage)?) +} + pub(crate) fn save_rewarded_set( storage: &mut dyn Storage, height: BlockHeight, diff --git a/contracts/mixnet/src/interval/transactions.rs b/contracts/mixnet/src/interval/transactions.rs index 03334fecbc..21b48e1e33 100644 --- a/contracts/mixnet/src/interval/transactions.rs +++ b/contracts/mixnet/src/interval/transactions.rs @@ -3,12 +3,15 @@ use super::storage; use crate::error::ContractError; -use crate::error::ContractError::IntervalNotInProgress; +use crate::error::ContractError::{EpochNotInProgress, IntervalNotInProgress}; use crate::mixnet_contract_settings::storage as mixnet_params_storage; use cosmwasm_std::{DepsMut, Env, MessageInfo, Response, Storage}; use mixnet_contract_common::events::{new_advance_interval_event, new_change_rewarded_set_event}; use mixnet_contract_common::IdentityKey; +// We've distributed the rewards to the rewarded set from the validator api before making this call (implicit order, should be solved in the future) +// We now write the new rewarded set, snapshot the mixnodes and finally reconcile all delegations and undelegations. That way the rewards for the previous +// epoch will be calculated correctly as the delegations and undelegations from the previous epoch will only take effect in the next (current) one. pub fn try_write_rewarded_set( deps: DepsMut<'_>, env: Env, @@ -50,7 +53,7 @@ pub fn try_write_rewarded_set( }); } - let current_interval = storage::CURRENT_INTERVAL.load(deps.storage)?.id(); + let current_interval = storage::current_interval(deps.storage)?.id(); let num_nodes = rewarded_set.len(); storage::save_rewarded_set(deps.storage, block_height, active_set_size, rewarded_set)?; @@ -76,8 +79,8 @@ pub fn try_advance_interval( // in theory, we could have just changed the state and relied on its reversal upon failed // execution, but better safe than sorry and do not modify the state at all unless we know // all checks have succeeded. - let current_interval = storage::CURRENT_INTERVAL.load(storage)?; - let next_interval = current_interval.next_interval(); + let current_interval = storage::current_interval(storage)?; + let next_interval = current_interval.next(); if next_interval.start_unix_timestamp() > env.block.time.seconds() as i64 { // the reason for this check is as follows: @@ -95,11 +98,40 @@ pub fn try_advance_interval( }); } - storage::CURRENT_INTERVAL.save(storage, &next_interval)?; + storage::save_interval(storage, &next_interval)?; Ok(Response::new().add_event(new_advance_interval_event(next_interval))) } +pub fn try_advance_epoch(env: Env, storage: &mut dyn Storage) -> Result { + // in theory, we could have just changed the state and relied on its reversal upon failed + // execution, but better safe than sorry and do not modify the state at all unless we know + // all checks have succeeded. + let current_epoch = storage::current_epoch(storage)?; + let next_epoch = current_epoch.next(); + + if next_epoch.start_unix_timestamp() > env.block.time.seconds() as i64 { + // the reason for this check is as follows: + // nobody, even trusted validators, should be able to continuously keep advancing epochs, + // because otherwise it would be possible for them to continuously keep rewarding nodes. + // + // Therefore, even if "trusted" validator, responsible for rewarding, is malicious, + // they can't send rewards more often than every `REWARDED_SET_REFRESH_BLOCKS` + // and changing this value requires going through governance and having agreement of + // the super-majority of the validators (by stake) + return Err(EpochNotInProgress { + current_block_time: env.block.time.seconds(), + epoch_start: next_epoch.start_unix_timestamp(), + epoch_end: next_epoch.end_unix_timestamp(), + }); + } + + storage::save_epoch(storage, &next_epoch)?; + storage::save_epoch_reward_params(next_epoch.id(), storage)?; + + Ok(Response::new().add_event(new_advance_interval_event(next_epoch))) +} + #[cfg(test)] mod tests { use super::*; @@ -251,10 +283,8 @@ mod tests { OffsetDateTime::from_unix_timestamp(1640995200).unwrap(), Duration::from_secs(60 * 60 * 720), ); - let next_interval = current_interval.next_interval(); - storage::CURRENT_INTERVAL - .save(deps.as_mut().storage, ¤t_interval) - .unwrap(); + let next_interval = current_interval.next(); + storage::save_interval(deps.as_mut().storage, ¤t_interval).unwrap(); // fails if the current interval hasn't finished yet i.e. the new interval hasn't begun env.block.time = Timestamp::from_seconds(1641081600); @@ -284,7 +314,7 @@ mod tests { // interval that has just finished env.block.time = Timestamp::from_seconds(next_interval.start_unix_timestamp() as u64 + 10000); - let expected_new_interval = current_interval.next_interval(); + let expected_new_interval = current_interval.next(); let expected_response = Response::new().add_event(new_advance_interval_event(expected_new_interval)); assert_eq!( @@ -294,10 +324,8 @@ mod tests { // interval way back in the past (i.e. 'somebody' failed to advance it for a long time) env.block.time = Timestamp::from_seconds(1672531200); - storage::CURRENT_INTERVAL - .save(deps.as_mut().storage, ¤t_interval) - .unwrap(); - let expected_new_interval = current_interval.next_interval(); + storage::save_interval(deps.as_mut().storage, ¤t_interval).unwrap(); + let expected_new_interval = current_interval.next(); let expected_response = Response::new().add_event(new_advance_interval_event(expected_new_interval)); assert_eq!( diff --git a/contracts/mixnet/src/mixnodes/bonding_queries.rs b/contracts/mixnet/src/mixnodes/bonding_queries.rs index 62c9805470..876b9e36b3 100644 --- a/contracts/mixnet/src/mixnodes/bonding_queries.rs +++ b/contracts/mixnet/src/mixnodes/bonding_queries.rs @@ -17,7 +17,7 @@ pub fn query_mixnodes_paged( .unwrap_or(storage::BOND_PAGE_DEFAULT_LIMIT) .min(storage::BOND_PAGE_MAX_LIMIT) as usize; - let start = start_after.map(Bound::exclusive); + let start = start_after.as_deref().map(Bound::exclusive); let nodes = storage::mixnodes() .range(deps.storage, start, None, Order::Ascending) @@ -203,6 +203,7 @@ pub(crate) mod tests { #[test] fn query_for_mixnode_owner_works() { let mut deps = test_helpers::init_contract(); + let env = mock_env(); // "fred" does not own a mixnode if there are no mixnodes let res = query_owns_mixnode(deps.as_ref(), "fred".to_string()).unwrap(); @@ -225,8 +226,12 @@ pub(crate) mod tests { assert!(res.mixnode.is_some()); // but after unbonding it, he doesn't own one anymore - crate::mixnodes::transactions::try_remove_mixnode(deps.as_mut(), mock_info("fred", &[])) - .unwrap(); + crate::mixnodes::transactions::try_remove_mixnode( + env, + deps.as_mut(), + mock_info("fred", &[]), + ) + .unwrap(); let res = query_owns_mixnode(deps.as_ref(), "fred".to_string()).unwrap(); assert!(res.mixnode.is_none()); diff --git a/contracts/mixnet/src/mixnodes/storage.rs b/contracts/mixnet/src/mixnodes/storage.rs index d16820ad74..765888c2b1 100644 --- a/contracts/mixnet/src/mixnodes/storage.rs +++ b/contracts/mixnet/src/mixnodes/storage.rs @@ -3,14 +3,19 @@ use config::defaults::DENOM; use cosmwasm_std::{StdResult, Storage, Uint128}; -use cw_storage_plus::{Index, IndexList, IndexedMap, Map, UniqueIndex}; -use mixnet_contract_common::{Addr, Coin, IdentityKeyRef, Layer, MixNode, MixNodeBond}; +use cw_storage_plus::{Index, IndexList, IndexedSnapshotMap, Map, Strategy, UniqueIndex}; +use mixnet_contract_common::U128; +use mixnet_contract_common::{ + reward_params::NodeEpochRewards, Addr, Coin, IdentityKeyRef, Layer, MixNode, MixNodeBond, +}; use serde::{Deserialize, Serialize}; use std::fmt::{Display, Formatter}; // storage prefixes const TOTAL_DELEGATION_NAMESPACE: &str = "td"; const MIXNODES_PK_NAMESPACE: &str = "mn"; +const MIXNODES_PK_CHECKPOINTS: &str = "mn__check"; +const MIXNODES_PK_CHANGELOG: &str = "mn__change"; const MIXNODES_OWNER_IDX_NAMESPACE: &str = "mno"; // paged retrieval limits for all queries and transactions @@ -35,11 +40,17 @@ impl<'a> IndexList for MixnodeBondIndex<'a> { // mixnodes() is the storage access function. pub(crate) fn mixnodes<'a>( -) -> IndexedMap<'a, IdentityKeyRef<'a>, StoredMixnodeBond, MixnodeBondIndex<'a>> { +) -> IndexedSnapshotMap<'a, IdentityKeyRef<'a>, StoredMixnodeBond, MixnodeBondIndex<'a>> { let indexes = MixnodeBondIndex { owner: UniqueIndex::new(|d| d.owner.clone(), MIXNODES_OWNER_IDX_NAMESPACE), }; - IndexedMap::new(MIXNODES_PK_NAMESPACE, indexes) + IndexedSnapshotMap::new( + MIXNODES_PK_NAMESPACE, + MIXNODES_PK_CHECKPOINTS, + MIXNODES_PK_CHANGELOG, + Strategy::Never, + indexes, + ) } #[derive(Serialize, Deserialize, Debug, PartialEq, Clone)] @@ -50,9 +61,27 @@ pub(crate) struct StoredMixnodeBond { pub block_height: u64, pub mix_node: MixNode, pub proxy: Option, + pub accumulated_rewards: Uint128, + pub epoch_rewards: Option, +} + +impl From for StoredMixnodeBond { + fn from(mixnode_bond: MixNodeBond) -> StoredMixnodeBond { + StoredMixnodeBond { + pledge_amount: mixnode_bond.pledge_amount, + owner: mixnode_bond.owner, + layer: mixnode_bond.layer, + block_height: mixnode_bond.block_height, + mix_node: mixnode_bond.mix_node, + proxy: mixnode_bond.proxy, + accumulated_rewards: mixnode_bond.accumulated_rewards, + epoch_rewards: None, + } + } } impl StoredMixnodeBond { + #[allow(clippy::too_many_arguments)] pub(crate) fn new( pledge_amount: Coin, owner: Addr, @@ -60,6 +89,8 @@ impl StoredMixnodeBond { block_height: u64, mix_node: MixNode, proxy: Option, + accumulated_rewards: Uint128, + epoch_rewards: Option, ) -> Self { StoredMixnodeBond { pledge_amount, @@ -68,6 +99,8 @@ impl StoredMixnodeBond { block_height, mix_node, proxy, + accumulated_rewards, + epoch_rewards, } } @@ -83,6 +116,7 @@ impl StoredMixnodeBond { block_height: self.block_height, mix_node: self.mix_node, proxy: self.proxy, + accumulated_rewards: self.accumulated_rewards, } } @@ -93,6 +127,10 @@ impl StoredMixnodeBond { pub(crate) fn pledge_amount(&self) -> Coin { self.pledge_amount.clone() } + + pub fn profit_margin(&self) -> U128 { + U128::from_num(self.mix_node.profit_margin_percent) / U128::from_num(100) + } } impl Display for StoredMixnodeBond { @@ -125,6 +163,7 @@ pub(crate) fn read_full_mixnode_bond( block_height: stored_bond.block_height, mix_node: stored_bond.mix_node, proxy: stored_bond.proxy, + accumulated_rewards: stored_bond.accumulated_rewards, })) } } @@ -145,8 +184,8 @@ mod tests { let mut storage = MockStorage::new(); let bond1 = tests::fixtures::stored_mixnode_bond_fixture("owner1"); let bond2 = tests::fixtures::stored_mixnode_bond_fixture("owner2"); - mixnodes().save(&mut storage, "bond1", &bond1).unwrap(); - mixnodes().save(&mut storage, "bond2", &bond2).unwrap(); + mixnodes().save(&mut storage, "bond1", &bond1, 1).unwrap(); + mixnodes().save(&mut storage, "bond2", &bond2, 1).unwrap(); let res1 = mixnodes().load(&storage, "bond1").unwrap(); let res2 = mixnodes().load(&storage, "bond2").unwrap(); @@ -177,10 +216,12 @@ mod tests { ..tests::fixtures::mix_node_fixture() }, proxy: None, + accumulated_rewards: Uint128::zero(), + epoch_rewards: None, }; storage::mixnodes() - .save(&mut mock_storage, &node_identity, &mixnode_bond) + .save(&mut mock_storage, &node_identity, &mixnode_bond, 1) .unwrap(); assert_eq!( diff --git a/contracts/mixnet/src/mixnodes/transactions.rs b/contracts/mixnet/src/mixnodes/transactions.rs index 536490376b..08ad43f62d 100644 --- a/contracts/mixnet/src/mixnodes/transactions.rs +++ b/contracts/mixnet/src/mixnodes/transactions.rs @@ -9,13 +9,31 @@ use crate::mixnodes::storage::StoredMixnodeBond; use crate::support::helpers::{ensure_no_existing_bond, validate_node_identity_signature}; use config::defaults::DENOM; use cosmwasm_std::{ - wasm_execute, Addr, BankMsg, Coin, DepsMut, Env, MessageInfo, Response, Uint128, + wasm_execute, Addr, BankMsg, Coin, DepsMut, Env, MessageInfo, Response, Storage, Uint128, +}; +use mixnet_contract_common::events::{ + new_checkpoint_mixnodes_event, new_mixnode_bonding_event, new_mixnode_unbonding_event, }; -use mixnet_contract_common::events::{new_mixnode_bonding_event, new_mixnode_unbonding_event}; use mixnet_contract_common::MixNode; use vesting_contract_common::messages::ExecuteMsg as VestingContractExecuteMsg; use vesting_contract_common::one_ucoin; +pub fn try_checkpoint_mixnodes( + storage: &mut dyn Storage, + block_height: u64, + info: MessageInfo, +) -> Result { + let state = mixnet_params_storage::CONTRACT_STATE.load(storage)?; + // check if this is executed by the permitted validator, if not reject the transaction + if info.sender != state.rewarding_validator_address { + return Err(ContractError::Unauthorized); + } + + crate::mixnodes::storage::mixnodes().add_checkpoint(storage, block_height)?; + + Ok(Response::new().add_event(new_checkpoint_mixnodes_event(block_height))) +} + pub fn try_add_mixnode( deps: DepsMut<'_>, env: Env, @@ -117,12 +135,14 @@ fn _try_add_mixnode( env.block.height, mix_node, proxy.clone(), + Uint128::zero(), + None, ); // technically we don't have to set the total_delegation bucket, but it makes things easier // in different places that we can guarantee that if node exists, so does the data behind the total delegation let identity = stored_bond.identity(); - storage::mixnodes().save(deps.storage, identity, &stored_bond)?; + storage::mixnodes().save(deps.storage, identity, &stored_bond, env.block.height)?; // if this is a fresh mixnode - write 0 total delegation, otherwise, don't touch it since the node has just rebonded if storage::TOTAL_DELEGATION @@ -144,25 +164,38 @@ fn _try_add_mixnode( } pub fn try_remove_mixnode_on_behalf( + env: Env, deps: DepsMut<'_>, info: MessageInfo, owner: String, ) -> Result { let proxy = info.sender; - _try_remove_mixnode(deps, &owner, Some(proxy)) + _try_remove_mixnode(env, deps, &owner, Some(proxy)) } -pub fn try_remove_mixnode(deps: DepsMut<'_>, info: MessageInfo) -> Result { - _try_remove_mixnode(deps, info.sender.as_ref(), None) +pub fn try_remove_mixnode( + env: Env, + deps: DepsMut<'_>, + info: MessageInfo, +) -> Result { + _try_remove_mixnode(env, deps, info.sender.as_ref(), None) } pub(crate) fn _try_remove_mixnode( + env: Env, deps: DepsMut<'_>, owner: &str, proxy: Option, ) -> Result { let owner = deps.api.addr_validate(owner)?; + crate::rewards::transactions::_try_compound_operator_reward( + deps.storage, + env.block.height, + &owner, + None, + )?; + // try to find the node of the sender let mixnode_bond = match storage::mixnodes() .idx @@ -188,7 +221,7 @@ pub(crate) fn _try_remove_mixnode( }; // remove the bond - storage::mixnodes().remove(deps.storage, mixnode_bond.identity())?; + storage::mixnodes().remove(deps.storage, mixnode_bond.identity(), env.block.height)?; // decrement layer count mixnet_params_storage::decrement_layer_count(deps.storage, mixnode_bond.layer)?; @@ -267,15 +300,20 @@ pub(crate) fn _try_update_mixnode_config( )); } - storage::mixnodes().update(deps.storage, mixnode_bond.identity(), |mixnode_bond_opt| { - mixnode_bond_opt - .map(|mut mixnode_bond| { - mixnode_bond.mix_node.profit_margin_percent = profit_margin_percent; - mixnode_bond.block_height = env.block.height; - mixnode_bond - }) - .ok_or(ContractError::NoBondFound) - })?; + storage::mixnodes().update( + deps.storage, + mixnode_bond.identity(), + env.block.height, + |mixnode_bond_opt| { + mixnode_bond_opt + .map(|mut mixnode_bond| { + mixnode_bond.mix_node.profit_margin_percent = profit_margin_percent; + mixnode_bond.block_height = env.block.height; + mixnode_bond + }) + .ok_or(ContractError::NoBondFound) + }, + )?; let mut response = Response::new(); @@ -607,7 +645,7 @@ pub mod tests { .add_event(new_mixnode_unbonding_event( &Addr::unchecked("fred"), &None, - &tests::fixtures::good_gateway_pledge()[0], + &tests::fixtures::good_mixnode_pledge()[0], &fred_identity, )); @@ -615,6 +653,7 @@ pub mod tests { // only 1 node now exists, owned by bob: let mix_node_bonds = tests::queries::get_mix_nodes(&mut deps); + assert_eq!(1, mix_node_bonds.len()); assert_eq!(&Addr::unchecked("bob"), mix_node_bonds[0].owner()); } @@ -642,7 +681,9 @@ pub mod tests { let info = mock_info("mix-owner", &[]); let msg = ExecuteMsg::UnbondMixnode {}; - assert!(execute(deps.as_mut(), mock_env(), info, msg).is_ok()); + let response = execute(deps.as_mut(), mock_env(), info, msg); + + assert!(response.is_ok()); assert!(storage::mixnodes() .idx diff --git a/contracts/mixnet/src/rewards/helpers.rs b/contracts/mixnet/src/rewards/helpers.rs index 096b3b07aa..bd0fc5df7d 100644 --- a/contracts/mixnet/src/rewards/helpers.rs +++ b/contracts/mixnet/src/rewards/helpers.rs @@ -3,81 +3,20 @@ use super::storage; use crate::error::ContractError; -use crate::mixnodes::storage as mixnodes_storage; -use cosmwasm_std::{Addr, Storage, Uint128}; -use mixnet_contract_common::mixnode::DelegatorRewardParams; -use mixnet_contract_common::{ - IdentityKey, IdentityKeyRef, PendingDelegatorRewarding, RewardingResult, RewardingStatus, -}; - -pub(crate) fn update_post_rewarding_storage( - storage: &mut dyn Storage, - mix_identity: IdentityKeyRef<'_>, - operator_reward: Uint128, - delegators_reward: Uint128, -) -> Result<(), ContractError> { - if operator_reward == Uint128::zero() && delegators_reward == Uint128::zero() { - return Ok(()); - } - - // update pledge - if operator_reward > Uint128::zero() { - mixnodes_storage::mixnodes().update(storage, mix_identity, |current_bond| { - match current_bond { - None => Err(ContractError::MixNodeBondNotFound { - identity: mix_identity.to_string(), - }), - Some(mut mixnode_bond) => { - mixnode_bond.pledge_amount.amount += operator_reward; - Ok(mixnode_bond) - } - } - })?; - } - - // update total_delegation - if delegators_reward > Uint128::zero() { - mixnodes_storage::TOTAL_DELEGATION.update(storage, mix_identity, |current_total| { - match current_total { - None => Err(ContractError::MixNodeBondNotFound { - identity: mix_identity.to_string(), - }), - Some(current_total) => Ok(current_total + delegators_reward), - } - })?; - } - - // update reward pool - storage::decr_reward_pool(storage, operator_reward + delegators_reward)?; - - Ok(()) -} +use cosmwasm_std::Storage; +use mixnet_contract_common::{IdentityKey, RewardingResult, RewardingStatus}; pub(crate) fn update_rewarding_status( storage: &mut dyn Storage, interval_id: u32, mix_identity: IdentityKey, - rewarding_results: RewardingResult, - next_start: Option, - delegators_rewarding_params: DelegatorRewardParams, + rewarding_result: RewardingResult, ) -> Result<(), ContractError> { - if let Some(next_start) = next_start { - storage::REWARDING_STATUS.save( - storage, - (interval_id, mix_identity), - &RewardingStatus::PendingNextDelegatorPage(PendingDelegatorRewarding { - running_results: rewarding_results, - next_start, - rewarding_params: delegators_rewarding_params, - }), - )?; - } else { - storage::REWARDING_STATUS.save( - storage, - (interval_id, mix_identity), - &RewardingStatus::Complete(rewarding_results), - )?; - } + storage::REWARDING_STATUS.save( + storage, + (interval_id, mix_identity), + &RewardingStatus::Complete(rewarding_result), + )?; Ok(()) } diff --git a/contracts/mixnet/src/rewards/queries.rs b/contracts/mixnet/src/rewards/queries.rs index 74e8ab6f4f..4038e193bb 100644 --- a/contracts/mixnet/src/rewards/queries.rs +++ b/contracts/mixnet/src/rewards/queries.rs @@ -35,11 +35,10 @@ pub(crate) mod tests { #[cfg(test)] mod querying_for_rewarding_status { use super::*; - use crate::constants; use crate::delegations::transactions::try_delegate_to_mixnode; - use crate::rewards::transactions::{ - try_reward_mixnode, try_reward_next_mixnode_delegators, - }; + use crate::interval::storage::{save_epoch, save_epoch_reward_params}; + use crate::rewards::transactions::try_reward_mixnode; + use crate::{constants, support::tests::fixtures::epoch_fixture}; use config::defaults::DENOM; use cosmwasm_std::{coin, Addr}; use mixnet_contract_common::{ @@ -75,7 +74,7 @@ pub(crate) mod tests { env, info, node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), + tests::fixtures::node_reward_params_fixture(100), 0, ) .unwrap(); @@ -87,6 +86,7 @@ pub(crate) mod tests { } #[test] + fn returns_complete_status_for_fully_rewarded_node() { // with single page let mut deps = test_helpers::init_contract(); @@ -106,12 +106,17 @@ pub(crate) mod tests { env.block.height += constants::MINIMUM_BLOCK_AGE_FOR_REWARDING; let info = mock_info(rewarding_validator_address.as_ref(), &[]); + + let epoch = epoch_fixture(); + save_epoch(&mut deps.storage, &epoch).unwrap(); + save_epoch_reward_params(epoch.id(), &mut deps.storage).unwrap(); + try_reward_mixnode( deps.as_mut(), env.clone(), info, node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), + tests::fixtures::node_reward_params_fixture(100), 0, ) .unwrap(); @@ -121,14 +126,7 @@ pub(crate) mod tests { match res.status.unwrap() { RewardingStatus::Complete(result) => { - assert_ne!( - RewardingResult::default().operator_reward, - result.operator_reward - ); - assert_eq!( - RewardingResult::default().total_delegator_reward, - result.total_delegator_reward - ); + assert_ne!(RewardingResult::default().node_reward, result.node_reward); } _ => unreachable!(), } @@ -161,93 +159,21 @@ pub(crate) mod tests { env, info.clone(), node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), + tests::fixtures::node_reward_params_fixture(100), 1, ) .unwrap(); // rewards all pending - try_reward_next_mixnode_delegators(deps.as_mut(), info, node_identity.to_string(), 1) - .unwrap(); + // try_reward_next_mixnode_delegators(deps.as_mut(), info, node_identity.to_string(), 1) + // .unwrap(); let res = query_rewarding_status(deps.as_ref(), node_identity, 1).unwrap(); assert!(matches!(res.status, Some(RewardingStatus::Complete(..)))); match res.status.unwrap() { RewardingStatus::Complete(result) => { - assert_ne!( - RewardingResult::default().operator_reward, - result.operator_reward - ); - assert_ne!( - RewardingResult::default().total_delegator_reward, - result.total_delegator_reward - ); - } - _ => unreachable!(), - } - } - - #[test] - fn returns_pending_next_delegator_page_status_when_there_are_more_delegators_to_reward() { - let mut deps = test_helpers::init_contract(); - let mut env = mock_env(); - let current_state = mixnet_params_storage::CONTRACT_STATE - .load(deps.as_mut().storage) - .unwrap(); - let rewarding_validator_address = current_state.rewarding_validator_address; - - let node_owner: Addr = Addr::unchecked("bob"); - let node_identity = test_helpers::add_mixnode( - node_owner.as_str(), - tests::fixtures::good_mixnode_pledge(), - deps.as_mut(), - ); - - for i in 0..MIXNODE_DELEGATORS_PAGE_LIMIT + 123 { - try_delegate_to_mixnode( - deps.as_mut(), - env.clone(), - mock_info(&*format!("delegator{:04}", i), &[coin(200_000000, DENOM)]), - node_identity.clone(), - ) - .unwrap(); - } - - env.block.height += constants::MINIMUM_BLOCK_AGE_FOR_REWARDING; - - let info = mock_info(rewarding_validator_address.as_ref(), &[]); - - try_reward_mixnode( - deps.as_mut(), - env, - info, - node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), - 0, - ) - .unwrap(); - - let res = query_rewarding_status(deps.as_ref(), node_identity, 0).unwrap(); - assert!(matches!( - res.status, - Some(RewardingStatus::PendingNextDelegatorPage(..)) - )); - - match res.status.unwrap() { - RewardingStatus::PendingNextDelegatorPage(result) => { - assert_ne!( - RewardingResult::default().operator_reward, - result.running_results.operator_reward - ); - assert_ne!( - RewardingResult::default().total_delegator_reward, - result.running_results.total_delegator_reward - ); - assert_eq!( - &*format!("delegator{:04}", MIXNODE_DELEGATORS_PAGE_LIMIT), - result.next_start - ); + assert_ne!(RewardingResult::default().node_reward, result.node_reward); } _ => unreachable!(), } diff --git a/contracts/mixnet/src/rewards/storage.rs b/contracts/mixnet/src/rewards/storage.rs index ca5b0538b6..b9055db900 100644 --- a/contracts/mixnet/src/rewards/storage.rs +++ b/contracts/mixnet/src/rewards/storage.rs @@ -5,12 +5,31 @@ use crate::error::ContractError; use config::defaults::TOTAL_SUPPLY; use cosmwasm_std::{StdResult, Storage, Uint128}; use cw_storage_plus::{Item, Map}; -use mixnet_contract_common::{IdentityKey, RewardingStatus}; +use mixnet_contract_common::{reward_params::EpochRewardParams, IdentityKey, RewardingStatus}; + +type BlockHeight = u64; +type Address = String; pub(crate) const REWARD_POOL: Item<'_, Uint128> = Item::new("pool"); // TODO: Do we need a migration for this? pub(crate) const REWARDING_STATUS: Map<'_, (u32, IdentityKey), RewardingStatus> = Map::new("rm"); +pub(crate) const DELEGATOR_REWARD_CLAIMED_HEIGHT: Map<'_, (Address, IdentityKey), BlockHeight> = + Map::new("drc"); +pub(crate) const OPERATOR_REWARD_CLAIMED_HEIGHT: Map<'_, (Address, IdentityKey), BlockHeight> = + Map::new("orc"); + +type EpochId = u32; + +pub(crate) const EPOCH_REWARD_PARAMS: Map<'_, EpochId, EpochRewardParams> = Map::new("epr"); + +pub fn epoch_reward_params_for_id( + storage: &dyn Storage, + id: EpochId, +) -> StdResult { + EPOCH_REWARD_PARAMS.load(storage, id) +} + #[allow(dead_code)] pub fn incr_reward_pool( amount: Uint128, diff --git a/contracts/mixnet/src/rewards/transactions.rs b/contracts/mixnet/src/rewards/transactions.rs index 258fac586c..38e53e553e 100644 --- a/contracts/mixnet/src/rewards/transactions.rs +++ b/contracts/mixnet/src/rewards/transactions.rs @@ -1,30 +1,299 @@ // Copyright 2021 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -use super::storage; +use super::storage::{self, epoch_reward_params_for_id, DELEGATOR_REWARD_CLAIMED_HEIGHT}; use crate::constants; use crate::delegations::storage as delegations_storage; +use crate::delegations::transactions::_try_delegate_to_mixnode; use crate::error::ContractError; -use crate::interval::storage as interval_storage; +use crate::interval::storage::{self as interval_storage}; use crate::mixnet_contract_settings::storage as mixnet_params_storage; -use crate::mixnodes::storage as mixnodes_storage; +use crate::mixnodes::storage::mixnodes; +use crate::mixnodes::storage::{self as mixnodes_storage, StoredMixnodeBond}; use crate::rewards::helpers; -use cosmwasm_std::{Addr, DepsMut, Env, MessageInfo, Response, StdResult, Storage, Uint128}; -use cw_storage_plus::{Bound, PrimaryKey}; +use config::defaults::DENOM; +use cosmwasm_std::{Addr, Api, Coin, DepsMut, Env, MessageInfo, Order, Response, Storage, Uint128}; use mixnet_contract_common::events::{ - new_mix_delegators_rewarding_event, new_mix_operator_rewarding_event, - new_not_found_mix_operator_rewarding_event, new_too_fresh_bond_mix_operator_rewarding_event, - new_zero_uptime_mix_operator_rewarding_event, -}; -use mixnet_contract_common::mixnode::{DelegatorRewardParams, NodeRewardParams}; -use mixnet_contract_common::{ - IdentityKey, RewardingResult, RewardingStatus, MIXNODE_DELEGATORS_PAGE_LIMIT, + new_compound_delegator_reward_event, new_compound_operator_reward_event, + new_mix_operator_rewarding_event, new_not_found_mix_operator_rewarding_event, + new_too_fresh_bond_mix_operator_rewarding_event, new_zero_uptime_mix_operator_rewarding_event, }; +use mixnet_contract_common::mixnode::StoredNodeRewardResult; +use mixnet_contract_common::reward_params::{NodeEpochRewards, NodeRewardParams, RewardParams}; +use mixnet_contract_common::{Delegation, IdentityKey, RewardingStatus}; -#[derive(Debug)] -struct MixDelegationRewardingResult { - total_rewarded: Uint128, - start_next: Option, +use mixnet_contract_common::RewardingResult; + +pub fn try_compound_operator_reward_on_behalf( + deps: DepsMut, + env: Env, + info: MessageInfo, + owner: String, +) -> Result { + let proxy = deps.api.addr_validate(info.sender.as_str())?; + let owner = deps.api.addr_validate(&owner)?; + + let reward = + _try_compound_operator_reward(deps.storage, env.block.height, &owner, Some(proxy))?; + + Ok(Response::new().add_event(new_compound_operator_reward_event(&owner, reward))) +} + +pub fn try_compound_operator_reward( + deps: DepsMut<'_>, + env: Env, + info: MessageInfo, +) -> Result { + let owner = deps.api.addr_validate(info.sender.as_str())?; + let reward = _try_compound_operator_reward(deps.storage, env.block.height, &owner, None)?; + + Ok(Response::new().add_event(new_compound_operator_reward_event(&owner, reward))) +} + +pub fn _try_compound_operator_reward( + storage: &mut dyn Storage, + block_height: u64, + owner: &Addr, + proxy: Option, +) -> Result { + let bond = match mixnodes().idx.owner.item(storage, owner.to_owned())? { + Some(record) => record.1, + None => { + // Return if bond does not exist + return Ok(Uint128::zero()); + } + }; + + if bond.proxy != proxy { + // Return if proxy is not the same as the bond proxy + return Ok(Uint128::zero()); + } + + let mut updated_bond = bond.clone(); + let reward = calculate_operator_reward(storage, owner, &bond)?; + updated_bond.accumulated_rewards -= reward; + updated_bond.pledge_amount.amount += reward; + mixnodes().replace( + storage, + bond.identity(), + Some(&updated_bond), + Some(&bond), + block_height, + )?; + + DELEGATOR_REWARD_CLAIMED_HEIGHT.save( + storage, + (bond.identity().to_string(), owner.to_string()), + &block_height, + )?; + + Ok(reward) +} + +fn calculate_operator_reward( + storage: &dyn Storage, + owner: &Addr, + bond: &StoredMixnodeBond, +) -> Result { + let last_claimed_height = storage::OPERATOR_REWARD_CLAIMED_HEIGHT + .load(storage, (owner.to_string(), bond.identity().to_string())) + .unwrap_or(0); + + let accumulated_rewards = mixnodes() + .changelog() + .prefix(bond.identity()) + .keys(storage, None, None, Order::Ascending) + .filter_map(|height| height.ok()) + .filter(|height| last_claimed_height <= *height) + .fold( + Ok(Uint128::zero()), + |acc, height| -> Result { + let accumulated_reward = acc?; + if let Some(bond) = + mixnodes().may_load_at_height(storage, bond.identity().as_str(), height)? + { + if let Some(epoch_rewards) = bond.epoch_rewards { + let epoch_reward_params = + epoch_reward_params_for_id(storage, epoch_rewards.epoch_id())?; + // Compound rewards from previous heights + let reward_at_height = epoch_rewards.delegation_reward( + bond.pledge_amount().amount + accumulated_reward, + bond.profit_margin(), + epoch_reward_params, + )?; + return Ok(accumulated_reward + reward_at_height); + } + }; + Ok(accumulated_reward) + }, + )?; + Ok(accumulated_rewards) +} + +// calculate_delegator_reward +// - figure out when is the last time reward go claimed +// - calculate current rewards +// compound_delegator_reward +// - decrease node accumulated rewards +// - increase delegation + +pub fn try_compound_delegator_reward_on_behalf( + deps: DepsMut<'_>, + env: Env, + info: MessageInfo, + owner: String, + mix_identity: IdentityKey, +) -> Result { + let proxy = deps.api.addr_validate(info.sender.as_str())?; + let owner = deps.api.addr_validate(&owner)?; + let reward = _try_compound_delegator_reward( + env.block.height, + deps.api, + deps.storage, + owner.as_str(), + &mix_identity, + Some(proxy.clone()), + )?; + + Ok( + Response::new().add_event(new_compound_delegator_reward_event( + &owner, + &Some(proxy), + reward, + &mix_identity, + )), + ) +} + +pub fn try_compound_delegator_reward( + deps: DepsMut<'_>, + env: Env, + info: MessageInfo, + mix_identity: IdentityKey, +) -> Result { + let owner = deps.api.addr_validate(info.sender.as_str())?; + let reward = _try_compound_delegator_reward( + env.block.height, + deps.api, + deps.storage, + owner.as_str(), + &mix_identity, + None, + )?; + + Ok( + Response::new().add_event(new_compound_delegator_reward_event( + &info.sender, + &None, + reward, + &mix_identity, + )), + ) +} + +pub fn _try_compound_delegator_reward( + block_height: u64, + api: &dyn Api, + storage: &mut dyn Storage, + owner_address: &str, + mix_identity: &str, + proxy: Option, +) -> Result { + let reward = calculate_delegator_reward(storage, owner_address, mix_identity)?; + if _try_delegate_to_mixnode( + storage, + api, + block_height, + mix_identity, + owner_address, + Coin { + amount: reward, + denom: DENOM.to_string(), + }, + proxy, + ) + .is_ok() + { + // Node exists all is well, life goes on, if it does not exist we'll just return the reward to the caller as there is nothing to do on the bond + if let Some(mut bond) = mixnodes().may_load(storage, mix_identity)? { + bond.accumulated_rewards -= reward; + mixnodes().save(storage, mix_identity, &bond, block_height)?; + } + }; + + DELEGATOR_REWARD_CLAIMED_HEIGHT.save( + storage, + (mix_identity.to_string(), owner_address.to_string()), + &block_height, + )?; + + Ok(reward) +} + +// TODO: Test +// + last_reward_claimed_height is updated +// + last_reward_claimed height is correctly used +fn calculate_delegator_reward( + storage: &dyn Storage, + owner_address: &str, + mix_identity: &str, +) -> Result { + let last_claimed_height = storage::DELEGATOR_REWARD_CLAIMED_HEIGHT + .load( + storage, + (owner_address.to_string(), mix_identity.to_string()), + ) + .unwrap_or(0); + + // Get delegations newer then last_claimed_height, it would be nice to also fold this into the iteration bellow but it should be ok for now, as + // I doubt folks refresh their delegations often + let delegations = delegations_storage::delegations() + .prefix((mix_identity.to_string(), owner_address.as_bytes().to_vec())) + .range(storage, None, None, Order::Descending) + .filter_map(|record| record.ok()) + .filter(|(height, _)| last_claimed_height <= *height) + .map(|(_, delegation)| delegation) + .collect::>(); + + // This is a bit gnarly, but we want to avoid loading all heights, the loading mixnodes, so we're doing it all in the iterator + let accumulated_rewards = mixnodes() + .changelog() + .prefix(mix_identity) + .keys(storage, None, None, Order::Ascending) + .filter_map(|height| height.ok()) + .filter(|height| last_claimed_height <= *height) + .fold( + Ok(Uint128::zero()), + |acc, height| -> Result { + let accumulated_reward = acc?; + let delegation_at_height = delegations + .iter() + .filter(|d| height <= d.block_height) + .fold(Uint128::zero(), |total, delegation| { + total + delegation.amount.amount + }); + if delegation_at_height != Uint128::zero() { + if let Some(bond) = + mixnodes().may_load_at_height(storage, mix_identity, height)? + { + if let Some(epoch_rewards) = bond.epoch_rewards { + // Compound rewards from previous heights + let epoch_reward_params = + epoch_reward_params_for_id(storage, epoch_rewards.epoch_id())?; + let reward_at_height = epoch_rewards.delegation_reward( + delegation_at_height + accumulated_reward, + bond.profit_margin(), + epoch_reward_params, + )?; + return Ok(accumulated_reward + reward_at_height); + } + } + }; + Ok(accumulated_reward) + }, + )?; + + Ok(accumulated_rewards) } /// Checks whether under the current context, any rewarding-related functionalities can be called. @@ -49,7 +318,7 @@ fn verify_rewarding_state( return Err(ContractError::Unauthorized); } - let current_interval = interval_storage::CURRENT_INTERVAL.load(storage)?; + let current_interval = interval_storage::current_interval(storage)?; // make sure the transaction is sent for the correct interval // (guard ourselves against somebody trying to send stale results; @@ -64,159 +333,18 @@ fn verify_rewarding_state( } } -fn reward_mix_delegators( - storage: &mut dyn Storage, - mix_identity: IdentityKey, - start: Option, - params: DelegatorRewardParams, -) -> StdResult { - // TODO: some checks to make sure stuff is not TOO stale. - - let chunk_size = MIXNODE_DELEGATORS_PAGE_LIMIT; - - let start_value = - start.map(|start| Bound::Inclusive((mix_identity.clone(), start).joined_key())); - - let delegations = delegations_storage::delegations(); - - let mut total_rewarded = Uint128::zero(); - let mut items = 0; - - // keep track of the last iterated address so that we'd known what is the starting point - // of the next call (if required) - let mut start_next = None; - - // I really hate this intermediate allocation, but I don't think there's a nice - // way around it as we need to have immutable borrow into the bucket to retrieve delegation - // itself and then we need a mutable one to insert an updated one back - let mut rewarded_delegations = Vec::new(); - - // get `chunk_size` + 1 of delegations - // we get the additional one to know the optional starting point of the next call - // TODO: optimization for the future: we're reading 1 additional item than what's strictly - // required for this transaction thus slightly increasing the gas costs. - // however this makes the logic slightly simpler (I hope) - // Note: we can't just return last key of `chunk_size` with appended 0 byte as that - // would not be a valid utf8 string - for delegation in delegations - .idx - .mixnode - .prefix(mix_identity) - .range(storage, start_value, None, cosmwasm_std::Order::Ascending) - .take(chunk_size + 1) - { - items += 1; - - let (_pk, mut delegation) = delegation?; - - if items == chunk_size + 1 { - // we shouldn't process this data, it's for the next call - start_next = Some(delegation.owner()); - break; - } else { - // and for each of them increase the stake proportionally to the reward - // if at least `MINIMUM_BLOCK_AGE_FOR_REWARDING` blocks have been created - // since they delegated - if delegation.block_height + constants::MINIMUM_BLOCK_AGE_FOR_REWARDING - <= params.node_reward_params().reward_blockstamp() - { - let reward = params.determine_delegation_reward(delegation.amount.amount); - delegation.increment_amount(Uint128::new(reward), None); - total_rewarded += Uint128::new(reward); - - rewarded_delegations.push(delegation); - } - } - } - - // finally save all delegation data back into the storage - for rewarded_delegation in rewarded_delegations { - let storage_key = rewarded_delegation.storage_key().joined_key(); - delegations.save(storage, storage_key, &rewarded_delegation)?; - } - - Ok(MixDelegationRewardingResult { - total_rewarded, - start_next, - }) -} - -pub(crate) fn try_reward_next_mixnode_delegators( - deps: DepsMut<'_>, - info: MessageInfo, - mix_identity: IdentityKey, - interval_id: u32, -) -> Result { - verify_rewarding_state(deps.storage, info, interval_id)?; - - match storage::REWARDING_STATUS.may_load(deps.storage, (interval_id, mix_identity.clone()))? { - None => { - // we haven't called 'regular' try_reward_mixnode, i.e. the operator itself - // was not rewarded yet - Err(ContractError::MixnodeOperatorNotRewarded { - identity: mix_identity, - }) - } - Some(RewardingStatus::Complete(_)) => { - // rewarding of this mixnode operator and all of its delegators has already been completed - Err(ContractError::MixnodeAlreadyRewarded { - identity: mix_identity, - }) - } - Some(RewardingStatus::PendingNextDelegatorPage(next_page_info)) => { - let delegation_rewarding_result = reward_mix_delegators( - deps.storage, - mix_identity.clone(), - Some(next_page_info.next_start), - next_page_info.rewarding_params, - )?; - - helpers::update_post_rewarding_storage( - deps.storage, - &mix_identity, - Uint128::zero(), - delegation_rewarding_result.total_rewarded, - )?; - - let mut rewarding_results = next_page_info.running_results; - rewarding_results.total_delegator_reward += delegation_rewarding_result.total_rewarded; - - let round_increase = delegation_rewarding_result.total_rewarded; - let more_delegators = delegation_rewarding_result.start_next.is_some(); - - helpers::update_rewarding_status( - deps.storage, - interval_id, - mix_identity.clone(), - rewarding_results, - delegation_rewarding_result.start_next, - next_page_info.rewarding_params, - )?; - - Ok( - Response::new().add_event(new_mix_delegators_rewarding_event( - interval_id, - &mix_identity, - round_increase, - more_delegators, - )), - ) - } - } -} - pub(crate) fn try_reward_mixnode( deps: DepsMut<'_>, env: Env, info: MessageInfo, mix_identity: IdentityKey, params: NodeRewardParams, - interval_id: u32, + epoch_id: u32, ) -> Result { - verify_rewarding_state(deps.storage, info, interval_id)?; + verify_rewarding_state(deps.storage, info, epoch_id)?; // check if the mixnode hasn't been rewarded in this rewarding interval already - match storage::REWARDING_STATUS.may_load(deps.storage, (interval_id, mix_identity.clone()))? { + match storage::REWARDING_STATUS.may_load(deps.storage, (epoch_id, mix_identity.clone()))? { None => (), Some(RewardingStatus::Complete(_)) => { return Err(ContractError::MixnodeAlreadyRewarded { @@ -231,30 +359,30 @@ pub(crate) fn try_reward_mixnode( } // check if the bond even exists - let current_bond = match mixnodes_storage::read_full_mixnode_bond(deps.storage, &mix_identity)? - { - Some(bond) => bond, - None => { - return Ok( - Response::new().add_event(new_not_found_mix_operator_rewarding_event( - interval_id, - &mix_identity, - )), - ) - } - }; + let mut current_bond = + match mixnodes_storage::read_full_mixnode_bond(deps.storage, &mix_identity)? { + Some(bond) => bond, + None => { + return Ok( + Response::new().add_event(new_not_found_mix_operator_rewarding_event( + epoch_id, + &mix_identity, + )), + ) + } + }; // check if node is old enough for rewarding if current_bond.block_height + constants::MINIMUM_BLOCK_AGE_FOR_REWARDING > env.block.height { storage::REWARDING_STATUS.save( deps.storage, - (interval_id, mix_identity.clone()), + (epoch_id, mix_identity.clone()), &RewardingStatus::Complete(Default::default()), )?; return Ok( Response::new().add_event(new_too_fresh_bond_mix_operator_rewarding_event( - interval_id, + epoch_id, &mix_identity, )), ); @@ -267,13 +395,13 @@ pub(crate) fn try_reward_mixnode( if params.uptime() == 0 { storage::REWARDING_STATUS.save( deps.storage, - (interval_id, mix_identity.clone()), + (epoch_id, mix_identity.clone()), &RewardingStatus::Complete(Default::default()), )?; return Ok( Response::new().add_event(new_zero_uptime_mix_operator_rewarding_event( - interval_id, + epoch_id, &mix_identity, )), ); @@ -282,73 +410,77 @@ pub(crate) fn try_reward_mixnode( let mut node_reward_params = params; node_reward_params.set_reward_blockstamp(env.block.height); - let node_reward_result = current_bond.reward(&node_reward_params); + let epoch_reward_params = crate::interval::storage::current_epoch_reward_params(deps.storage)?; + let reward_params = RewardParams::new(epoch_reward_params, node_reward_params); + let node_reward_result = current_bond.reward(&reward_params); + let stored_node_result: StoredNodeRewardResult = node_reward_result.try_into()?; - // Omitting the price per packet function now, it follows that base operator reward is the node_reward - let operator_reward = Uint128::new(current_bond.operator_reward(&node_reward_params)); - - let delegator_params = DelegatorRewardParams::new(¤t_bond, node_reward_params); - let delegation_rewarding_result = - reward_mix_delegators(deps.storage, mix_identity.clone(), None, delegator_params)?; - - helpers::update_post_rewarding_storage( + current_bond.accumulated_rewards += stored_node_result.reward(); + let mut stored_bond: StoredMixnodeBond = current_bond.into(); + // technically we don't have to set the total_delegation bucket, but it makes things easier + // in different places that we can guarantee that if node exists, so does the data behind the total delegation + let identity = stored_bond.identity(); + crate::mixnodes::storage::mixnodes().save( deps.storage, - &mix_identity, - operator_reward, - delegation_rewarding_result.total_rewarded, + identity, + &stored_bond, + env.block.height, )?; - let rewarding_results = RewardingResult { - operator_reward, - total_delegator_reward: delegation_rewarding_result.total_rewarded, + stored_bond.epoch_rewards = Some(NodeEpochRewards::new( + node_reward_params, + stored_node_result, + epoch_id, + )); + + // Take rewards out of the rewarding pool + storage::decr_reward_pool(deps.storage, stored_node_result.reward())?; + + let rewarding_result = RewardingResult { + node_reward: stored_node_result.reward(), }; - let total_delegator_reward = rewarding_results.total_delegator_reward; - let further_delegations = delegation_rewarding_result.start_next.is_some(); helpers::update_rewarding_status( deps.storage, - interval_id, + epoch_id, mix_identity.clone(), - rewarding_results, - delegation_rewarding_result.start_next, - delegator_params, + rewarding_result, )?; Ok(Response::new().add_event(new_mix_operator_rewarding_event( - interval_id, + epoch_id, &mix_identity, node_reward_result, node_pledge, node_delegation, - operator_reward, - total_delegator_reward, - further_delegations, ))) } #[cfg(test)] pub mod tests { use super::*; - use crate::constants::SYBIL_RESISTANCE_PERCENT; + use crate::constants::EPOCHS_IN_INTERVAL; use crate::delegations::transactions::try_delegate_to_mixnode; use crate::error::ContractError; + use crate::interval::storage::{ + current_epoch_reward_params, save_epoch, save_epoch_reward_params, + }; use crate::mixnet_contract_settings::storage as mixnet_params_storage; use crate::mixnodes::storage as mixnodes_storage; use crate::mixnodes::storage::StoredMixnodeBond; use crate::rewards::transactions::try_reward_mixnode; use crate::support::tests; + use crate::support::tests::fixtures::epoch_fixture; use crate::support::tests::test_helpers; + use az::CheckedCast; use config::defaults::DENOM; use cosmwasm_std::testing::{mock_env, mock_info}; - use cosmwasm_std::Coin; - use cosmwasm_std::Order; use cosmwasm_std::{coin, coins, Addr, Uint128}; use mixnet_contract_common::events::{ - must_find_attribute, BOND_TOO_FRESH_VALUE, DISTRIBUTED_DELEGATION_REWARDS_KEY, - FURTHER_DELEGATIONS_TO_REWARD_KEY, NO_REWARD_REASON_KEY, OPERATOR_REWARDING_EVENT_TYPE, - OPERATOR_REWARD_KEY, TOTAL_MIXNODE_REWARD_KEY, + must_find_attribute, BOND_TOO_FRESH_VALUE, NO_REWARD_REASON_KEY, + OPERATOR_REWARDING_EVENT_TYPE, }; - use mixnet_contract_common::mixnode::NodeRewardParams; + use mixnet_contract_common::reward_params::{NodeRewardParams, RewardParams}; use mixnet_contract_common::{Delegation, IdentityKey, Layer, MixNode}; #[test] @@ -375,7 +507,7 @@ pub mod tests { env.clone(), info.clone(), node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), + tests::fixtures::node_reward_params_fixture(100), 1, ); assert_eq!( @@ -391,7 +523,7 @@ pub mod tests { env.clone(), info.clone(), node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), + tests::fixtures::node_reward_params_fixture(100), 2, ); assert_eq!( @@ -407,7 +539,7 @@ pub mod tests { env.clone(), info.clone(), node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), + tests::fixtures::node_reward_params_fixture(100), 0, ); assert!(res.is_ok()); @@ -419,7 +551,7 @@ pub mod tests { env.clone(), info, node_identity, - tests::fixtures::node_rewarding_params_fixture(100), + tests::fixtures::node_reward_params_fixture(100), 1, ); assert!(res.is_ok()); @@ -450,7 +582,7 @@ pub mod tests { env.clone(), info.clone(), node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), + tests::fixtures::node_reward_params_fixture(100), 0, ); assert!(res.is_ok()); @@ -461,7 +593,7 @@ pub mod tests { env.clone(), info.clone(), node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), + tests::fixtures::node_reward_params_fixture(100), 0, ); assert_eq!( @@ -479,7 +611,7 @@ pub mod tests { env, info, node_identity, - tests::fixtures::node_rewarding_params_fixture(100), + tests::fixtures::node_reward_params_fixture(100), 1, ); assert!(res.is_ok()); @@ -509,10 +641,17 @@ pub mod tests { ..tests::fixtures::mix_node_fixture() }, proxy: None, + accumulated_rewards: Uint128::zero(), + epoch_rewards: None, }; mixnodes_storage::mixnodes() - .save(deps.as_mut().storage, &node_identity, &mixnode_bond) + .save( + deps.as_mut().storage, + &node_identity, + &mixnode_bond, + env.block.height, + ) .unwrap(); mixnodes_storage::TOTAL_DELEGATION .save( @@ -528,7 +667,7 @@ pub mod tests { delegations_storage::delegations() .save( deps.as_mut().storage, - (node_identity.clone(), "delegator").joined_key(), + (node_identity.clone(), "delegator".into(), env.block.height), &Delegation::new( Addr::unchecked("delegator"), node_identity.clone(), @@ -546,7 +685,7 @@ pub mod tests { env.clone(), info.clone(), node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), + tests::fixtures::node_reward_params_fixture(100), 0, ) .unwrap(); @@ -576,22 +715,26 @@ pub mod tests { test_helpers::update_env_and_progress_interval(&mut env, deps.as_mut().storage); let info = mock_info(rewarding_validator_address.as_ref(), &[]); + + let epoch = epoch_fixture(); + save_epoch(&mut deps.storage, &epoch).unwrap(); + save_epoch_reward_params(epoch.id(), &mut deps.storage).unwrap(); + let res = try_reward_mixnode( deps.as_mut(), env.clone(), info.clone(), node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), + tests::fixtures::node_reward_params_fixture(100), 1, ) .unwrap(); - assert!( - test_helpers::read_mixnode_pledge_amount(deps.as_ref().storage, &node_identity) - .unwrap() - .u128() - > initial_bond - ); + let mixnode = crate::mixnodes::storage::mixnodes() + .load(&deps.storage, &node_identity) + .unwrap(); + + assert!(mixnode.accumulated_rewards > Uint128::zero(),); assert_eq!( initial_delegation, mixnodes_storage::TOTAL_DELEGATION @@ -603,16 +746,16 @@ pub mod tests { assert_eq!(1, res.events.len()); let event = &res.events[0]; assert_eq!(OPERATOR_REWARDING_EVENT_TYPE, event.ty); - assert_ne!("0", must_find_attribute(event, TOTAL_MIXNODE_REWARD_KEY)); - assert_ne!("0", must_find_attribute(event, OPERATOR_REWARD_KEY)); - assert_eq!( - "0", - must_find_attribute(event, DISTRIBUTED_DELEGATION_REWARDS_KEY) - ); - assert_eq!( - false.to_string(), - must_find_attribute(event, FURTHER_DELEGATIONS_TO_REWARD_KEY) - ); + // assert_ne!("0", must_find_attribute(event, TOTAL_MIXNODE_REWARD_KEY)); + // assert_ne!("0", must_find_attribute(event, OPERATOR_REWARD_KEY)); + // assert_eq!( + // "0", + // must_find_attribute(event, DISTRIBUTED_DELEGATION_REWARDS_KEY) + // ); + // assert_eq!( + // false.to_string(), + // must_find_attribute(event, FURTHER_DELEGATIONS_TO_REWARD_KEY) + // ); // reward happens now, both for node owner and delegators env.block.height += constants::MINIMUM_BLOCK_AGE_FOR_REWARDING - 1; @@ -629,38 +772,39 @@ pub mod tests { env, info.clone(), node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), + tests::fixtures::node_reward_params_fixture(100), 2, ) .unwrap(); - assert!( + // We are in a lazy system, rewarding will not increase pledge or delegations + assert_eq!( test_helpers::read_mixnode_pledge_amount(deps.as_ref().storage, &node_identity) .unwrap() - .u128() - > pledge_before_rewarding + .u128(), + pledge_before_rewarding ); - assert!( + assert_eq!( mixnodes_storage::TOTAL_DELEGATION .load(deps.as_ref().storage, &node_identity) .unwrap() - .u128() - > initial_delegation + .u128(), + initial_delegation ); assert_eq!(1, res.events.len()); let event = &res.events[0]; assert_eq!(OPERATOR_REWARDING_EVENT_TYPE, event.ty); - assert_ne!("0", must_find_attribute(event, TOTAL_MIXNODE_REWARD_KEY)); - assert_ne!("0", must_find_attribute(event, OPERATOR_REWARD_KEY)); - assert_ne!( - "0", - must_find_attribute(event, DISTRIBUTED_DELEGATION_REWARDS_KEY) - ); - assert_eq!( - false.to_string(), - must_find_attribute(event, FURTHER_DELEGATIONS_TO_REWARD_KEY) - ); + // assert_ne!("0", must_find_attribute(event, TOTAL_MIXNODE_REWARD_KEY)); + // assert_ne!("0", must_find_attribute(event, OPERATOR_REWARD_KEY)); + // assert_ne!( + // "0", + // must_find_attribute(event, DISTRIBUTED_DELEGATION_REWARDS_KEY) + // ); + // assert_eq!( + // false.to_string(), + // must_find_attribute(event, FURTHER_DELEGATIONS_TO_REWARD_KEY) + // ); } #[test] @@ -676,11 +820,9 @@ pub mod tests { .load(deps.as_ref().storage) .unwrap(); let rewarding_validator_address = current_state.rewarding_validator_address; - let period_reward_pool = (INITIAL_REWARD_POOL / 100) * INTERVAL_REWARD_PERCENT as u128; - assert_eq!(period_reward_pool, 5_000_000_000_000); - let rewarded_set_size = 200; // Imagining our reward set size is 200 - let active_set_size = 100; - let active_set_work_factor = 10; + let period_reward_pool = (INITIAL_REWARD_POOL / 100 / EPOCHS_IN_INTERVAL as u128) + * INTERVAL_REWARD_PERCENT as u128; + assert_eq!(period_reward_pool, 6_944_444_444); let circulating_supply = storage::circulating_supply(&deps.storage).unwrap().u128(); assert_eq!(circulating_supply, 750_000_000_000_000u128); @@ -707,6 +849,12 @@ pub mod tests { ) .unwrap(); + crate::delegations::transactions::_try_reconcile_all_delegation_events( + &mut deps.storage, + &deps.api, + ) + .unwrap(); + let info = mock_info(rewarding_validator_address.as_ref(), &[]); env.block.height += 2 * constants::MINIMUM_BLOCK_AGE_FOR_REWARDING; @@ -715,43 +863,46 @@ pub mod tests { .unwrap(); let mix_1_uptime = 100; - let mut params = NodeRewardParams::new( - period_reward_pool, - rewarded_set_size, - active_set_size, - 0, - circulating_supply, - mix_1_uptime, - SYBIL_RESISTANCE_PERCENT, - true, - active_set_work_factor, - ); + let epoch = epoch_fixture(); + save_epoch(&mut deps.storage, &epoch).unwrap(); + save_epoch_reward_params(epoch.id(), &mut deps.storage).unwrap(); + + let interval_reward_params = current_epoch_reward_params(&deps.storage).unwrap(); + + let node_reward_params = NodeRewardParams::new(0, mix_1_uptime, true); + + let mut params = RewardParams::new(interval_reward_params, node_reward_params); params.set_reward_blockstamp(env.block.height); - assert_eq!(params.performance(), 1); + assert_eq!(params.performance(), U128::from_num(1u32)); let mix_1_reward_result = mix_1.reward(¶ms); assert_eq!( mix_1_reward_result.sigma(), - U128::from_num(0.0000266666666666) + U128::from_num(0.0000266666666666f64) ); assert_eq!( mix_1_reward_result.lambda(), - U128::from_num(0.0000133333333333) + U128::from_num(0.0000133333333333f64) ); - assert_eq!(mix_1_reward_result.reward().int(), 186562237); + assert_eq!(mix_1_reward_result.reward().int(), 259114u128); - let mix1_operator_profit = mix_1.operator_reward(¶ms); + let mix1_operator_reward = mix_1.operator_reward(¶ms); let mix1_delegator1_reward = mix_1.reward_delegation(Uint128::new(8000_000000), ¶ms); let mix1_delegator2_reward = mix_1.reward_delegation(Uint128::new(2000_000000), ¶ms); - assert_eq!(mix1_operator_profit, U128::from_num(120609230)); - assert_eq!(mix1_delegator1_reward, U128::from_num(52762405)); - assert_eq!(mix1_delegator2_reward, U128::from_num(13190601)); + assert_eq!(mix1_operator_reward, 167513); + assert_eq!(mix1_delegator1_reward, 73280); + assert_eq!(mix1_delegator2_reward, 18320); + + assert_eq!( + mix1_operator_reward + mix1_delegator1_reward + mix1_delegator2_reward + 1, + mix_1_reward_result.reward().int() + ); let pre_reward_bond = test_helpers::read_mixnode_pledge_amount(&deps.storage, &node_identity) @@ -765,28 +916,44 @@ pub mod tests { .u128(); assert_eq!(pre_reward_delegation, 10_000_000_000); - try_reward_mixnode(deps.as_mut(), env, info, node_identity.clone(), params, 0).unwrap(); + try_reward_mixnode( + deps.as_mut(), + env, + info, + node_identity.clone(), + node_reward_params, + 0, + ) + .unwrap(); + + let mixnode = crate::mixnodes::storage::mixnodes() + .load(&deps.storage, &node_identity) + .unwrap(); assert_eq!( test_helpers::read_mixnode_pledge_amount(&deps.storage, &node_identity) .unwrap() - .u128(), - U128::from_num(pre_reward_bond) + U128::from_num(mix1_operator_profit) - ); - assert_eq!( - mixnodes_storage::TOTAL_DELEGATION - .load(&deps.storage, &node_identity) - .unwrap() - .u128(), - pre_reward_delegation + mix1_delegator1_reward + mix1_delegator2_reward + .u128() + + mixnode.accumulated_rewards.u128(), + pre_reward_bond + + mix1_operator_reward + + mix1_delegator1_reward + + mix1_delegator2_reward + + 1 // There is a rounding error here it seems ); + // assert_eq!( + // mixnodes_storage::TOTAL_DELEGATION + // .load(&deps.storage, &node_identity) + // .unwrap() + // .u128(), + // pre_reward_delegation + mix1_delegator1_reward + mix1_delegator2_reward + // ); assert_eq!( storage::REWARD_POOL.load(&deps.storage).unwrap().u128(), - U128::from_num(INITIAL_REWARD_POOL) - - (U128::from_num(mix1_operator_profit) - + U128::from_num(mix1_delegator1_reward) - + U128::from_num(mix1_delegator2_reward)) + INITIAL_REWARD_POOL + - (mix1_operator_reward + mix1_delegator1_reward + mix1_delegator2_reward) + - 1 // Same rounding error, its 1 ucoin, it will manifest/correct when the rewards are claimed ); // it's all correctly saved @@ -796,10 +963,7 @@ pub mod tests { { RewardingStatus::Complete(result) => assert_eq!( RewardingResult { - operator_reward: Uint128::new(mix1_operator_profit), - total_delegator_reward: Uint128::new( - mix1_delegator1_reward + mix1_delegator2_reward - ) + node_reward: Uint128::new(mix_1_reward_result.reward().checked_cast().unwrap()), }, result ), @@ -807,418 +971,10 @@ pub mod tests { } } - #[cfg(test)] - mod mixnode_rewarding_distributes_rewards_to_up_to_one_page_of_delegators { - - #[test] - fn with_10_delegations() { - use super::*; - - let mut deps = test_helpers::init_contract(); - let mut env = mock_env(); - let current_state = mixnet_params_storage::CONTRACT_STATE - .load(deps.as_mut().storage) - .unwrap(); - let rewarding_validator_address = current_state.rewarding_validator_address; - - #[allow(clippy::inconsistent_digit_grouping)] - let mix_bond = Uint128::new(10000_000_000); - let delegation_value = 2000_000000; - - let node_owner: Addr = Addr::unchecked("10delegators"); - let node_identity = test_helpers::add_mixnode( - node_owner.as_str(), - vec![Coin { - denom: DENOM.to_string(), - amount: mix_bond, - }], - deps.as_mut(), - ); - - for i in 0..10 { - try_delegate_to_mixnode( - deps.as_mut(), - env.clone(), - mock_info( - &*format!("delegator{}", i), - &[coin(delegation_value, DENOM)], - ), - node_identity.clone(), - ) - .unwrap(); - } - - env.block.height += constants::MINIMUM_BLOCK_AGE_FOR_REWARDING; - - let info = mock_info(rewarding_validator_address.as_ref(), &[]); - let res = try_reward_mixnode( - deps.as_mut(), - env, - info, - node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), - 0, - ) - .unwrap(); - assert_eq!( - false.to_string(), - must_find_attribute(&res.events[0], FURTHER_DELEGATIONS_TO_REWARD_KEY) - ); - - for i in 0..10 { - let delegation = test_helpers::read_delegation( - &deps.storage, - node_identity.clone(), - format!("delegator{}", i), - ) - .unwrap(); - - assert!(delegation.amount.amount > Uint128::new(delegation_value)); - } - } - - #[test] - fn with_full_page_limit() { - use super::*; - - let mut deps = test_helpers::init_contract(); - let mut env = mock_env(); - let current_state = mixnet_params_storage::CONTRACT_STATE - .load(deps.as_mut().storage) - .unwrap(); - let rewarding_validator_address = current_state.rewarding_validator_address; - - #[allow(clippy::inconsistent_digit_grouping)] - let mix_bond = Uint128::new(10000_000_000); - let delegation_value = 2000_000000; - - let node_owner: Addr = Addr::unchecked("MIXNODE_DELEGATORS_PAGE_LIMIT_delegators"); - let node_identity = test_helpers::add_mixnode( - node_owner.as_str(), - vec![Coin { - denom: DENOM.to_string(), - amount: mix_bond, - }], - deps.as_mut(), - ); - - for i in 0..MIXNODE_DELEGATORS_PAGE_LIMIT { - try_delegate_to_mixnode( - deps.as_mut(), - env.clone(), - mock_info( - &*format!("delegator{}", i), - &[coin(delegation_value, DENOM)], - ), - node_identity.clone(), - ) - .unwrap(); - } - - env.block.height += constants::MINIMUM_BLOCK_AGE_FOR_REWARDING; - - let info = mock_info(rewarding_validator_address.as_ref(), &[]); - let res = try_reward_mixnode( - deps.as_mut(), - env, - info, - node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), - 0, - ) - .unwrap(); - assert_eq!( - false.to_string(), - must_find_attribute(&res.events[0], FURTHER_DELEGATIONS_TO_REWARD_KEY) - ); - - for i in 0..MIXNODE_DELEGATORS_PAGE_LIMIT { - let delegation = test_helpers::read_delegation( - &deps.storage, - node_identity.clone(), - format!("delegator{}", i), - ) - .unwrap(); - - assert!(delegation.amount.amount > Uint128::new(delegation_value)); - } - } - - #[test] - fn with_more_than_full_page_limit() { - use super::*; - - let mut deps = test_helpers::init_contract(); - let mut env = mock_env(); - let current_state = mixnet_params_storage::CONTRACT_STATE - .load(deps.as_mut().storage) - .unwrap(); - let rewarding_validator_address = current_state.rewarding_validator_address; - - #[allow(clippy::inconsistent_digit_grouping)] - let mix_bond = Uint128::new(10000_000_000); - let delegation_value = 2000_000000; - - let node_owner: Addr = Addr::unchecked("MIXNODE_DELEGATORS_PAGE_LIMIT+1_delegators"); - let node_identity = test_helpers::add_mixnode( - node_owner.as_str(), - vec![Coin { - denom: DENOM.to_string(), - amount: mix_bond, - }], - deps.as_mut(), - ); - - for i in 0..MIXNODE_DELEGATORS_PAGE_LIMIT + 1 { - try_delegate_to_mixnode( - deps.as_mut(), - env.clone(), - mock_info( - &*format!("delegator{:04}", i), - &[coin(delegation_value, DENOM)], - ), - node_identity.clone(), - ) - .unwrap(); - } - - env.block.height += constants::MINIMUM_BLOCK_AGE_FOR_REWARDING; - - let info = mock_info(rewarding_validator_address.as_ref(), &[]); - let res = try_reward_mixnode( - deps.as_mut(), - env, - info, - node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), - 0, - ) - .unwrap(); - assert_eq!( - true.to_string(), - must_find_attribute(&res.events[0], FURTHER_DELEGATIONS_TO_REWARD_KEY) - ); - - for i in 0..MIXNODE_DELEGATORS_PAGE_LIMIT { - let delegation = test_helpers::read_delegation( - &deps.storage, - node_identity.clone(), - format!("delegator{:04}", i), - ) - .unwrap(); - - assert!(delegation.amount.amount > Uint128::new(delegation_value)); - } - - let delegation = test_helpers::read_delegation( - &deps.storage, - node_identity, - format!("delegator{:04}", MIXNODE_DELEGATORS_PAGE_LIMIT), - ) - .unwrap(); - - assert_eq!(delegation.amount.amount, Uint128::new(delegation_value)); - } - } - - #[test] - fn rewarding_mix_delegators_return_consistent_results() { - // with single page - let mut deps = test_helpers::init_contract(); - let mut env = mock_env(); - - let node_owner: Addr = Addr::unchecked("bob"); - - #[allow(clippy::inconsistent_digit_grouping)] - let node_identity = test_helpers::add_mixnode( - node_owner.as_str(), - coins(10000_000_000, DENOM), - deps.as_mut(), - ); - - let bond = mixnodes_storage::read_full_mixnode_bond(deps.as_ref().storage, &*node_identity) - .unwrap() - .unwrap(); - - let base_delegation = 200_000000; - let delegations = 123; - - for i in 0..delegations { - try_delegate_to_mixnode( - deps.as_mut(), - env.clone(), - mock_info( - &*format!("delegator{:04}", i), - &[coin(base_delegation, DENOM)], - ), - node_identity.clone(), - ) - .unwrap(); - } - - env.block.height += constants::MINIMUM_BLOCK_AGE_FOR_REWARDING + 1; - let mut node_rewarding_params = tests::fixtures::node_rewarding_params_fixture(100); - node_rewarding_params.set_reward_blockstamp(env.block.height); - - let params = DelegatorRewardParams::new(&bond, node_rewarding_params); - let res = reward_mix_delegators(deps.as_mut().storage, node_identity.clone(), None, params) - .unwrap(); - - let mut actual_reward = Uint128::new(0); - for delegation in delegations_storage::delegations() - .idx - .mixnode - .prefix(node_identity) - .range(deps.as_ref().storage, None, None, Order::Ascending) - { - actual_reward += - Uint128::new(delegation.unwrap().1.amount.amount.u128() - base_delegation); - } - - // sanity check to make sure we actually gave out any rewards - assert_ne!(actual_reward, Uint128::zero()); - - assert_eq!(actual_reward, res.total_rewarded); - assert!(res.start_next.is_none()); - - // with paging - let node_owner: Addr = Addr::unchecked("alice"); - - #[allow(clippy::inconsistent_digit_grouping)] - let node_identity = test_helpers::add_mixnode( - node_owner.as_str(), - coins(10000_000_000, DENOM), - deps.as_mut(), - ); - - let bond = mixnodes_storage::read_full_mixnode_bond(deps.as_ref().storage, &*node_identity) - .unwrap() - .unwrap(); - - let base_delegation = 200_000000; - let delegations = MIXNODE_DELEGATORS_PAGE_LIMIT + 123; - - for i in 0..delegations { - try_delegate_to_mixnode( - deps.as_mut(), - env.clone(), - mock_info( - &*format!("delegator{:04}", i), - &[coin(base_delegation, DENOM)], - ), - node_identity.clone(), - ) - .unwrap(); - } - - env.block.height += constants::MINIMUM_BLOCK_AGE_FOR_REWARDING + 1; - let mut node_rewarding_params = tests::fixtures::node_rewarding_params_fixture(100); - node_rewarding_params.set_reward_blockstamp(env.block.height); - - let params = DelegatorRewardParams::new(&bond, node_rewarding_params); - let res = reward_mix_delegators(deps.as_mut().storage, node_identity.clone(), None, params) - .unwrap(); - - let mut actual_reward = Uint128::new(0); - for delegation in delegations_storage::delegations() - .idx - .mixnode - .prefix(node_identity.clone()) - .range_raw(deps.as_ref().storage, None, None, Order::Ascending) - { - let (primary_key, delegation) = delegation.unwrap(); - let delegator_reward = Uint128::new(delegation.amount.amount.u128() - base_delegation); - actual_reward += delegator_reward; - - // we start from index 2 as first 2 bytes are used to indicate length of first part - // of the composite key - let id_delegator = String::from_utf8_lossy(&primary_key[2..]); - - let delegator_id: usize = id_delegator - .strip_prefix(&node_identity) - .unwrap() - .strip_prefix("delegator") - .unwrap() - .parse() - .unwrap(); - if delegator_id >= MIXNODE_DELEGATORS_PAGE_LIMIT { - // if they were in next page, they shouldn't have gotten anything! - assert_eq!(Uint128::zero(), delegator_reward) - } else { - assert_ne!(Uint128::zero(), delegator_reward); - } - } - - assert_eq!(actual_reward, res.total_rewarded); - let expected_next_page_start = format!("delegator{:04}", MIXNODE_DELEGATORS_PAGE_LIMIT); - assert_eq!(expected_next_page_start, res.start_next.clone().unwrap()); - - let res2 = reward_mix_delegators( - deps.as_mut().storage, - node_identity.clone(), - res.start_next.clone(), - params, - ) - .unwrap(); - - let start = res.start_next.unwrap(); - let mut actual_reward = Uint128::new(0); - - let start = Bound::Inclusive((node_identity.clone(), start).joined_key()); - for delegation in delegations_storage::delegations() - .idx - .mixnode - .prefix(node_identity) - .range(deps.as_ref().storage, Some(start), None, Order::Ascending) - { - actual_reward += - Uint128::new(delegation.unwrap().1.amount.amount.u128() - base_delegation); - } - - assert_eq!(actual_reward, res2.total_rewarded); - assert!(res2.start_next.is_none()); - } - #[cfg(test)] mod delegator_rewarding_tx { use super::*; - #[test] - fn can_only_be_called_by_specified_validator_address() { - let mut deps = test_helpers::init_contract(); - - let res = try_reward_next_mixnode_delegators( - deps.as_mut(), - mock_info("not-the-approved-validator", &[]), - "alice's mixnode".to_string(), - 1, - ); - assert_eq!(Err(ContractError::Unauthorized), res); - } - - #[test] - fn cannot_be_called_if_mixnodes_operator_wasnt_rewarded() { - let mut deps = test_helpers::init_contract(); - let current_state = mixnet_params_storage::CONTRACT_STATE - .load(deps.as_mut().storage) - .unwrap(); - let rewarding_validator_address = current_state.rewarding_validator_address; - - let res = try_reward_next_mixnode_delegators( - deps.as_mut(), - mock_info(rewarding_validator_address.as_ref(), &[]), - "alice's mixnode".to_string(), - 0, - ); - - assert_eq!( - Err(ContractError::MixnodeOperatorNotRewarded { - identity: "alice's mixnode".to_string() - }), - res - ) - } - #[test] fn cannot_be_called_if_mixnode_is_fully_rewarded() { // everything was done in a single reward call @@ -1240,30 +996,20 @@ pub mod tests { env.block.height += constants::MINIMUM_BLOCK_AGE_FOR_REWARDING; + let epoch = epoch_fixture(); + save_epoch(&mut deps.storage, &epoch).unwrap(); + save_epoch_reward_params(epoch.id(), &mut deps.storage).unwrap(); + try_reward_mixnode( deps.as_mut(), env.clone(), mock_info(rewarding_validator_address.as_ref(), &[]), node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), + tests::fixtures::node_reward_params_fixture(100), 0, ) .unwrap(); - let res = try_reward_next_mixnode_delegators( - deps.as_mut(), - mock_info(rewarding_validator_address.as_ref(), &[]), - node_identity.clone(), - 0, - ); - - assert_eq!( - Err(ContractError::MixnodeAlreadyRewarded { - identity: node_identity - }), - res - ); - // there was another page of delegators, but they were already dealt with let node_owner: Addr = Addr::unchecked("bob"); @@ -1274,7 +1020,7 @@ pub mod tests { deps.as_mut(), ); - for i in 0..MIXNODE_DELEGATORS_PAGE_LIMIT + 1 { + for i in 0..50 + 1 { try_delegate_to_mixnode( deps.as_mut(), env.clone(), @@ -1293,232 +1039,10 @@ pub mod tests { env, info, node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), + tests::fixtures::node_reward_params_fixture(100), 1, ) .unwrap(); - - // rewards all pending - try_reward_next_mixnode_delegators( - deps.as_mut(), - mock_info(rewarding_validator_address.as_ref(), &[]), - node_identity.clone(), - 1, - ) - .unwrap(); - - let res = try_reward_next_mixnode_delegators( - deps.as_mut(), - mock_info(rewarding_validator_address.as_ref(), &[]), - node_identity.clone(), - 1, - ); - - assert_eq!( - Err(ContractError::MixnodeAlreadyRewarded { - identity: node_identity - }), - res - ); - } - - #[test] - fn rewards_all_delegators_on_the_next_page() { - // setup: bond > page limit delegators, reward operator + first batch - let mut deps = test_helpers::init_contract(); - let mut env = mock_env(); - let current_state = mixnet_params_storage::CONTRACT_STATE - .load(deps.as_mut().storage) - .unwrap(); - let rewarding_validator_address = current_state.rewarding_validator_address; - - #[allow(clippy::inconsistent_digit_grouping)] - let mix_bond = Uint128::new(10000_000_000); - let delegation_value = 2000_000000; - - let total_delegators = 2 * MIXNODE_DELEGATORS_PAGE_LIMIT + 123; - - let node_owner: Addr = Addr::unchecked("alice"); - let node_identity = test_helpers::add_mixnode( - node_owner.as_str(), - vec![Coin { - denom: DENOM.to_string(), - amount: mix_bond, - }], - deps.as_mut(), - ); - - for i in 0..total_delegators { - try_delegate_to_mixnode( - deps.as_mut(), - env.clone(), - mock_info( - &*format!("delegator{:04}", i), - &[coin(delegation_value, DENOM)], - ), - node_identity.clone(), - ) - .unwrap(); - } - - env.block.height += constants::MINIMUM_BLOCK_AGE_FOR_REWARDING; - - let info = mock_info(rewarding_validator_address.as_ref(), &[]); - try_reward_mixnode( - deps.as_mut(), - env, - info, - node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), - 0, - ) - .unwrap(); - - // we have 3 pages in total, so we have to call this twice - try_reward_next_mixnode_delegators( - deps.as_mut(), - mock_info(rewarding_validator_address.as_ref(), &[]), - node_identity.clone(), - 0, - ) - .unwrap(); - try_reward_next_mixnode_delegators( - deps.as_mut(), - mock_info(rewarding_validator_address.as_ref(), &[]), - node_identity.clone(), - 0, - ) - .unwrap(); - - let expected = delegations_storage::delegations() - .load( - deps.as_ref().storage, - (node_identity.clone(), "delegator0001").joined_key(), - ) - .unwrap() - .amount; - - for i in 0..total_delegators { - // everyone was rewarded (and the same amount, because they all delegated the same amount) - let delegation = test_helpers::read_delegation( - &deps.storage, - node_identity.clone(), - format!("delegator{:04}", i), - ) - .unwrap(); - - assert!(delegation.amount.amount > Uint128::new(delegation_value)); - assert_eq!(expected, delegation.amount) - } - } - - #[test] - fn ignores_delegators_that_updated_their_pledge_in_the_meantime() { - // setup: bond > page limit delegators, reward operator + first batch - let mut deps = test_helpers::init_contract(); - let mut env = mock_env(); - let current_state = mixnet_params_storage::CONTRACT_STATE - .load(deps.as_mut().storage) - .unwrap(); - let rewarding_validator_address = current_state.rewarding_validator_address; - - #[allow(clippy::inconsistent_digit_grouping)] - let mix_bond = Uint128::new(10000_000_000); - let delegation_value = 2000_000000; - - let total_delegators = MIXNODE_DELEGATORS_PAGE_LIMIT + 123; - - let node_owner: Addr = Addr::unchecked("alice"); - let node_identity = test_helpers::add_mixnode( - node_owner.as_str(), - vec![Coin { - denom: DENOM.to_string(), - amount: mix_bond, - }], - deps.as_mut(), - ); - - for i in 0..total_delegators { - try_delegate_to_mixnode( - deps.as_mut(), - env.clone(), - mock_info( - &*format!("delegator{:04}", i), - &[coin(delegation_value, DENOM)], - ), - node_identity.clone(), - ) - .unwrap(); - } - - env.block.height += constants::MINIMUM_BLOCK_AGE_FOR_REWARDING; - - // update some delegations (on 'main' page and the secondary call) - try_delegate_to_mixnode( - deps.as_mut(), - env.clone(), - mock_info("delegator0123", &[coin(delegation_value, DENOM)]), - node_identity.clone(), - ) - .unwrap(); - - try_delegate_to_mixnode( - deps.as_mut(), - env.clone(), - mock_info( - &*format!("delegator{:04}", 123 + MIXNODE_DELEGATORS_PAGE_LIMIT), - &[coin(delegation_value, DENOM)], - ), - node_identity.clone(), - ) - .unwrap(); - - env.block.height += 123; - - let info = mock_info(rewarding_validator_address.as_ref(), &[]); - try_reward_mixnode( - deps.as_mut(), - env, - info, - node_identity.clone(), - tests::fixtures::node_rewarding_params_fixture(100), - 0, - ) - .unwrap(); - - // we have 3 pages in total, so we have to call this twice - try_reward_next_mixnode_delegators( - deps.as_mut(), - mock_info(rewarding_validator_address.as_ref(), &[]), - node_identity.clone(), - 0, - ) - .unwrap(); - - let expected = test_helpers::read_delegation( - &deps.storage, - node_identity.clone(), - "delegator0001", - ) - .unwrap() - .amount; - - for i in 0..total_delegators { - // everyone was rewarded (and the same amount, because they all delegated the same amount) - let delegation = test_helpers::read_delegation( - &deps.storage, - node_identity.clone(), - format!("delegator{:04}", i), - ) - .unwrap(); - - if i == 123 || i == 123 + MIXNODE_DELEGATORS_PAGE_LIMIT { - assert_eq!(delegation.amount.amount, Uint128::new(2 * delegation_value)) - } else { - assert!(delegation.amount.amount > Uint128::new(delegation_value)); - assert_eq!(expected, delegation.amount) - } - } } } } diff --git a/contracts/mixnet/src/support/helpers.rs b/contracts/mixnet/src/support/helpers.rs index 2290cbc823..dc6be894b5 100644 --- a/contracts/mixnet/src/support/helpers.rs +++ b/contracts/mixnet/src/support/helpers.rs @@ -1,11 +1,37 @@ // Copyright 2021 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -use crate::error::ContractError; -use crate::gateways::storage as gateways_storage; use crate::mixnodes::storage as mixnodes_storage; +use crate::{constants, gateways::storage as gateways_storage}; + +use crate::error::ContractError; use cosmwasm_std::{Addr, Deps, Storage}; -use mixnet_contract_common::IdentityKeyRef; +use mixnet_contract_common::{reward_params::EpochRewardParams, IdentityKeyRef}; + +pub(crate) fn epoch_reward_params( + epoch_id: u32, + storage: &mut dyn Storage, +) -> Result { + let state = crate::mixnet_contract_settings::storage::CONTRACT_STATE + .load(storage) + .map(|settings| settings.params)?; + let reward_pool = crate::rewards::storage::REWARD_POOL.load(storage)?; + let interval_reward_percent = crate::constants::INTERVAL_REWARD_PERCENT; + let epochs_in_interval = crate::constants::EPOCHS_IN_INTERVAL; + + let epoch_reward_params = EpochRewardParams::new( + (reward_pool.u128() / 100 / epochs_in_interval as u128) * interval_reward_percent as u128, + state.mixnode_rewarded_set_size as u128, + state.mixnode_active_set_size as u128, + crate::rewards::storage::circulating_supply(storage)?.u128(), + constants::SYBIL_RESISTANCE_PERCENT, + constants::ACTIVE_SET_WORK_FACTOR, + ); + + crate::rewards::storage::EPOCH_REWARD_PARAMS.save(storage, epoch_id, &epoch_reward_params)?; + + Ok(epoch_reward_params) +} pub fn generate_storage_key(address: &Addr, proxy: Option<&Addr>) -> Vec { if let Some(proxy) = &proxy { diff --git a/contracts/mixnet/src/support/tests/fixtures.rs b/contracts/mixnet/src/support/tests/fixtures.rs index f9f3927a16..ba7fdd45b6 100644 --- a/contracts/mixnet/src/support/tests/fixtures.rs +++ b/contracts/mixnet/src/support/tests/fixtures.rs @@ -1,11 +1,13 @@ -use crate::constants::{INTERVAL_REWARD_PERCENT, SYBIL_RESISTANCE_PERCENT}; -use crate::contract::{INITIAL_MIXNODE_PLEDGE, INITIAL_REWARD_POOL}; +use std::time::Duration; + +use crate::contract::INITIAL_MIXNODE_PLEDGE; use crate::mixnodes::storage as mixnodes_storage; use crate::{mixnodes::storage::StoredMixnodeBond, support::tests}; -use config::defaults::{DENOM, TOTAL_SUPPLY}; -use cosmwasm_std::{coin, Addr, Coin}; -use mixnet_contract_common::mixnode::NodeRewardParams; -use mixnet_contract_common::{Gateway, GatewayBond, Layer, MixNode}; +use config::defaults::DENOM; +use cosmwasm_std::{coin, Addr, Coin, Uint128}; +use mixnet_contract_common::reward_params::NodeRewardParams; +use mixnet_contract_common::{Gateway, GatewayBond, Interval, Layer, MixNode}; +use time::OffsetDateTime; pub fn mix_node_fixture() -> MixNode { MixNode { @@ -57,6 +59,8 @@ pub(crate) fn stored_mixnode_bond_fixture(owner: &str) -> mixnodes_storage::Stor ..super::fixtures::mix_node_fixture() }, None, + Uint128::zero(), + None, ) } @@ -74,17 +78,10 @@ pub fn good_gateway_pledge() -> Vec { }] } -// when exact values are irrelevant and what matters is the action of rewarding -pub fn node_rewarding_params_fixture(uptime: u128) -> NodeRewardParams { - NodeRewardParams::new( - (INITIAL_REWARD_POOL / 100) * INTERVAL_REWARD_PERCENT as u128, - 50 as u128, - 25 as u128, - 0, - TOTAL_SUPPLY - INITIAL_REWARD_POOL, - uptime, - SYBIL_RESISTANCE_PERCENT, - true, - 10, - ) +pub fn node_reward_params_fixture(uptime: u128) -> NodeRewardParams { + NodeRewardParams::new(0, uptime, true) +} + +pub fn epoch_fixture() -> Interval { + Interval::new(1, OffsetDateTime::now_utc(), Duration::from_secs(3600)) } diff --git a/contracts/mixnet/src/support/tests/mod.rs b/contracts/mixnet/src/support/tests/mod.rs index 009e38e72e..2dcc348363 100644 --- a/contracts/mixnet/src/support/tests/mod.rs +++ b/contracts/mixnet/src/support/tests/mod.rs @@ -29,7 +29,6 @@ pub mod test_helpers { use cosmwasm_std::{coin, Env, Timestamp}; use cosmwasm_std::{Addr, StdResult, Storage}; use cosmwasm_std::{Empty, MemoryStorage}; - use cw_storage_plus::PrimaryKey; use mixnet_contract_common::{Delegation, Gateway, IdentityKeyRef, InstantiateMsg, MixNode}; use rand::thread_rng; @@ -114,27 +113,27 @@ pub mod test_helpers { }; delegations_storage::delegations() - .save(storage, delegation.storage_key().joined_key(), &delegation) + .save(storage, delegation.storage_key(), &delegation) .unwrap(); } pub(crate) fn read_delegation( storage: &dyn Storage, mix: impl Into, - owner: impl Into, + owner: impl Into>, + block_height: u64, ) -> Option { delegations_storage::delegations() - .may_load(storage, (mix.into(), owner.into()).joined_key()) + .may_load(storage, (mix.into(), owner.into(), block_height)) .unwrap() } pub(crate) fn update_env_and_progress_interval(env: &mut Env, storage: &mut dyn Storage) { // make sure current block time is within the expected next interval env.block.time = Timestamp::from_seconds( - (interval_storage::CURRENT_INTERVAL - .load(storage) + (interval_storage::current_interval(storage) .unwrap() - .next_interval() + .next() .start_unix_timestamp() + 123) as u64, ); diff --git a/contracts/vesting/Cargo.toml b/contracts/vesting/Cargo.toml index 00d21fd8b6..a54899a41b 100644 --- a/contracts/vesting/Cargo.toml +++ b/contracts/vesting/Cargo.toml @@ -19,7 +19,7 @@ vesting-contract-common = { path = "../../common/cosmwasm-smart-contracts/vestin config = { path = "../../common/config" } cosmwasm-std = { version = "1.0.0-beta4"} -cw-storage-plus = { version = "0.11.1", features = ["iterator"] } +cw-storage-plus = { version = "0.12.1", features = ["iterator"] } schemars = "0.8" serde = { version = "1.0", default-features = false, features = ["derive"] } diff --git a/contracts/vesting/src/contract.rs b/contracts/vesting/src/contract.rs index 493cb4dd6a..693979b433 100644 --- a/contracts/vesting/src/contract.rs +++ b/contracts/vesting/src/contract.rs @@ -7,7 +7,7 @@ use crate::vesting::{populate_vesting_periods, Account}; use config::defaults::DENOM; use cosmwasm_std::{ coin, entry_point, to_binary, BankMsg, Coin, Deps, DepsMut, Env, MessageInfo, QueryResponse, - Response, Timestamp, Uint128, + Response, Timestamp, }; use mixnet_contract_common::{Gateway, IdentityKey, MixNode}; use vesting_contract_common::events::{ @@ -146,11 +146,7 @@ pub fn try_withdraw_vested_coins( } let spendable_coins = account.spendable_coins(None, &env, deps.storage)?; if amount.amount <= spendable_coins.amount { - let new_balance = account - .load_balance(deps.storage)? - .u128() - .saturating_sub(amount.amount.u128()); - account.save_balance(Uint128::new(new_balance), deps.storage)?; + let new_balance = account.withdraw(&amount, deps.storage)?; let send_tokens = BankMsg::Send { to_address: account.owner_address().as_str().to_string(), diff --git a/contracts/vesting/src/storage.rs b/contracts/vesting/src/storage.rs index 1915b5c826..f5e79fc277 100644 --- a/contracts/vesting/src/storage.rs +++ b/contracts/vesting/src/storage.rs @@ -11,6 +11,7 @@ pub const KEY: Item<'_, u32> = Item::new("key"); const ACCOUNTS: Map<'_, String, Account> = Map::new("acc"); // Holds data related to individual accounts const BALANCES: Map<'_, u32, Uint128> = Map::new("blc"); +const WITHDRAWNS: Map<'_, u32, Uint128> = Map::new("wthd"); const BOND_PLEDGES: Map<'_, u32, PledgeData> = Map::new("bnd"); const GATEWAY_PLEDGES: Map<'_, u32, PledgeData> = Map::new("gtw"); pub const DELEGATIONS: Map<'_, (u32, IdentityKey, BlockHeight), Uint128> = Map::new("dlg"); @@ -39,6 +40,13 @@ pub fn delete_account(address: &Addr, storage: &mut dyn Storage) -> Result<(), C Ok(()) } +pub fn load_withdrawn(key: u32, storage: &dyn Storage) -> Result { + Ok(WITHDRAWNS + .may_load(storage, key) + .unwrap_or(None) + .unwrap_or_else(Uint128::zero)) +} + pub fn load_balance(key: u32, storage: &dyn Storage) -> Result { Ok(BALANCES .may_load(storage, key) @@ -55,6 +63,15 @@ pub fn save_balance( Ok(()) } +pub fn save_withdrawn( + key: u32, + value: Uint128, + storage: &mut dyn Storage, +) -> Result<(), ContractError> { + WITHDRAWNS.save(storage, key, &value)?; + Ok(()) +} + pub fn load_bond_pledge( key: u32, storage: &dyn Storage, diff --git a/contracts/vesting/src/support/tests.rs b/contracts/vesting/src/support/tests.rs index facefb00f8..b108f0a64a 100644 --- a/contracts/vesting/src/support/tests.rs +++ b/contracts/vesting/src/support/tests.rs @@ -18,7 +18,29 @@ pub mod helpers { return deps; } - pub fn vesting_account_fixture(storage: &mut dyn Storage, env: &Env) -> Account { + pub fn vesting_account_mid_fixture(storage: &mut dyn Storage, env: &Env) -> Account { + let start_time_ts = env.block.time.clone(); + let start_time = env.block.time.seconds() - 7200; + let periods = populate_vesting_periods( + start_time, + VestingSpecification::new(None, Some(3600), None), + ); + + Account::new( + Addr::unchecked("owner"), + Some(Addr::unchecked("staking")), + Coin { + amount: Uint128::new(1_000_000_000_000), + denom: DENOM.to_string(), + }, + start_time_ts, + periods, + storage, + ) + .unwrap() + } + + pub fn vesting_account_new_fixture(storage: &mut dyn Storage, env: &Env) -> Account { let start_time = env.block.time; let periods = populate_vesting_periods(start_time.seconds(), VestingSpecification::default()); diff --git a/contracts/vesting/src/traits/bonding.rs b/contracts/vesting/src/traits/bonding.rs deleted file mode 100644 index 4aa88e51a6..0000000000 --- a/contracts/vesting/src/traits/bonding.rs +++ /dev/null @@ -1,47 +0,0 @@ -use crate::errors::ContractError; -use cosmwasm_std::{Coin, Env, Response, Storage}; -use mixnet_contract_common::{Gateway, MixNode}; - -pub trait MixnodeBondingAccount { - fn try_bond_mixnode( - &self, - mix_node: MixNode, - owner_signature: String, - pledge: Coin, - env: &Env, - storage: &mut dyn Storage, - ) -> Result; - - fn try_unbond_mixnode(&self, storage: &dyn Storage) -> Result; - - fn try_track_unbond_mixnode( - &self, - amount: Coin, - storage: &mut dyn Storage, - ) -> Result<(), ContractError>; - - fn try_update_mixnode_config( - &self, - profit_margin_percent: u8, - storage: &mut dyn Storage, - ) -> Result; -} - -pub trait GatewayBondingAccount { - fn try_bond_gateway( - &self, - gateway: Gateway, - owner_signature: String, - pledge: Coin, - env: &Env, - storage: &mut dyn Storage, - ) -> Result; - - fn try_unbond_gateway(&self, storage: &dyn Storage) -> Result; - - fn try_track_unbond_gateway( - &self, - amount: Coin, - storage: &mut dyn Storage, - ) -> Result<(), ContractError>; -} diff --git a/contracts/vesting/src/traits/bonding_account.rs b/contracts/vesting/src/traits/bonding_account.rs index 8b13789179..4aa88e51a6 100644 --- a/contracts/vesting/src/traits/bonding_account.rs +++ b/contracts/vesting/src/traits/bonding_account.rs @@ -1 +1,47 @@ +use crate::errors::ContractError; +use cosmwasm_std::{Coin, Env, Response, Storage}; +use mixnet_contract_common::{Gateway, MixNode}; +pub trait MixnodeBondingAccount { + fn try_bond_mixnode( + &self, + mix_node: MixNode, + owner_signature: String, + pledge: Coin, + env: &Env, + storage: &mut dyn Storage, + ) -> Result; + + fn try_unbond_mixnode(&self, storage: &dyn Storage) -> Result; + + fn try_track_unbond_mixnode( + &self, + amount: Coin, + storage: &mut dyn Storage, + ) -> Result<(), ContractError>; + + fn try_update_mixnode_config( + &self, + profit_margin_percent: u8, + storage: &mut dyn Storage, + ) -> Result; +} + +pub trait GatewayBondingAccount { + fn try_bond_gateway( + &self, + gateway: Gateway, + owner_signature: String, + pledge: Coin, + env: &Env, + storage: &mut dyn Storage, + ) -> Result; + + fn try_unbond_gateway(&self, storage: &dyn Storage) -> Result; + + fn try_track_unbond_gateway( + &self, + amount: Coin, + storage: &mut dyn Storage, + ) -> Result<(), ContractError>; +} diff --git a/contracts/vesting/src/traits/mod.rs b/contracts/vesting/src/traits/mod.rs index 961198a443..60cff028d4 100644 --- a/contracts/vesting/src/traits/mod.rs +++ b/contracts/vesting/src/traits/mod.rs @@ -1,7 +1,7 @@ -pub mod bonding; +pub mod bonding_account; pub mod delegating_account; pub mod vesting_account; -pub use self::bonding::{GatewayBondingAccount, MixnodeBondingAccount}; +pub use self::bonding_account::{GatewayBondingAccount, MixnodeBondingAccount}; pub use self::delegating_account::DelegatingAccount; pub use self::vesting_account::VestingAccount; diff --git a/contracts/vesting/src/vesting/account/mod.rs b/contracts/vesting/src/vesting/account/mod.rs index c710988605..b25628deea 100644 --- a/contracts/vesting/src/vesting/account/mod.rs +++ b/contracts/vesting/src/vesting/account/mod.rs @@ -1,9 +1,9 @@ use super::VestingPeriod; use crate::errors::ContractError; use crate::storage::{ - load_balance, load_bond_pledge, load_gateway_pledge, remove_bond_pledge, remove_delegation, - remove_gateway_pledge, save_account, save_balance, save_bond_pledge, save_gateway_pledge, - DELEGATIONS, KEY, + load_balance, load_bond_pledge, load_gateway_pledge, load_withdrawn, remove_bond_pledge, + remove_delegation, remove_gateway_pledge, save_account, save_balance, save_bond_pledge, + save_gateway_pledge, save_withdrawn, DELEGATIONS, KEY, }; use cosmwasm_std::{Addr, Coin, Order, Storage, Timestamp, Uint128}; use cw_storage_plus::Bound; @@ -121,6 +121,33 @@ impl Account { } } + pub fn withdraw( + &self, + amount: &Coin, + storage: &mut dyn Storage, + ) -> Result { + let new_balance = self + .load_balance(storage)? + .u128() + .saturating_sub(amount.amount.u128()); + self.save_balance(Uint128::new(new_balance), storage)?; + let withdrawn = self.load_withdrawn(storage)?; + self.save_withdrawn(withdrawn + amount.amount, storage)?; + Ok(new_balance) + } + + pub fn load_withdrawn(&self, storage: &dyn Storage) -> Result { + load_withdrawn(self.storage_key, storage) + } + + pub fn save_withdrawn( + &self, + withdrawn: Uint128, + storage: &mut dyn Storage, + ) -> Result<(), ContractError> { + save_withdrawn(self.storage_key, withdrawn, storage) + } + pub fn load_balance(&self, storage: &dyn Storage) -> Result { load_balance(self.storage_key(), storage) } @@ -204,7 +231,7 @@ impl Account { prev_len = block_heights.len(); - start_after = block_heights.last().map(|last| Bound::exclusive_int(*last)); + start_after = block_heights.last().map(|last| Bound::exclusive(*last)); if start_after.is_none() { break; } diff --git a/contracts/vesting/src/vesting/account/vesting_account.rs b/contracts/vesting/src/vesting/account/vesting_account.rs index 7648724b3c..218f0a9792 100644 --- a/contracts/vesting/src/vesting/account/vesting_account.rs +++ b/contracts/vesting/src/vesting/account/vesting_account.rs @@ -114,7 +114,11 @@ impl VestingAccount for Account { ) -> Result { let block_time = block_time.unwrap_or(env.block.time); let period = self.get_current_vesting_period(block_time); - let max_vested = self.get_vested_coins(Some(block_time), env)?; + let withdrawn = self.load_withdrawn(storage)?; + let max_available = self + .get_vested_coins(Some(block_time), env)? + .amount + .saturating_sub(withdrawn); let start_time = match period { Period::Before => 0, Period::After => u64::MAX, @@ -130,7 +134,7 @@ impl VestingAccount for Account { acc + amount }); - let amount = Uint128::new(coin.u128().min(max_vested.amount.u128())); + let amount = Uint128::new(coin.u128().min(max_available.u128())); Ok(Coin { amount, diff --git a/contracts/vesting/src/vesting/mod.rs b/contracts/vesting/src/vesting/mod.rs index d3851daa31..38f1255af8 100644 --- a/contracts/vesting/src/vesting/mod.rs +++ b/contracts/vesting/src/vesting/mod.rs @@ -38,7 +38,9 @@ pub fn populate_vesting_periods( mod tests { use crate::contract::execute; use crate::storage::load_account; - use crate::support::tests::helpers::{init_contract, vesting_account_fixture}; + use crate::support::tests::helpers::{ + init_contract, vesting_account_mid_fixture, vesting_account_new_fixture, + }; use crate::traits::DelegatingAccount; use crate::traits::VestingAccount; use crate::traits::{GatewayBondingAccount, MixnodeBondingAccount}; @@ -81,7 +83,7 @@ mod tests { let _response = execute(deps.as_mut(), env.clone(), info, msg.clone()); assert!(response.is_err()); - let account_again = vesting_account_fixture(&mut deps.storage, &env); + let account_again = vesting_account_new_fixture(&mut deps.storage, &env); assert_eq!(created_account.storage_key(), 1); assert_ne!(created_account.storage_key(), account_again.storage_key()); } @@ -91,7 +93,7 @@ mod tests { let mut deps = init_contract(); let mut env = mock_env(); let info = mock_info("owner", &[]); - let account = vesting_account_fixture(&mut deps.storage, &env); + let account = vesting_account_new_fixture(&mut deps.storage, &env); let msg = ExecuteMsg::TransferOwnership { to_address: "new_owner".to_string(), }; @@ -172,7 +174,7 @@ mod tests { let num_vesting_periods = 8; let vesting_period = 3 * 30 * 86400; - let account = vesting_account_fixture(&mut deps.storage, &env); + let account = vesting_account_new_fixture(&mut deps.storage, &env); assert_eq!(account.periods().len(), num_vesting_periods as usize); @@ -236,12 +238,149 @@ mod tests { assert_eq!(vesting_coins.amount, Uint128::zero()); } + #[test] + fn test_withdraw_case() { + let mut deps = init_contract(); + let env = mock_env(); + let account = vesting_account_mid_fixture(&mut deps.storage, &env); + + let vested_coins = account.get_vested_coins(None, &env).unwrap(); + let vesting_coins = account.get_vesting_coins(None, &env).unwrap(); + let locked_coins = account.locked_coins(None, &env, &mut deps.storage).unwrap(); + assert_eq!(vested_coins.amount, Uint128::new(250_000_000_000)); + assert_eq!(vesting_coins.amount, Uint128::new(750_000_000_000)); + assert_eq!(locked_coins.amount, Uint128::new(750_000_000_000)); + let spendable = account + .spendable_coins(None, &env, &mut deps.storage) + .unwrap(); + assert_eq!(spendable.amount, Uint128::new(250_000_000_000)); + let withdrawn = account.load_withdrawn(&deps.storage).unwrap(); + assert_eq!(withdrawn, Uint128::zero()); + + let mix_identity = "alice".to_string(); + + let delegation = Coin { + amount: Uint128::new(500_000_000_000), + denom: DENOM.to_string(), + }; + + let ok = account.try_delegate_to_mixnode( + mix_identity.clone(), + delegation.clone(), + &env, + &mut deps.storage, + ); + assert!(ok.is_ok()); + + let vested_coins = account.get_vested_coins(None, &env).unwrap(); + let vesting_coins = account.get_vesting_coins(None, &env).unwrap(); + assert_eq!(vested_coins.amount, Uint128::new(250_000_000_000)); + assert_eq!(vesting_coins.amount, Uint128::new(750_000_000_000)); + + let delegated_free = account + .get_delegated_free(None, &env, &mut deps.storage) + .unwrap(); + let delegated_vesting = account + .get_delegated_vesting(None, &env, &mut deps.storage) + .unwrap(); + + assert_eq!(delegated_free.amount, Uint128::new(250_000_000_000)); + assert_eq!(delegated_vesting.amount, Uint128::new(250_000_000_000)); + + let locked_coins = account.locked_coins(None, &env, &mut deps.storage).unwrap(); + // vesting - delegated_vesting - pledged_vesting + assert_eq!(locked_coins.amount, Uint128::new(500_000_000_000)); + let spendable = account + .spendable_coins(None, &env, &mut deps.storage) + .unwrap(); + assert_eq!(spendable.amount, Uint128::zero()); + + let ok = account.try_undelegate_from_mixnode(mix_identity.clone(), &mut deps.storage); + assert!(ok.is_ok()); + + account + .track_undelegation(mix_identity.clone(), delegation.clone(), &mut deps.storage) + .unwrap(); + + let delegated_free = account + .get_delegated_free(None, &env, &mut deps.storage) + .unwrap(); + let delegated_vesting = account + .get_delegated_vesting(None, &env, &mut deps.storage) + .unwrap(); + + assert_eq!(delegated_free.amount, Uint128::zero()); + assert_eq!(delegated_vesting.amount, Uint128::zero()); + + assert_eq!( + account.load_balance(&deps.storage).unwrap(), + Uint128::new(1000_000_000_000) + ); + + account + .withdraw( + &account.spendable_coins(None, &env, &deps.storage).unwrap(), + &mut deps.storage, + ) + .unwrap(); + + assert_eq!( + account.load_balance(&deps.storage).unwrap(), + Uint128::new(750_000_000_000) + ); + + let withdrawn = account.load_withdrawn(&deps.storage).unwrap(); + assert_eq!(withdrawn, Uint128::new(250_000_000_000)); + + let vested_coins = account.get_vested_coins(None, &env).unwrap(); + let vesting_coins = account.get_vesting_coins(None, &env).unwrap(); + let locked_coins = account.locked_coins(None, &env, &mut deps.storage).unwrap(); + assert_eq!(vested_coins.amount, Uint128::new(250_000_000_000)); + assert_eq!(vesting_coins.amount, Uint128::new(750_000_000_000)); + assert_eq!(locked_coins.amount, Uint128::new(750_000_000_000)); + let spendable = account + .spendable_coins(None, &env, &mut deps.storage) + .unwrap(); + assert_eq!(spendable.amount, Uint128::zero()); + + let ok = account.try_delegate_to_mixnode( + mix_identity.clone(), + delegation.clone(), + &env, + &mut deps.storage, + ); + assert!(ok.is_ok()); + + let vested_coins = account.get_vested_coins(None, &env).unwrap(); + let vesting_coins = account.get_vesting_coins(None, &env).unwrap(); + let locked_coins = account.locked_coins(None, &env, &mut deps.storage).unwrap(); + assert_eq!(vested_coins.amount, Uint128::new(250_000_000_000)); + assert_eq!(vesting_coins.amount, Uint128::new(750_000_000_000)); + let spendable = account + .spendable_coins(None, &env, &mut deps.storage) + .unwrap(); + assert_eq!(spendable.amount, Uint128::zero()); + + let delegated_free = account + .get_delegated_free(None, &env, &mut deps.storage) + .unwrap(); + let delegated_vesting = account + .get_delegated_vesting(None, &env, &mut deps.storage) + .unwrap(); + + assert_eq!(delegated_free.amount, Uint128::zero()); + assert_eq!(delegated_vesting.amount, Uint128::new(500_000_000_000)); + + // vesting - delegated_vesting - pledged_vesting + assert_eq!(locked_coins.amount, Uint128::new(250_000_000_000)); + } + #[test] fn test_delegations() { let mut deps = init_contract(); let env = mock_env(); - let account = vesting_account_fixture(&mut deps.storage, &env); + let account = vesting_account_new_fixture(&mut deps.storage, &env); // Try delegating too much let err = account.try_delegate_to_mixnode( @@ -352,7 +491,7 @@ mod tests { let mut deps = init_contract(); let env = mock_env(); - let account = vesting_account_fixture(&mut deps.storage, &env); + let account = vesting_account_new_fixture(&mut deps.storage, &env); let mix_node = MixNode { host: "mix.node.org".to_string(), @@ -472,7 +611,7 @@ mod tests { let mut deps = init_contract(); let env = mock_env(); - let account = vesting_account_fixture(&mut deps.storage, &env); + let account = vesting_account_new_fixture(&mut deps.storage, &env); let gateway = Gateway { host: "1.1.1.1".to_string(), diff --git a/explorer/.eslintrc b/explorer/.eslintrc deleted file mode 100644 index f150ac3dc3..0000000000 --- a/explorer/.eslintrc +++ /dev/null @@ -1,103 +0,0 @@ -{ - "env": { - "browser": true, - "es6": true, - "node": true, - "jest": true - }, - "parserOptions": { - "ecmaFeatures": { - "jsx": true - }, - "ecmaVersion": 2019, - "sourceType": "module" - }, - "globals": { - "Atomics": "readonly", - "SharedArrayBuffer": "readonly" - }, - "plugins": ["react", "react-hooks", "jsx-a11y", "prettier", "jest"], - "extends": ["plugin:react/recommended", "airbnb", "prettier", "plugin:jest/recommended", "plugin:jest/style"], - "rules": { - "jest/prefer-strict-equal": "error", - "jest/prefer-to-have-length": "warn", - "prettier/prettier": "error", - "import/prefer-default-export": "off", - "react/prop-types": "off", - "react/jsx-filename-extension": "off", - "react/jsx-props-no-spreading": "off", - "import/no-extraneous-dependencies": [ - "error", - { - "devDependencies": [ - "**/*.test.[jt]s", - "**/*.spec.[jt]s", - "**/*.test.[jt]sx", - "**/*.spec.[jt]sx" - ] - } - ], - "import/extensions": [ - "error", - "ignorePackages", - { - "ts": "never", - "tsx": "never", - "js": "never", - "jsx": "never" - } - ] - }, - "overrides": [ - { - "files": "**/*.+(ts|tsx)", - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": "./tsconfig.json" - }, - "plugins": ["@typescript-eslint/eslint-plugin"], - "extends": [ - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "rules": { - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-var-requires": "off", - "no-use-before-define": [0], - "@typescript-eslint/no-use-before-define": [1], - "import/no-unresolved": 0, - "import/no-extraneous-dependencies": [ - "error", - { - "devDependencies": [ - "**/*.test.ts", - "**/*.spec.ts", - "**/*.test.tsx", - "**/*.spec.tsx" - ] - } - ], - "quotes": "off", - "@typescript-eslint/quotes": [ - 2, - "single", - { - "avoidEscape": true - } - ], - "@typescript-eslint/no-unused-vars": [2, { "argsIgnorePattern": "^_" }] - } - } - ], - "settings": { - "import/resolver": { - "root-import": { - "rootPathPrefix": "@", - "rootPathSuffix": "src", - "extensions": [".js", ".ts", ".tsx", ".jsx", ".mdx"] - } - } - } -} diff --git a/explorer/.eslintrc.json b/explorer/.eslintrc.json new file mode 100644 index 0000000000..7f84f4b42a --- /dev/null +++ b/explorer/.eslintrc.json @@ -0,0 +1,5 @@ +{ + "extends": [ + "@nymproject/eslint-config-react-typescript" + ] +} diff --git a/explorer/.nvmrc b/explorer/.nvmrc index 8351c19397..b6a7d89c68 100644 --- a/explorer/.nvmrc +++ b/explorer/.nvmrc @@ -1 +1 @@ -14 +16 diff --git a/explorer/.prettierrc b/explorer/.prettierrc index 0238bf0f00..ccf75b89de 100644 --- a/explorer/.prettierrc +++ b/explorer/.prettierrc @@ -1,6 +1,6 @@ { "trailingComma": "all", "singleQuote": true, - "printWidth": 80, + "printWidth": 120, "tabWidth": 2 } diff --git a/explorer/README.md b/explorer/README.md index 5c8844a273..cc8c7f0363 100644 --- a/explorer/README.md +++ b/explorer/README.md @@ -8,12 +8,22 @@ You will need: - NodeJS (use `nvm install` to automatically install the correct version) - `npm` +- `yarn` + +> **Note**: This project ipart of a mono repo, so you will need to build the shared packages before starting. And any time they change, you'll need to rebuild them. + +From the [root of the repository](../README.md) run the following to build shared packages: + +``` +yarn +yarn build +``` From the `explorer` directory of the `nym` monorepo, run: ``` -npm install -npm run start +cd explorer +yarn start ``` You can then open a browser to http://localhost:3000 and start development. @@ -24,11 +34,13 @@ Documentation for developers [can be found here](./docs). ## Deployment -Build the UI with: +Build the UI with (starting in the repository root): ``` -npm install -npm run build +yarn +yarn build +cd explorer +yarn build ``` The output will be in the `dist` directory. Serve this with `nginx` or `httpd`. diff --git a/explorer/package-lock.json b/explorer/package-lock.json deleted file mode 100644 index c3638a8e8b..0000000000 --- a/explorer/package-lock.json +++ /dev/null @@ -1,30225 +0,0 @@ -{ - "name": "@nym/network-explorer", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@nym/network-explorer", - "version": "1.0.0", - "license": "Apache-2.0", - "dependencies": { - "@cosmjs/math": "^0.26.2", - "@emotion/react": "^11.4.1", - "@emotion/styled": "^11.3.0", - "@mui/icons-material": "^5.0.0", - "@mui/material": "^5.0.1", - "@mui/styles": "^5.0.1", - "@mui/system": "^5.0.1", - "@mui/x-data-grid": "^5.0.0-beta.5", - "@nymproject/nym-validator-client": "^0.18.0", - "d3-scale": "^4.0.0", - "date-fns": "^2.24.0", - "i18n-iso-countries": "^6.8.0", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "react-google-charts": "^3.0.15", - "react-identicons": "^1.2.5", - "react-router-dom": "^5.3.0", - "react-simple-maps": "^2.3.0", - "react-tooltip": "^4.2.21" - }, - "devDependencies": { - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.0-rc.3", - "@testing-library/jest-dom": "^5.14.1", - "@testing-library/react": "^12.0.0", - "@types/d3-fetch": "^3.0.1", - "@types/d3-geo": "^3.0.2", - "@types/d3-scale": "^4.0.1", - "@types/geojson": "^7946.0.8", - "@types/jest": "^27.0.1", - "@types/node": "^16.7.13", - "@types/react": "^17.0.34", - "@types/react-dom": "^17.0.9", - "@types/react-router-dom": "^5.1.8", - "@types/react-simple-maps": "^1.0.6", - "@types/react-tooltip": "^4.2.4", - "@types/topojson-client": "^3.1.0", - "@typescript-eslint/eslint-plugin": "4.31.0", - "@typescript-eslint/parser": "4.31.0", - "babel-plugin-root-import": "^6.6.0", - "clean-webpack-plugin": "^4.0.0", - "css-loader": "^6.2.0", - "css-minimizer-webpack-plugin": "^3.0.2", - "dotenv-webpack": "^7.0.3", - "eslint": "7.32.0", - "eslint-config-airbnb": "18.2.1", - "eslint-config-prettier": "8.3.0", - "eslint-import-resolver-root-import": "1.0.4", - "eslint-plugin-import": "2.24.2", - "eslint-plugin-jest": "^24.4.0", - "eslint-plugin-jsx-a11y": "6.4.1", - "eslint-plugin-prettier": "4.0.0", - "eslint-plugin-react": "7.25.1", - "eslint-plugin-react-hooks": "4.2.0", - "fork-ts-checker-webpack-plugin": "^6.3.3", - "html-webpack-plugin": "^5.3.2", - "imports-loader": "^3.0.0", - "jest": "^27.1.0", - "loader-utils": "^2.0.0", - "mini-css-extract-plugin": "^2.2.2", - "prettier": "2.3.2", - "react-refresh": "^0.10.0", - "react-refresh-typescript": "^2.0.2", - "style-loader": "^3.2.1", - "ts-jest": "^27.0.5", - "ts-loader": "^9.2.5", - "tsconfig-paths-webpack-plugin": "^3.5.1", - "typescript": "^4.4.2", - "webpack": "^5.52.0", - "webpack-cli": "^4.8.0", - "webpack-dev-server": "^4.1.0", - "webpack-favicons": "^1.0.7", - "webpack-merge": "^5.8.0", - "yaml-loader": "^0.6.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dependencies": { - "@babel/highlight": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", - "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.5", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", - "dependencies": { - "@babel/types": "^7.15.4", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", - "dependencies": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz", - "integrity": "sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw==", - "dependencies": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", - "dependencies": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.5.tgz", - "integrity": "sha512-2hQstc6I7T6tQsWzlboMh3SgMRPaS4H6H7cPQsJkdzTzEGqQrpLDsE2BGASU5sBPoEQyHzeqU6C8uKbFeEk6sg==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", - "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz", - "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz", - "integrity": "sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.4.tgz", - "integrity": "sha512-lWcAqKeB624/twtTc3w6w/2o9RqJPaNBhPGK6DKLSiwuVWC7WFkypWyNg+CpZoyJH0jVzv1uMtXZ/5/lQOLtCg==", - "dev": true, - "dependencies": { - "core-js-pure": "^3.16.0", - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz", - "integrity": "sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@confio/ics23": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@confio/ics23/-/ics23-0.6.5.tgz", - "integrity": "sha512-1GdPMsaP/l8JSF4P4HWFLBhdcxHcJT8lS0nknBYNSZ1XrJOsJKUy6EkOwd9Pa1qJkXzY2gyNv7MdHR+AIwSTAg==", - "dependencies": { - "js-sha512": "^0.8.0", - "protobufjs": "^6.8.8", - "ripemd160": "^2.0.2", - "sha.js": "^2.4.11" - } - }, - "node_modules/@cosmjs/amino": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.25.6.tgz", - "integrity": "sha512-9dXN2W7LHjDtJUGNsQ9ok0DfxeN3ca/TXnxCR3Ikh/5YqBqxI8Gel1J9PQO9L6EheYyh045Wff4bsMaLjyEeqQ==", - "dependencies": { - "@cosmjs/crypto": "^0.25.6", - "@cosmjs/encoding": "^0.25.6", - "@cosmjs/math": "^0.25.6", - "@cosmjs/utils": "^0.25.6" - } - }, - "node_modules/@cosmjs/amino/node_modules/@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "dependencies": { - "bn.js": "^4.11.8" - } - }, - "node_modules/@cosmjs/cosmwasm-launchpad": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/cosmwasm-launchpad/-/cosmwasm-launchpad-0.25.6.tgz", - "integrity": "sha512-rzpYg/A8tvXbY6p89LabPB1mqCtTUv+33nN+s+VWMH0oOl0LSIgLE0yIT61kwTaf2dWQvRVeFaiRLFC72/w/zw==", - "dependencies": { - "@cosmjs/crypto": "^0.25.6", - "@cosmjs/encoding": "^0.25.6", - "@cosmjs/launchpad": "^0.25.6", - "@cosmjs/math": "^0.25.6", - "@cosmjs/utils": "^0.25.6", - "pako": "^2.0.2" - } - }, - "node_modules/@cosmjs/cosmwasm-launchpad/node_modules/@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "dependencies": { - "bn.js": "^4.11.8" - } - }, - "node_modules/@cosmjs/cosmwasm-launchpad/node_modules/pako": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz", - "integrity": "sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==" - }, - "node_modules/@cosmjs/cosmwasm-stargate": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.25.6.tgz", - "integrity": "sha512-STaxur5Xk5hqndLEztpa1TqvpdQyg2xD//2ZNFw2fgxf1JQtP0RfFbA3bnBkYwbGARx5cnng8QeZmSUcXnTVxA==", - "dependencies": { - "@cosmjs/amino": "^0.25.6", - "@cosmjs/cosmwasm-launchpad": "^0.25.6", - "@cosmjs/crypto": "^0.25.6", - "@cosmjs/encoding": "^0.25.6", - "@cosmjs/math": "^0.25.6", - "@cosmjs/proto-signing": "^0.25.6", - "@cosmjs/stargate": "^0.25.6", - "@cosmjs/tendermint-rpc": "^0.25.6", - "@cosmjs/utils": "^0.25.6", - "long": "^4.0.0", - "pako": "^2.0.2", - "protobufjs": "~6.10.2" - } - }, - "node_modules/@cosmjs/cosmwasm-stargate/node_modules/@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "dependencies": { - "bn.js": "^4.11.8" - } - }, - "node_modules/@cosmjs/cosmwasm-stargate/node_modules/pako": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz", - "integrity": "sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==" - }, - "node_modules/@cosmjs/crypto": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.25.6.tgz", - "integrity": "sha512-ec+YcQLrg2ibcxtNrh4FqQnG9kG9IE/Aik2NH6+OXQdFU/qFuBTxSFcKDgzzBOChwlkXwydllM9Jjbp+dgIzRw==", - "dependencies": { - "@cosmjs/encoding": "^0.25.6", - "@cosmjs/math": "^0.25.6", - "@cosmjs/utils": "^0.25.6", - "bip39": "^3.0.2", - "bn.js": "^4.11.8", - "elliptic": "^6.5.3", - "js-sha3": "^0.8.0", - "libsodium-wrappers": "^0.7.6", - "ripemd160": "^2.0.2", - "sha.js": "^2.4.11" - } - }, - "node_modules/@cosmjs/crypto/node_modules/@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "dependencies": { - "bn.js": "^4.11.8" - } - }, - "node_modules/@cosmjs/encoding": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.25.6.tgz", - "integrity": "sha512-0imUOB8XkUstI216uznPaX1hqgvLQ2Xso3zJj5IV5oJuNlsfDj9nt/iQxXWbJuettc6gvrFfpf+Vw2vBZSZ75g==", - "dependencies": { - "base64-js": "^1.3.0", - "bech32": "^1.1.4", - "readonly-date": "^1.0.0" - } - }, - "node_modules/@cosmjs/json-rpc": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.25.6.tgz", - "integrity": "sha512-Mn9og3/IEzC6jWoYXs0ONqFJc8HxVjXzrZPLgaRRdMZEUBvctxdhynau1wbE4LdkYQHbu4aiRu1q1jMYGFAj4A==", - "dependencies": { - "@cosmjs/stream": "^0.25.6", - "xstream": "^11.14.0" - } - }, - "node_modules/@cosmjs/launchpad": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/launchpad/-/launchpad-0.25.6.tgz", - "integrity": "sha512-4Yhn4cX50UE6jZz/hWqKeeCmvrlrz0BBwOdYX/29k25FqP+oLAow1xKm6UxgYuuAq8Pg/bUvswxSqwegZJTb6g==", - "dependencies": { - "@cosmjs/amino": "^0.25.6", - "@cosmjs/crypto": "^0.25.6", - "@cosmjs/encoding": "^0.25.6", - "@cosmjs/math": "^0.25.6", - "@cosmjs/utils": "^0.25.6", - "axios": "^0.21.1", - "fast-deep-equal": "^3.1.3" - } - }, - "node_modules/@cosmjs/launchpad/node_modules/@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "dependencies": { - "bn.js": "^4.11.8" - } - }, - "node_modules/@cosmjs/math": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.26.2.tgz", - "integrity": "sha512-yvY9yk3DbFGnr2BbLQjps7oBaFFUIXBYMnEJ3j8o7BxkXDoQPkYgghvdACEP96Xtft3CoOZFsQYFCkNFcigyyA==", - "dependencies": { - "bn.js": "^4.11.8" - } - }, - "node_modules/@cosmjs/proto-signing": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.25.6.tgz", - "integrity": "sha512-JpQ+Vnv9s6i3x8f3Jo0lJZ3VMnj3R5sMgX+8ti1LtB7qEYRR85qbDrEG9hDGIKqJJabvrAuCHnO6hYi0vJEJHA==", - "dependencies": { - "@cosmjs/amino": "^0.25.6", - "long": "^4.0.0", - "protobufjs": "~6.10.2" - } - }, - "node_modules/@cosmjs/socket": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.25.6.tgz", - "integrity": "sha512-hu+pW3Fy0IuhstXgxnZ2Iq0RUnGYoTWfqrxbTsgXBJge4MpEQs2YwGXgJZPMJXedBQivG0tU3r/Wvam0EWuRkQ==", - "dependencies": { - "@cosmjs/stream": "^0.25.6", - "isomorphic-ws": "^4.0.1", - "ws": "^7", - "xstream": "^11.14.0" - } - }, - "node_modules/@cosmjs/stargate": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/stargate/-/stargate-0.25.6.tgz", - "integrity": "sha512-+LM1sK6vGuotJF9fBCBlaDL/yJhfzCV6KbsaWt3teHAKZhKYOd/9mKGiB4H9bfg4h3r+e+FZGiNkH/mdXkcgEw==", - "dependencies": { - "@confio/ics23": "^0.6.3", - "@cosmjs/amino": "^0.25.6", - "@cosmjs/encoding": "^0.25.6", - "@cosmjs/math": "^0.25.6", - "@cosmjs/proto-signing": "^0.25.6", - "@cosmjs/stream": "^0.25.6", - "@cosmjs/tendermint-rpc": "^0.25.6", - "@cosmjs/utils": "^0.25.6", - "long": "^4.0.0", - "protobufjs": "~6.10.2" - } - }, - "node_modules/@cosmjs/stargate/node_modules/@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "dependencies": { - "bn.js": "^4.11.8" - } - }, - "node_modules/@cosmjs/stream": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.25.6.tgz", - "integrity": "sha512-2mXIzf+WaFd+GSrRaJJETVXeZoC5sosuKChFERxSY8zXQ/f3OaG9J6m+quHpPbU3nAIEtnF1jgBVqJiD+NKwGQ==", - "dependencies": { - "xstream": "^11.14.0" - } - }, - "node_modules/@cosmjs/tendermint-rpc": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.25.6.tgz", - "integrity": "sha512-wsvxTI7DReWJu+SVlXLblzh5NJppnh1mljuaTHodMf7HBxrXdbcCcBAO8oMbMgEqOASEY5G+z51wktxhrn9RtA==", - "dependencies": { - "@cosmjs/crypto": "^0.25.6", - "@cosmjs/encoding": "^0.25.6", - "@cosmjs/json-rpc": "^0.25.6", - "@cosmjs/math": "^0.25.6", - "@cosmjs/socket": "^0.25.6", - "@cosmjs/stream": "^0.25.6", - "axios": "^0.21.1", - "readonly-date": "^1.0.0", - "xstream": "^11.14.0" - } - }, - "node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "dependencies": { - "bn.js": "^4.11.8" - } - }, - "node_modules/@cosmjs/utils": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.25.6.tgz", - "integrity": "sha512-ofOYiuxVKNo238vCPPlaDzqPXy2AQ/5/nashBo5rvPZJkxt9LciGfUEQWPCOb1BIJDNx2Dzu0z4XCf/dwzl0Dg==" - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz", - "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@emotion/babel-plugin": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.3.0.tgz", - "integrity": "sha512-UZKwBV2rADuhRp+ZOGgNWg2eYgbzKzQXfQPtJbu/PLy8onurxlNCLvxMQEvlr1/GudguPI5IU9qIY1+2z1M5bA==", - "dependencies": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/plugin-syntax-jsx": "^7.12.13", - "@babel/runtime": "^7.13.10", - "@emotion/hash": "^0.8.0", - "@emotion/memoize": "^0.7.5", - "@emotion/serialize": "^1.0.2", - "babel-plugin-macros": "^2.6.1", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "^4.0.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@emotion/cache": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.5.0.tgz", - "integrity": "sha512-mAZ5QRpLriBtaj/k2qyrXwck6yeoz1V5lMt/jfj6igWU35yYlNKs2LziXVgvH81gnJZ+9QQNGelSsnuoAy6uIw==", - "dependencies": { - "@emotion/memoize": "^0.7.4", - "@emotion/sheet": "^1.0.3", - "@emotion/utils": "^1.0.0", - "@emotion/weak-memoize": "^0.2.5", - "stylis": "^4.0.10" - } - }, - "node_modules/@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" - }, - "node_modules/@emotion/is-prop-valid": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.0.tgz", - "integrity": "sha512-9RkilvXAufQHsSsjQ3PIzSns+pxuX4EW8EbGeSPjZMHuMx6z/MOzb9LpqNieQX4F3mre3NWS2+X3JNRHTQztUQ==", - "dependencies": { - "@emotion/memoize": "^0.7.4" - } - }, - "node_modules/@emotion/memoize": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz", - "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==" - }, - "node_modules/@emotion/react": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.5.0.tgz", - "integrity": "sha512-MYq/bzp3rYbee4EMBORCn4duPQfgpiEB5XzrZEBnUZAL80Qdfr7CEv/T80jwaTl/dnZmt9SnTa8NkTrwFNpLlw==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@emotion/cache": "^11.5.0", - "@emotion/serialize": "^1.0.2", - "@emotion/sheet": "^1.0.3", - "@emotion/utils": "^1.0.0", - "@emotion/weak-memoize": "^0.2.5", - "hoist-non-react-statics": "^3.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@types/react": { - "optional": true - } - } - }, - "node_modules/@emotion/serialize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.0.2.tgz", - "integrity": "sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A==", - "dependencies": { - "@emotion/hash": "^0.8.0", - "@emotion/memoize": "^0.7.4", - "@emotion/unitless": "^0.7.5", - "@emotion/utils": "^1.0.0", - "csstype": "^3.0.2" - } - }, - "node_modules/@emotion/sheet": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.0.3.tgz", - "integrity": "sha512-YoX5GyQ4db7LpbmXHMuc8kebtBGP6nZfRC5Z13OKJMixBEwdZrJ914D6yJv/P+ZH/YY3F5s89NYX2hlZAf3SRQ==" - }, - "node_modules/@emotion/styled": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.3.0.tgz", - "integrity": "sha512-fUoLcN3BfMiLlRhJ8CuPUMEyKkLEoM+n+UyAbnqGEsCd5IzKQ7VQFLtzpJOaCD2/VR2+1hXQTnSZXVJeiTNltA==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@emotion/babel-plugin": "^11.3.0", - "@emotion/is-prop-valid": "^1.1.0", - "@emotion/serialize": "^1.0.2", - "@emotion/utils": "^1.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@emotion/react": "^11.0.0-rc.0", - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@types/react": { - "optional": true - } - } - }, - "node_modules/@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" - }, - "node_modules/@emotion/utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.0.0.tgz", - "integrity": "sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA==" - }, - "node_modules/@emotion/weak-memoize": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", - "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" - }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", - "dev": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.1.0.tgz", - "integrity": "sha512-+Vl+xmLwAXLNlqT61gmHEixeRbS4L8MUzAjtpBCOPWH+izNI/dR16IeXjkXJdRtIVWVSf9DO1gdp67B1XorZhQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.1.0", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.1.0", - "jest-util": "^27.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/console/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/console/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.1.0.tgz", - "integrity": "sha512-3l9qmoknrlCFKfGdrmiQiPne+pUR4ALhKwFTYyOeKw6egfDwJkO21RJ1xf41rN8ZNFLg5W+w6+P4fUqq4EMRWA==", - "dev": true, - "dependencies": { - "@jest/console": "^27.1.0", - "@jest/reporters": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^27.1.0", - "jest-config": "^27.1.0", - "jest-haste-map": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-regex-util": "^27.0.6", - "jest-resolve": "^27.1.0", - "jest-resolve-dependencies": "^27.1.0", - "jest-runner": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", - "jest-watcher": "^27.1.0", - "micromatch": "^4.0.4", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/environment": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.1.0.tgz", - "integrity": "sha512-wRp50aAMY2w1U2jP1G32d6FUVBNYqmk8WaGkiIEisU48qyDV0WPtw3IBLnl7orBeggveommAkuijY+RzVnNDOQ==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "jest-mock": "^27.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.1.0.tgz", - "integrity": "sha512-22Zyn8il8DzpS+30jJNVbTlm7vAtnfy1aYvNeOEHloMlGy1PCYLHa4PWlSws0hvNsMM5bON6GISjkLoQUV3oMA==", - "dev": true, - "dependencies": { - "@jest/types": "^27.1.0", - "@sinonjs/fake-timers": "^7.0.2", - "@types/node": "*", - "jest-message-util": "^27.1.0", - "jest-mock": "^27.1.0", - "jest-util": "^27.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.1.0.tgz", - "integrity": "sha512-73vLV4aNHAlAgjk0/QcSIzzCZSqVIPbmFROJJv9D3QUR7BI4f517gVdJpSrCHxuRH3VZFhe0yGG/tmttlMll9g==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.1.0", - "@jest/types": "^27.1.0", - "expect": "^27.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.1.0.tgz", - "integrity": "sha512-5T/zlPkN2HnK3Sboeg64L5eC8iiaZueLpttdktWTJsvALEtP2YMkC5BQxwjRWQACG9SwDmz+XjjkoxXUDMDgdw==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", - "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": "^27.1.0", - "jest-resolve": "^27.1.0", - "jest-util": "^27.1.0", - "jest-worker": "^27.1.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/source-map": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.6.tgz", - "integrity": "sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/source-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/test-result": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.1.0.tgz", - "integrity": "sha512-Aoz00gpDL528ODLghat3QSy6UBTD5EmmpjrhZZMK/v1Q2/rRRqTGnFxHuEkrD4z/Py96ZdOHxIWkkCKRpmnE1A==", - "dev": true, - "dependencies": { - "@jest/console": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.1.0.tgz", - "integrity": "sha512-lnCWawDr6Z1DAAK9l25o3AjmKGgcutq1iIbp+hC10s/HxnB8ZkUsYq1FzjOoxxZ5hW+1+AthBtvS4x9yno3V1A==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.1.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.1.0", - "jest-runtime": "^27.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.1.0.tgz", - "integrity": "sha512-ZRGCA2ZEVJ00ubrhkTG87kyLbN6n55g1Ilq0X9nJb5bX3MhMp3O6M7KG+LvYu+nZRqG5cXsQnJEdZbdpTAV8pQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.1.0", - "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": "^27.1.0", - "jest-regex-util": "^27.0.6", - "jest-util": "^27.1.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/transform/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.1.0.tgz", - "integrity": "sha512-pRP5cLIzN7I7Vp6mHKRSaZD7YpBTK7hawx5si8trMKqk4+WOdK8NEKOTO2G8PKWD1HbKMVckVB6/XHh/olhf2g==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jimp/bmp": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.16.1.tgz", - "integrity": "sha512-iwyNYQeBawrdg/f24x3pQ5rEx+/GwjZcCXd3Kgc+ZUd+Ivia7sIqBsOnDaMZdKCBPlfW364ekexnlOqyVa0NWg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "bmp-js": "^0.1.0" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/core": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.16.1.tgz", - "integrity": "sha512-la7kQia31V6kQ4q1kI/uLimu8FXx7imWVajDGtwUG8fzePLWDFJyZl0fdIXVCL1JW2nBcRHidUot6jvlRDi2+g==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "any-base": "^1.1.0", - "buffer": "^5.2.0", - "exif-parser": "^0.1.12", - "file-type": "^9.0.0", - "load-bmfont": "^1.3.1", - "mkdirp": "^0.5.1", - "phin": "^2.9.1", - "pixelmatch": "^4.0.2", - "tinycolor2": "^1.4.1" - } - }, - "node_modules/@jimp/custom": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.16.1.tgz", - "integrity": "sha512-DNUAHNSiUI/j9hmbatD6WN/EBIyeq4AO0frl5ETtt51VN1SvE4t4v83ZA/V6ikxEf3hxLju4tQ5Pc3zmZkN/3A==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/core": "^0.16.1" - } - }, - "node_modules/@jimp/gif": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.16.1.tgz", - "integrity": "sha512-r/1+GzIW1D5zrP4tNrfW+3y4vqD935WBXSc8X/wm23QTY9aJO9Lw6PEdzpYCEY+SOklIFKaJYUAq/Nvgm/9ryw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "gifwrap": "^0.9.2", - "omggif": "^1.0.9" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/jpeg": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.16.1.tgz", - "integrity": "sha512-8352zrdlCCLFdZ/J+JjBslDvml+fS3Z8gttdml0We759PnnZGqrnPRhkOEOJbNUlE+dD4ckLeIe6NPxlS/7U+w==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "jpeg-js": "0.4.2" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-blit": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.16.1.tgz", - "integrity": "sha512-fKFNARm32RoLSokJ8WZXHHH2CGzz6ire2n1Jh6u+XQLhk9TweT1DcLHIXwQMh8oR12KgjbgsMGvrMVlVknmOAg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-blur": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.16.1.tgz", - "integrity": "sha512-1WhuLGGj9MypFKRcPvmW45ht7nXkOKu+lg3n2VBzIB7r4kKNVchuI59bXaCYQumOLEqVK7JdB4glaDAbCQCLyw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-circle": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.16.1.tgz", - "integrity": "sha512-JK7yi1CIU7/XL8hdahjcbGA3V7c+F+Iw+mhMQhLEi7Q0tCnZ69YJBTamMiNg3fWPVfMuvWJJKOBRVpwNTuaZRg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-color": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.16.1.tgz", - "integrity": "sha512-9yQttBAO5SEFj7S6nJK54f+1BnuBG4c28q+iyzm1JjtnehjqMg6Ljw4gCSDCvoCQ3jBSYHN66pmwTV74SU1B7A==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "tinycolor2": "^1.4.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-contain": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.16.1.tgz", - "integrity": "sha512-44F3dUIjBDHN+Ym/vEfg+jtjMjAqd2uw9nssN67/n4FdpuZUVs7E7wadKY1RRNuJO+WgcD5aDQcsvurXMETQTg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-blit": ">=0.3.5", - "@jimp/plugin-resize": ">=0.3.5", - "@jimp/plugin-scale": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-cover": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.16.1.tgz", - "integrity": "sha512-YztWCIldBAVo0zxcQXR+a/uk3/TtYnpKU2CanOPJ7baIuDlWPsG+YE4xTsswZZc12H9Kl7CiziEbDtvF9kwA/Q==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-crop": ">=0.3.5", - "@jimp/plugin-resize": ">=0.3.5", - "@jimp/plugin-scale": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-crop": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.16.1.tgz", - "integrity": "sha512-UQdva9oQzCVadkyo3T5Tv2CUZbf0klm2cD4cWMlASuTOYgaGaFHhT9st+kmfvXjKL8q3STkBu/zUPV6PbuV3ew==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-displace": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.16.1.tgz", - "integrity": "sha512-iVAWuz2+G6Heu8gVZksUz+4hQYpR4R0R/RtBzpWEl8ItBe7O6QjORAkhxzg+WdYLL2A/Yd4ekTpvK0/qW8hTVw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-dither": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.16.1.tgz", - "integrity": "sha512-tADKVd+HDC9EhJRUDwMvzBXPz4GLoU6s5P7xkVq46tskExYSptgj5713J5Thj3NMgH9Rsqu22jNg1H/7tr3V9Q==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-fisheye": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.16.1.tgz", - "integrity": "sha512-BWHnc5hVobviTyIRHhIy9VxI1ACf4CeSuCfURB6JZm87YuyvgQh5aX5UDKtOz/3haMHXBLP61ZBxlNpMD8CG4A==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-flip": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.16.1.tgz", - "integrity": "sha512-KdxTf0zErfZ8DyHkImDTnQBuHby+a5YFdoKI/G3GpBl3qxLBvC+PWkS2F/iN3H7wszP7/TKxTEvWL927pypT0w==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-rotate": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-gaussian": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.16.1.tgz", - "integrity": "sha512-u9n4wjskh3N1mSqketbL6tVcLU2S5TEaFPR40K6TDv4phPLZALi1Of7reUmYpVm8mBDHt1I6kGhuCJiWvzfGyg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-invert": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.16.1.tgz", - "integrity": "sha512-2DKuyVXANH8WDpW9NG+PYFbehzJfweZszFYyxcaewaPLN0GxvxVLOGOPP1NuUTcHkOdMFbE0nHDuB7f+sYF/2w==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-mask": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.16.1.tgz", - "integrity": "sha512-snfiqHlVuj4bSFS0v96vo2PpqCDMe4JB+O++sMo5jF5mvGcGL6AIeLo8cYqPNpdO6BZpBJ8MY5El0Veckhr39Q==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-normalize": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.16.1.tgz", - "integrity": "sha512-dOQfIOvGLKDKXPU8xXWzaUeB0nvkosHw6Xg1WhS1Z5Q0PazByhaxOQkSKgUryNN/H+X7UdbDvlyh/yHf3ITRaw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-print": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.16.1.tgz", - "integrity": "sha512-ceWgYN40jbN4cWRxixym+csyVymvrryuKBQ+zoIvN5iE6OyS+2d7Mn4zlNgumSczb9GGyZZESIgVcBDA1ezq0Q==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "load-bmfont": "^1.4.0" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-blit": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-resize": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.16.1.tgz", - "integrity": "sha512-u4JBLdRI7dargC04p2Ha24kofQBk3vhaf0q8FwSYgnCRwxfvh2RxvhJZk9H7Q91JZp6wgjz/SjvEAYjGCEgAwQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-rotate": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.16.1.tgz", - "integrity": "sha512-ZUU415gDQ0VjYutmVgAYYxC9Og9ixu2jAGMCU54mSMfuIlmohYfwARQmI7h4QB84M76c9hVLdONWjuo+rip/zg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-blit": ">=0.3.5", - "@jimp/plugin-crop": ">=0.3.5", - "@jimp/plugin-resize": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-scale": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.16.1.tgz", - "integrity": "sha512-jM2QlgThIDIc4rcyughD5O7sOYezxdafg/2Xtd1csfK3z6fba3asxDwthqPZAgitrLgiKBDp6XfzC07Y/CefUw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-resize": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-shadow": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.16.1.tgz", - "integrity": "sha512-MeD2Is17oKzXLnsphAa1sDstTu6nxscugxAEk3ji0GV1FohCvpHBcec0nAq6/czg4WzqfDts+fcPfC79qWmqrA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-blur": ">=0.3.5", - "@jimp/plugin-resize": ">=0.3.5" - } - }, - "node_modules/@jimp/plugin-threshold": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.16.1.tgz", - "integrity": "sha512-iGW8U/wiCSR0+6syrPioVGoSzQFt4Z91SsCRbgNKTAk7D+XQv6OI78jvvYg4o0c2FOlwGhqz147HZV5utoSLxA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5", - "@jimp/plugin-color": ">=0.8.0", - "@jimp/plugin-resize": ">=0.8.0" - } - }, - "node_modules/@jimp/plugins": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.16.1.tgz", - "integrity": "sha512-c+lCqa25b+4q6mJZSetlxhMoYuiltyS+ValLzdwK/47+aYsq+kcJNl+TuxIEKf59yr9+5rkbpsPkZHLF/V7FFA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/plugin-blit": "^0.16.1", - "@jimp/plugin-blur": "^0.16.1", - "@jimp/plugin-circle": "^0.16.1", - "@jimp/plugin-color": "^0.16.1", - "@jimp/plugin-contain": "^0.16.1", - "@jimp/plugin-cover": "^0.16.1", - "@jimp/plugin-crop": "^0.16.1", - "@jimp/plugin-displace": "^0.16.1", - "@jimp/plugin-dither": "^0.16.1", - "@jimp/plugin-fisheye": "^0.16.1", - "@jimp/plugin-flip": "^0.16.1", - "@jimp/plugin-gaussian": "^0.16.1", - "@jimp/plugin-invert": "^0.16.1", - "@jimp/plugin-mask": "^0.16.1", - "@jimp/plugin-normalize": "^0.16.1", - "@jimp/plugin-print": "^0.16.1", - "@jimp/plugin-resize": "^0.16.1", - "@jimp/plugin-rotate": "^0.16.1", - "@jimp/plugin-scale": "^0.16.1", - "@jimp/plugin-shadow": "^0.16.1", - "@jimp/plugin-threshold": "^0.16.1", - "timm": "^1.6.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/png": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.16.1.tgz", - "integrity": "sha512-iyWoCxEBTW0OUWWn6SveD4LePW89kO7ZOy5sCfYeDM/oTPLpR8iMIGvZpZUz1b8kvzFr27vPst4E5rJhGjwsdw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "pngjs": "^3.3.3" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/tiff": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.16.1.tgz", - "integrity": "sha512-3K3+xpJS79RmSkAvFMgqY5dhSB+/sxhwTFA9f4AVHUK0oKW+u6r52Z1L0tMXHnpbAdR9EJ+xaAl2D4x19XShkQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "utif": "^2.0.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/types": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.16.1.tgz", - "integrity": "sha512-g1w/+NfWqiVW4CaXSJyD28JQqZtm2eyKMWPhBBDCJN9nLCN12/Az0WFF3JUAktzdsEC2KRN2AqB1a2oMZBNgSQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/bmp": "^0.16.1", - "@jimp/gif": "^0.16.1", - "@jimp/jpeg": "^0.16.1", - "@jimp/png": "^0.16.1", - "@jimp/tiff": "^0.16.1", - "timm": "^1.6.1" - }, - "peerDependencies": { - "@jimp/custom": ">=0.3.5" - } - }, - "node_modules/@jimp/utils": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.16.1.tgz", - "integrity": "sha512-8fULQjB0x4LzUSiSYG6ZtQl355sZjxbv8r9PPAuYHzS9sGiSHJQavNqK/nKnpDsVkU88/vRGcE7t3nMU0dEnVw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "regenerator-runtime": "^0.13.3" - } - }, - "node_modules/@mui/core": { - "version": "5.0.0-alpha.54", - "resolved": "https://registry.npmjs.org/@mui/core/-/core-5.0.0-alpha.54.tgz", - "integrity": "sha512-8TxdHqDdSb6wjhsnpE5n7qtkFKDG3PUSlVY0gR3VcdsHXscUY13l3VbMQW1brI4D/R9zx5VYmxIHWaHFgw4RtA==", - "dependencies": { - "@babel/runtime": "^7.16.0", - "@emotion/is-prop-valid": "^1.1.0", - "@mui/utils": "^5.1.0", - "@popperjs/core": "^2.4.4", - "clsx": "^1.1.1", - "prop-types": "^15.7.2", - "react-is": "^17.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^17.0.2", - "react-dom": "^17.0.2" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/icons-material": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.0.0.tgz", - "integrity": "sha512-Vl5pMIdD1MC+LVBEKDQkWeoU/0mdxx/WLBuTVo5y2yzOzEp8gcwkegtiUyN1gubiXcqzNNZQNvJ6/YSdFRr84Q==", - "dependencies": { - "@babel/runtime": "^7.14.8" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@mui/material": "^5.0.0-rc.0", - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^17.0.2" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/material": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.1.0.tgz", - "integrity": "sha512-K76v7zRhpJToInSI8sRcEmTwpVFBZ223VIusjZRKXN8JzX+PuErG7skfa1yUuhc3f4VEqcYYUw0LvI+DJJ05eg==", - "dependencies": { - "@babel/runtime": "^7.16.0", - "@mui/core": "5.0.0-alpha.54", - "@mui/system": "^5.1.0", - "@mui/types": "^7.1.0", - "@mui/utils": "^5.1.0", - "@types/react-transition-group": "^4.4.4", - "clsx": "^1.1.1", - "csstype": "^3.0.9", - "hoist-non-react-statics": "^3.3.2", - "prop-types": "^15.7.2", - "react-is": "^17.0.2", - "react-transition-group": "^4.4.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^17.0.2", - "react-dom": "^17.0.2" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - }, - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/material/node_modules/csstype": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", - "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" - }, - "node_modules/@mui/private-theming": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.1.0.tgz", - "integrity": "sha512-RWzpvwZTNoCUlWFtf7uMDY4QkNL6pI3V2Ac4MZeVzJr3DLluQrt0JjUdsy8CVS7HCTp1YGiyZsJ7H8PfR9jIOw==", - "dependencies": { - "@babel/runtime": "^7.16.0", - "@mui/utils": "^5.1.0", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^17.0.2" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/styled-engine": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.1.0.tgz", - "integrity": "sha512-Z27hexqYL21z+iVat47n1E/Tj4r83JK6hXaOFj2rYMYz0lJQ6YGLF+c2B3NNJoglL76Vo0w4yKC63FsO+015kw==", - "dependencies": { - "@babel/runtime": "^7.16.0", - "@emotion/cache": "^11.5.0", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@emotion/react": "^11.4.1", - "@emotion/styled": "^11.3.0", - "react": "^17.0.2" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - } - } - }, - "node_modules/@mui/styles": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-5.0.1.tgz", - "integrity": "sha512-hCtR2ZVOkoIhpTan02I4UEShnZxe59WwhKRJqauMs/addXByhAHHCNheTdiV++Irl/fyyFObmzPM0CUD3q6FIA==", - "dependencies": { - "@babel/runtime": "^7.15.4", - "@emotion/hash": "^0.8.0", - "@mui/private-theming": "^5.0.1", - "@mui/types": "^7.0.0", - "@mui/utils": "^5.0.1", - "clsx": "^1.1.1", - "csstype": "^3.0.9", - "hoist-non-react-statics": "^3.3.2", - "jss": "^10.8.0", - "jss-plugin-camel-case": "^10.8.0", - "jss-plugin-default-unit": "^10.8.0", - "jss-plugin-global": "^10.8.0", - "jss-plugin-nested": "^10.8.0", - "jss-plugin-props-sort": "^10.8.0", - "jss-plugin-rule-value-function": "^10.8.0", - "jss-plugin-vendor-prefixer": "^10.8.0", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^17.0.2" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/styles/node_modules/csstype": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", - "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" - }, - "node_modules/@mui/system": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.1.0.tgz", - "integrity": "sha512-1h+YDnPGfTWZkf7lgeNV+vw6altxXGLclXLdxs9GPzEMNYXX7xveUjmndYpO1p/yx7GNG2gLWWkFZ1TYCeo4+Q==", - "dependencies": { - "@babel/runtime": "^7.16.0", - "@mui/private-theming": "^5.1.0", - "@mui/styled-engine": "^5.1.0", - "@mui/types": "^7.1.0", - "@mui/utils": "^5.1.0", - "clsx": "^1.1.1", - "csstype": "^3.0.9", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^17.0.2" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - }, - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/system/node_modules/csstype": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", - "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" - }, - "node_modules/@mui/types": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.1.0.tgz", - "integrity": "sha512-Hh7ALdq/GjfIwLvqH3XftuY3bcKhupktTm+S6qRIDGOtPtRuq2L21VWzOK4p7kblirK0XgGVH5BLwa6u8z/6QQ==", - "peerDependencies": { - "@types/react": "*" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.1.0.tgz", - "integrity": "sha512-TbAa3DZBGE6xjrVsQ6e0Iw0jwgGZqPg/48aZJJWXJJjU8NU5OhBRutYhrk/kbdDRmsIArHNdpJayBSi7yETYvg==", - "dependencies": { - "@babel/runtime": "^7.16.0", - "@types/prop-types": "^15.7.4", - "@types/react-is": "^16.7.1 || ^17.0.0", - "prop-types": "^15.7.2", - "react-is": "^17.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "react": "^17.0.2" - } - }, - "node_modules/@mui/x-data-grid": { - "version": "5.0.0-beta.7", - "resolved": "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-5.0.0-beta.7.tgz", - "integrity": "sha512-0h7uJ/1xvXghJwGPRFcPUPB0zNlKpfAqFU2dBdAtUl6DK2ca1cPfd+sLNzApa4yvxjGUxLyNxvcc5xutka0t8A==", - "dependencies": { - "@mui/utils": "^5.0.1", - "clsx": "^1.1.1", - "prop-types": "^15.7.2", - "reselect": "^4.1.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@mui/material": "^5.0.6", - "react": "^17.0.2" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nymproject/nym-validator-client": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@nymproject/nym-validator-client/-/nym-validator-client-0.18.0.tgz", - "integrity": "sha512-FO1T15S2BJVuMoPA2yOaH40aD3hKJPKJVyX5ix7eJEbBWIdsYNoVeVc/soHhaAU1FIy2uU0G/FZQkaUYJGGb7Q==", - "dependencies": { - "@cosmjs/cosmwasm-stargate": "^0.25.5", - "@cosmjs/math": "^0.25.5", - "@cosmjs/proto-signing": "^0.25.5", - "@cosmjs/stargate": "^0.25.5", - "axios": "^0.21.1" - } - }, - "node_modules/@nymproject/nym-validator-client/node_modules/@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "dependencies": { - "bn.js": "^4.11.8" - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.0-rc.6", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.0-rc.6.tgz", - "integrity": "sha512-EU+iDjTp5oFTK2Rw7SgBD8RdKTUpcUcLFCeHZG7/5shkKRMuHTMOzigaf5/C9oLRfWDeCo0mW67dovP03V7SgA==", - "dev": true, - "dependencies": { - "ansi-html": "^0.0.7", - "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.8.1", - "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", - "html-entities": "^2.1.0", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">= 10.13" - }, - "peerDependencies": { - "@types/webpack": "4.x || 5.x", - "react-refresh": "^0.10.0", - "sockjs-client": "^1.4.0", - "type-fest": ">=0.17.0 <2.0.0", - "webpack": ">=4.43.0 <6.0.0", - "webpack-dev-server": "3.x || >=4.0.0-beta.0", - "webpack-hot-middleware": "2.x", - "webpack-plugin-serve": "0.x || 1.x" - }, - "peerDependenciesMeta": { - "@types/webpack": { - "optional": true - }, - "sockjs-client": { - "optional": true - }, - "type-fest": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - }, - "webpack-hot-middleware": { - "optional": true - }, - "webpack-plugin-serve": { - "optional": true - } - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@popperjs/core": { - "version": "2.10.2", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz", - "integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", - "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", - "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@testing-library/dom": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.3.0.tgz", - "integrity": "sha512-4Eu+ExT7UhesxcRjumD7kAXv/8xhl5j2wgp2FROReXDg+Y+ArzPpU+GEN0+0m0SYlOu9hBtvNuBrzTKqyEB1Sw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^4.2.0", - "aria-query": "^4.2.2", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.6", - "lz-string": "^1.4.4", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/dom/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@testing-library/dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom": { - "version": "5.14.1", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.14.1.tgz", - "integrity": "sha512-dfB7HVIgTNCxH22M1+KU6viG5of2ldoA5ly8Ar8xkezKHKXjRvznCdbMbqjYGgO2xjRbwnR+rR8MLUIqF3kKbQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^4.2.2", - "chalk": "^3.0.0", - "css": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=8", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@testing-library/jest-dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/react": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.0.0.tgz", - "integrity": "sha512-sh3jhFgEshFyJ/0IxGltRhwZv2kFKfJ3fN1vTZ6hhMXzz9ZbbcTgmDYM4e+zJv+oiVKKEWZPyqPAh4MQBI65gA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.0.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@trysound/sax": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.1.1.tgz", - "integrity": "sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.1.16", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz", - "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz", - "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", - "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/d3-dsv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.0.tgz", - "integrity": "sha512-o0/7RlMl9p5n6FQDptuJVMxDf/7EDEv2SYEO/CwdG2tr1hTfUVi0Iavkk2ax+VpaQ/1jVhpnj5rq1nj8vwhn2A==", - "dev": true - }, - "node_modules/@types/d3-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.1.tgz", - "integrity": "sha512-toZJNOwrOIqz7Oh6Q7l2zkaNfXkfR7mFSJvGvlD/Ciq/+SQ39d5gynHJZ/0fjt83ec3WL7+u3ssqIijQtBISsw==", - "dev": true, - "dependencies": { - "@types/d3-dsv": "*" - } - }, - "node_modules/@types/d3-geo": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.0.2.tgz", - "integrity": "sha512-DbqK7MLYA8LpyHQfv6Klz0426bQEf7bRTvhMy44sNGVyZoWn//B0c+Qbeg8Osi2Obdc9BLLXYAKpyWege2/7LQ==", - "dev": true, - "dependencies": { - "@types/geojson": "*" - } - }, - "node_modules/@types/d3-scale": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.1.tgz", - "integrity": "sha512-GDuXcRcR6mKcpUVMhPNttpOzHi2dP6YcDqLZYSZHgwTZ+sfCa8e9q0VEBwZomblAPNMYpVqxojnSyIEb4s/Pwg==", - "dev": true, - "dependencies": { - "@types/d3-time": "*" - } - }, - "node_modules/@types/d3-time": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz", - "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==", - "dev": true - }, - "node_modules/@types/eslint": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", - "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", - "dev": true - }, - "node_modules/@types/geojson": { - "version": "7946.0.8", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.8.tgz", - "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==", - "dev": true - }, - "node_modules/@types/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", - "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/history": { - "version": "4.7.9", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.9.tgz", - "integrity": "sha512-MUc6zSmU3tEVnkQ78q0peeEjKWPUADMlC/t++2bI8WnAG2tvYRPIgHG8lWkXwqc8MsUF6Z2MOf+Mh5sazOmhiQ==", - "dev": true - }, - "node_modules/@types/html-minifier-terser": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", - "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==", - "dev": true - }, - "node_modules/@types/http-proxy": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", - "integrity": "sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.1.tgz", - "integrity": "sha512-HTLpVXHrY69556ozYkcq47TtQJXpcWAWfkoqz+ZGz2JnmZhzlRjprCIyFnetSy8gpDWwTTGBcRVv1J1I1vBrHw==", - "dev": true, - "dependencies": { - "jest-diff": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, - "node_modules/@types/long": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", - "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" - }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "16.7.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.13.tgz", - "integrity": "sha512-pLUPDn+YG3FYEt/pHI74HmnJOWzeR+tOIQzUx93pi9M7D8OE7PSLr97HboXwk5F+JS+TLtWuzCOW97AHjmOXXA==", - "dev": true - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "node_modules/@types/prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==", - "dev": true - }, - "node_modules/@types/prop-types": { - "version": "15.7.4", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", - "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" - }, - "node_modules/@types/react": { - "version": "17.0.34", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.34.tgz", - "integrity": "sha512-46FEGrMjc2+8XhHXILr+3+/sTe3OfzSPU9YGKILLrUYbQ1CLQC9Daqo1KzENGXAWwrFwiY0l4ZbF20gRvgpWTg==", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "17.0.9", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.9.tgz", - "integrity": "sha512-wIvGxLfgpVDSAMH5utdL9Ngm5Owu0VsGmldro3ORLXV8CShrL8awVj06NuEXFQ5xyaYfdca7Sgbk/50Ri1GdPg==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-2+L0ilcAEG8udkDnvx8B0upwXFBbNnVwOsSCTxW3SDOkmar9NyEeLG0ZLa3uOEw9zyYf/fQapcnfXAVmDKlyHw==", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-router": { - "version": "5.1.16", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.16.tgz", - "integrity": "sha512-8d7nR/fNSqlTFGHti0R3F9WwIertOaaA1UEB8/jr5l5mDMOs4CidEgvvYMw4ivqrBK+vtVLxyTj2P+Pr/dtgzg==", - "dev": true, - "dependencies": { - "@types/history": "*", - "@types/react": "*" - } - }, - "node_modules/@types/react-router-dom": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.1.8.tgz", - "integrity": "sha512-03xHyncBzG0PmDmf8pf3rehtjY0NpUj7TIN46FrT5n1ZWHPZvXz32gUyNboJ+xsL8cpg8bQVLcllptcQHvocrw==", - "dev": true, - "dependencies": { - "@types/history": "*", - "@types/react": "*", - "@types/react-router": "*" - } - }, - "node_modules/@types/react-simple-maps": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/react-simple-maps/-/react-simple-maps-1.0.6.tgz", - "integrity": "sha512-Gbo8FijVgI5BcUOZi3YMfixeMsIXlBOkkzD7vwyrAE9MjSB+GLxBKiTeVCieXbV0+PK0gGiBKWXIZH5uEDoC6w==", - "dev": true, - "dependencies": { - "@types/d3-geo": "^1", - "@types/geojson": "*", - "@types/react": "*" - } - }, - "node_modules/@types/react-simple-maps/node_modules/@types/d3-geo": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-1.12.3.tgz", - "integrity": "sha512-yZbPb7/5DyL/pXkeOmZ7L5ySpuGr4H48t1cuALjnJy5sXQqmSSAYBiwa6Ya/XpWKX2rJqGDDubmh3nOaopOpeA==", - "dev": true, - "dependencies": { - "@types/geojson": "*" - } - }, - "node_modules/@types/react-tooltip": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@types/react-tooltip/-/react-tooltip-4.2.4.tgz", - "integrity": "sha512-UzjzmgY/VH3Str6DcAGTLMA1mVVhGOyARNTANExrirtp+JgxhaIOVDxq4TIRmpSi4voLv+w4HA9CC5GvhhCA0A==", - "deprecated": "This is a stub types definition. react-tooltip provides its own type definitions, so you do not need this installed.", - "dev": true, - "dependencies": { - "react-tooltip": "*" - } - }, - "node_modules/@types/react-transition-group": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.4.tgz", - "integrity": "sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/retry": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", - "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", - "dev": true - }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "node_modules/@types/testing-library__jest-dom": { - "version": "5.14.1", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.1.tgz", - "integrity": "sha512-Gk9vaXfbzc5zCXI9eYE9BI5BNHEp4D3FWjgqBE/ePGYElLAP+KvxBcsdkwfIVvezs605oiyd/VrpiHe3Oeg+Aw==", - "dev": true, - "dependencies": { - "@types/jest": "*" - } - }, - "node_modules/@types/topojson-client": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/topojson-client/-/topojson-client-3.1.0.tgz", - "integrity": "sha512-wmjTmMkF6k6m3Tn4mIyRjw8KUQZLHB1TxNcpGYirvV/aCINkC0eMJsUO/OPMkKIB6VO5iA6Vp39bmAq6QgvSfA==", - "dev": true, - "dependencies": { - "@types/geojson": "*", - "@types/topojson-specification": "*" - } - }, - "node_modules/@types/topojson-specification": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/topojson-specification/-/topojson-specification-1.0.2.tgz", - "integrity": "sha512-SGc1NdX9g3UGDp6S+p+uyG+Z8CehS51sUJ9bejA25Xgn2kkAguILk6J9nxXK+0M/mbTBN7ypMA7+4HVLNMJ8ag==", - "dev": true, - "dependencies": { - "@types/geojson": "*" - } - }, - "node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "20.2.1", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", - "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.0.tgz", - "integrity": "sha512-iPKZTZNavAlOhfF4gymiSuUkgLne/nh5Oz2/mdiUmuZVD42m9PapnCnzjxuDsnpnbH3wT5s2D8bw6S39TC6GNw==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "4.31.0", - "@typescript-eslint/scope-manager": "4.31.0", - "debug": "^4.3.1", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.1.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^4.0.0", - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.0.tgz", - "integrity": "sha512-Hld+EQiKLMppgKKkdUsLeVIeEOrwKc2G983NmznY/r5/ZtZCDvIOXnXtwqJIgYz/ymsy7n7RGvMyrzf1WaSQrw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.31.0", - "@typescript-eslint/types": "4.31.0", - "@typescript-eslint/typescript-estree": "4.31.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.31.0.tgz", - "integrity": "sha512-oWbzvPh5amMuTmKaf1wp0ySxPt2ZXHnFQBN2Szu1O//7LmOvgaKTCIDNLK2NvzpmVd5A2M/1j/rujBqO37hj3w==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "4.31.0", - "@typescript-eslint/types": "4.31.0", - "@typescript-eslint/typescript-estree": "4.31.0", - "debug": "^4.3.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.31.0.tgz", - "integrity": "sha512-LJ+xtl34W76JMRLjbaQorhR0hfRAlp3Lscdiz9NeI/8i+q0hdBZ7BsiYieLoYWqy+AnRigaD3hUwPFugSzdocg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.31.0", - "@typescript-eslint/visitor-keys": "4.31.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.31.0.tgz", - "integrity": "sha512-9XR5q9mk7DCXgXLS7REIVs+BaAswfdHhx91XqlJklmqWpTALGjygWVIb/UnLh4NWhfwhR5wNe1yTyCInxVhLqQ==", - "dev": true, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.0.tgz", - "integrity": "sha512-QHl2014t3ptg+xpmOSSPn5hm4mY8D4s97ftzyk9BZ8RxYQ3j73XcwuijnJ9cMa6DO4aLXeo8XS3z1omT9LA/Eg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.31.0", - "@typescript-eslint/visitor-keys": "4.31.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.0.tgz", - "integrity": "sha512-HUcRp2a9I+P21+O21yu3ezv3GEPGjyGiXoEUQwZXjR8UxRApGeLyWH4ZIIUSalE28aG4YsV6GjtaAVB3QKOu0w==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.31.0", - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.4.tgz", - "integrity": "sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ==", - "dev": true, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.3.0.tgz", - "integrity": "sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w==", - "dev": true, - "dependencies": { - "envinfo": "^7.7.3" - }, - "peerDependencies": { - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.5.2.tgz", - "integrity": "sha512-vgJ5OLWadI8aKjDlOH3rb+dYyPd2GTZuQC/Tihjct6F9GpXGZINo3Y/IVuZVTM1eDQB+/AOsjPUWH/WySDaXvw==", - "dev": true, - "peerDependencies": { - "webpack-cli": "4.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, - "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, - "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/any-base": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", - "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==", - "dev": true - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "node_modules/are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/are-we-there-yet/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "node_modules/array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", - "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", - "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", - "dev": true - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, - "node_modules/axe-core": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.3.tgz", - "integrity": "sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, - "node_modules/axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", - "dev": true - }, - "node_modules/babel-jest": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.1.0.tgz", - "integrity": "sha512-6NrdqzaYemALGCuR97QkC/FkFIEBWP5pw5TMJoUHZTVXyOgocujp6A0JE2V6gE0HtqAAv6VKU/nI+OCR1Z4gHA==", - "dev": true, - "dependencies": { - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^27.0.6", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/babel-jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", - "dev": true, - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz", - "integrity": "sha512-CewFeM9Vv2gM7Yr9n5eyyLVPRSiBnk6lKZRjgwYnGKSl9M14TMn2vkN02wTF04OGuSDLEzlWiMzvjXuW9mB6Gw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - } - }, - "node_modules/babel-plugin-root-import": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-root-import/-/babel-plugin-root-import-6.6.0.tgz", - "integrity": "sha512-SPzVOHd7nDh5loZwZBxtX/oOu1MXeKjTkz+1VnnzLWC0dk8sJIGC2IDQ2uWIBjE5mUtXlQ35MTHSqN0Xn7qHrg==", - "dev": true, - "dependencies": { - "slash": "^3.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "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/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz", - "integrity": "sha512-WObA0/Biw2LrVVwZkF/2GqbOdzhKD6Fkdwhoy9ASIrOWr/zodcSpQh72JOkEn6NWyjmnPDjNSqaGN4KnpKzhXw==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^27.0.6", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/bignumber.js": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.4.0.tgz", - "integrity": "sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/bip39": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz", - "integrity": "sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw==", - "dependencies": { - "@types/node": "11.11.6", - "create-hash": "^1.1.0", - "pbkdf2": "^3.0.9", - "randombytes": "^2.0.1" - } - }, - "node_modules/bip39/node_modules/@types/node": { - "version": "11.11.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz", - "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==" - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bmp-js": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", - "integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM=", - "dev": true - }, - "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, - "dependencies": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "dependencies": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.0.tgz", - "integrity": "sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g==", - "dependencies": { - "caniuse-lite": "^1.0.30001254", - "colorette": "^1.3.0", - "electron-to-chromium": "^1.3.830", - "escalade": "^3.1.1", - "node-releases": "^1.1.75" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "node_modules/buffer-equal": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", - "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001255", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001255.tgz", - "integrity": "sha512-F+A3N9jTZL882f/fg/WWVnKSu6IOo3ueLz4zwaOPbPYHNmM/ZaDUyzyJwS1mZhX7Ex5jqTyW599Gdelh5PDYLQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", - "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", - "dev": true - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "node_modules/clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "dev": true, - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/clean-webpack-plugin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz", - "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==", - "dev": true, - "dependencies": { - "del": "^4.1.1" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "webpack": ">=4.0.0 <6.0.0" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", - "dev": true - }, - "node_modules/cloneable-readable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", - "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" - } - }, - "node_modules/cloneable-readable/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/cloneable-readable/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/clsx": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", - "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/color-string": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", - "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", - "dev": true, - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/colord": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.7.0.tgz", - "integrity": "sha512-pZJBqsHz+pYyw3zpX6ZRXWoCHM1/cvFikY9TV8G3zcejCaKE0lhankoj8iScyrrePA8C7yJ5FStfA9zbcOnw7Q==", - "dev": true - }, - "node_modules/colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "dev": true - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", - "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", - "dev": true - }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "node_modules/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, - "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "node_modules/core-js-pure": { - "version": "3.17.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.17.2.tgz", - "integrity": "sha512-2VV7DlIbooyTI7Bh+yzOOWL9tGwLnQKHno7qATE+fqZzDKYr6llVjVQOzpD/QLZFgXDPb8T71pJokHEZHEYJhQ==", - "dev": true, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - } - }, - "node_modules/css-color-names": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", - "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/css-declaration-sorter": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz", - "integrity": "sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==", - "dev": true, - "dependencies": { - "timsort": "^0.3.0" - }, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.2.0.tgz", - "integrity": "sha512-/rvHfYRjIpymZblf49w8jYcRo2y9gj6rV8UroHGmBxKrIyGLokpycyKzp9OkitvqT29ZSpzJ0Ic7SpnJX3sC8g==", - "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.2.tgz", - "integrity": "sha512-B3I5e17RwvKPJwsxjjWcdgpU/zqylzK1bPVghcmpFHRL48DXiBgrtqz1BJsn68+t/zzaLp9kYAaEDvQ7GyanFQ==", - "dev": true, - "dependencies": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "p-limit": "^3.0.2", - "postcss": "^8.3.5", - "schema-utils": "^3.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-select": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", - "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-vendor": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", - "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", - "dependencies": { - "@babel/runtime": "^7.8.3", - "is-in-browser": "^1.0.2" - } - }, - "node_modules/css-what": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", - "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=", - "dev": true - }, - "node_modules/css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.8.tgz", - "integrity": "sha512-Lda7geZU0Yu+RZi2SGpjYuQz4HI4/1Y+BhdD0jL7NXAQ5larCzVn+PUGuZbDMYz904AXXCOgO5L1teSvgu7aFg==", - "dev": true, - "dependencies": { - "cssnano-preset-default": "^5.1.4", - "is-resolvable": "^1.1.0", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-default": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz", - "integrity": "sha512-sPpQNDQBI3R/QsYxQvfB4mXeEcWuw0wGtKtmS5eg8wudyStYMgKOQT39G07EbW1LB56AOYrinRS9f0ig4Y3MhQ==", - "dev": true, - "dependencies": { - "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^2.0.1", - "postcss-calc": "^8.0.0", - "postcss-colormin": "^5.2.0", - "postcss-convert-values": "^5.0.1", - "postcss-discard-comments": "^5.0.1", - "postcss-discard-duplicates": "^5.0.1", - "postcss-discard-empty": "^5.0.1", - "postcss-discard-overridden": "^5.0.1", - "postcss-merge-longhand": "^5.0.2", - "postcss-merge-rules": "^5.0.2", - "postcss-minify-font-values": "^5.0.1", - "postcss-minify-gradients": "^5.0.2", - "postcss-minify-params": "^5.0.1", - "postcss-minify-selectors": "^5.1.0", - "postcss-normalize-charset": "^5.0.1", - "postcss-normalize-display-values": "^5.0.1", - "postcss-normalize-positions": "^5.0.1", - "postcss-normalize-repeat-style": "^5.0.1", - "postcss-normalize-string": "^5.0.1", - "postcss-normalize-timing-functions": "^5.0.1", - "postcss-normalize-unicode": "^5.0.1", - "postcss-normalize-url": "^5.0.2", - "postcss-normalize-whitespace": "^5.0.1", - "postcss-ordered-values": "^5.0.2", - "postcss-reduce-initial": "^5.0.1", - "postcss-reduce-transforms": "^5.0.1", - "postcss-svgo": "^5.0.2", - "postcss-unique-selectors": "^5.0.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", - "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "node_modules/csstype": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", - "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" - }, - "node_modules/d3-array": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.0.2.tgz", - "integrity": "sha512-nTN4OC6ufZueotlexbxBd2z8xmG1eIfhvP2m1auH2ONps0L+AZn1r0JWuzMXZ6XgOj1VBOp7GGZmEs9NUFEBbA==", - "dependencies": { - "internmap": "1 - 2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-2.0.0.tgz", - "integrity": "sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==" - }, - "node_modules/d3-dispatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-2.0.0.tgz", - "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==" - }, - "node_modules/d3-drag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-2.0.0.tgz", - "integrity": "sha512-g9y9WbMnF5uqB9qKqwIIa/921RYWzlUDv9Jl1/yONQwxbOfszAWTCm8u7HOTgJgRDXiRZN56cHT9pd24dmXs8w==", - "dependencies": { - "d3-dispatch": "1 - 2", - "d3-selection": "2" - } - }, - "node_modules/d3-ease": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-2.0.0.tgz", - "integrity": "sha512-68/n9JWarxXkOWMshcT5IcjbB+agblQUaIsbnXmrzejn2O82n3p2A9R2zEB9HIEFWKFwPAEDDN8gR0VdSAyyAQ==" - }, - "node_modules/d3-format": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.0.1.tgz", - "integrity": "sha512-hdL7+HBIohpgfolhBxr1KX47VMD6+vVD/oEFrxk5yhmzV2prk99EkFKYpXuhVkFpTgHdJ6/4bYcjdLPPXV4tIA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-interpolate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-2.0.1.tgz", - "integrity": "sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==", - "dependencies": { - "d3-color": "1 - 2" - } - }, - "node_modules/d3-scale": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.0.tgz", - "integrity": "sha512-foHQYKpWQcyndH1CGoHdUC4PECxTxonzwwBXGT8qu+Drb1FIc6ON6dG2P5f4hRRMkLiIKeWK7iFtdznDUrnuPQ==", - "dependencies": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-selection": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-2.0.0.tgz", - "integrity": "sha512-XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA==" - }, - "node_modules/d3-time": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.0.0.tgz", - "integrity": "sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==", - "dependencies": { - "d3-array": "2 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time-format": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.0.0.tgz", - "integrity": "sha512-nzaCwlj+ZVBIlFuVOT1RmU+6xb/7D5IcnhHzHQcBgS/aTa5K9fWZNN5LCXA27LgF5WxoSNJqKBbLcGMtM6Ca6A==", - "dependencies": { - "d3-time": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-timer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-2.0.0.tgz", - "integrity": "sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==" - }, - "node_modules/d3-transition": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-2.0.0.tgz", - "integrity": "sha512-42ltAGgJesfQE3u9LuuBHNbGrI/AJjNL2OAUdclE70UE6Vy239GCBEYD38uBPoLeNsOhFStGpPI0BAOV+HMxog==", - "dependencies": { - "d3-color": "1 - 2", - "d3-dispatch": "1 - 2", - "d3-ease": "1 - 2", - "d3-interpolate": "1 - 2", - "d3-timer": "1 - 2" - }, - "peerDependencies": { - "d3-selection": "2" - } - }, - "node_modules/d3-zoom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-2.0.0.tgz", - "integrity": "sha512-fFg7aoaEm9/jf+qfstak0IYpnesZLiMX6GZvXtUSdv8RH2o4E2qeelgdU09eKS6wGuiGMfcnMI0nTIqWzRHGpw==", - "dependencies": { - "d3-dispatch": "1 - 2", - "d3-drag": "2", - "d3-interpolate": "1 - 2", - "d3-selection": "2", - "d3-transition": "2" - } - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz", - "integrity": "sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==", - "dev": true - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/date-fns": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.24.0.tgz", - "integrity": "sha512-6ujwvwgPID6zbI0o7UbURi2vlLDR9uP26+tW6Lg+Ji3w7dd0i3DOcjcClLjLPranT60SSEFBwdSyYwn/ZkPIuw==", - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, - "node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", - "dev": true - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "dev": true, - "dependencies": { - "mimic-response": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "node_modules/deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "dependencies": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "dependencies": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/del/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del/node_modules/globby/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "dev": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "node_modules/diacritics": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/diacritics/-/diacritics-1.3.0.tgz", - "integrity": "sha1-PvqHMj67hj5mls67AILUj/PW96E=" - }, - "node_modules/diff-sequences": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz", - "integrity": "sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "node_modules/dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "dependencies": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "dependencies": { - "buffer-indexof": "^1.0.0" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-accessibility-api": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.7.tgz", - "integrity": "sha512-ml3lJIq9YjUfM9TUnEPvEYWFSwivwIGBPKpewX7tii7fwCazA8yCioGdqQcNsItPpfFvSJ3VIdMQPj60LJhcQA==", - "dev": true - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "node_modules/dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", - "dev": true - }, - "node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/domhandler": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", - "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dotenv-defaults": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz", - "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==", - "dev": true, - "dependencies": { - "dotenv": "^8.2.0" - } - }, - "node_modules/dotenv-defaults/node_modules/dotenv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", - "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/dotenv-webpack": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-7.0.3.tgz", - "integrity": "sha512-O0O9pOEwrk+n1zzR3T2uuXRlw64QxHSPeNN1GaiNBloQFNaCUL9V8jxSVz4jlXXFP/CIqK8YecWf8BAvsSgMjw==", - "dev": true, - "dependencies": { - "dotenv-defaults": "^2.0.2" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "webpack": "^4 || ^5" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.3.832", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.832.tgz", - "integrity": "sha512-x7lO8tGoW0CyV53qON4Lb5Rok9ipDelNdBIAiYUZ03dqy4u9vohMM1qV047+s/hiyJiqUWX/3PNwkX3kexX5ig==" - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", - "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/enhanced-resolve/node_modules/tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", - "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", - "dev": true, - "dependencies": { - "stackframe": "^1.1.1" - } - }, - "node_modules/es-abstract": { - "version": "1.18.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.6.tgz", - "integrity": "sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.4", - "is-string": "^1.0.7", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-module-lexer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", - "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==", - "dev": true - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es6-promise": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", - "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "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", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-airbnb": { - "version": "18.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz", - "integrity": "sha512-glZNDEZ36VdlZWoxn/bUR1r/sdFKPd1mHPbqUtkctgNG4yT2DLLtJ3D+yCV+jzZCc2V1nBVkmdknOJBZ5Hc0fg==", - "dev": true, - "dependencies": { - "eslint-config-airbnb-base": "^14.2.1", - "object.assign": "^4.1.2", - "object.entries": "^1.1.2" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "eslint": "^5.16.0 || ^6.8.0 || ^7.2.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jsx-a11y": "^6.4.1", - "eslint-plugin-react": "^7.21.5", - "eslint-plugin-react-hooks": "^4 || ^3 || ^2.3.0 || ^1.7.0" - } - }, - "node_modules/eslint-config-airbnb-base": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", - "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", - "dev": true, - "dependencies": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.2" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "eslint": "^5.16.0 || ^6.8.0 || ^7.2.0", - "eslint-plugin-import": "^2.22.1" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", - "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-root-import": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-root-import/-/eslint-import-resolver-root-import-1.0.4.tgz", - "integrity": "sha512-c8cUQcELRBe0mnblBZJKEfL+jIUGR8pctK5gdru5N7bBOIve2WZ0R3KoO5GOksXJ4WzZhtcBS2xPaTJYEe4IdQ==", - "dev": true, - "dependencies": { - "eslint-import-resolver-node": "^0.3.2", - "json5": "^2.1.0" - }, - "peerDependencies": { - "babel-plugin-root-import": "^5.1.0", - "eslint-plugin-import": ">=1.9.2" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz", - "integrity": "sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "pkg-dir": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.24.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz", - "integrity": "sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.3", - "array.prototype.flat": "^1.2.4", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.6.2", - "find-up": "^2.0.0", - "has": "^1.0.3", - "is-core-module": "^2.6.0", - "minimatch": "^3.0.4", - "object.values": "^1.1.4", - "pkg-up": "^2.0.0", - "read-pkg-up": "^3.0.0", - "resolve": "^1.20.0", - "tsconfig-paths": "^3.11.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/eslint-plugin-jest": { - "version": "24.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.4.0.tgz", - "integrity": "sha512-8qnt/hgtZ94E9dA6viqfViKBfkJwFHXgJmTWlMGDgunw1XJEGqm3eiPjDsTanM3/u/3Az82nyQM9GX7PM/QGmg==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "^4.0.1" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": ">= 4", - "eslint": ">=5" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz", - "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.11.2", - "aria-query": "^4.2.2", - "array-includes": "^3.1.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.0.2", - "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.6", - "emoji-regex": "^9.0.0", - "has": "^1.0.3", - "jsx-ast-utils": "^3.1.0", - "language-tags": "^1.0.5" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", - "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.25.1.tgz", - "integrity": "sha512-P4j9K1dHoFXxDNP05AtixcJEvIT6ht8FhYKsrkY0MPCPaUMYijhpWwNiRDZVtA8KFuZOkGSeft6QwH8KuVpJug==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.3", - "array.prototype.flatmap": "^1.2.4", - "doctrine": "^2.1.0", - "estraverse": "^5.2.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.0.4", - "object.entries": "^1.1.4", - "object.fromentries": "^2.0.4", - "object.values": "^1.1.4", - "prop-types": "^15.7.2", - "resolve": "^2.0.0-next.3", - "string.prototype.matchall": "^4.0.5" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz", - "integrity": "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", - "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", - "dev": true, - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-scope/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/eslint/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/exif-parser": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", - "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=", - "dev": true - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/expect": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.1.0.tgz", - "integrity": "sha512-9kJngV5hOJgkFil4F/uXm3hVBubUK2nERVfvqNNwxxuW8ZOUwSTTSysgfzckYtv/LBzj/LJXbiAF7okHCXgdug==", - "dev": true, - "dependencies": { - "@jest/types": "^27.1.0", - "ansi-styles": "^5.0.0", - "jest-get-type": "^27.0.6", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-regex-util": "^27.0.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/expect/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dev": true, - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz", - "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/favicons": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/favicons/-/favicons-6.2.2.tgz", - "integrity": "sha512-qhvFqbhlXA/JYIDYuxTrE4uT9rcpTCrWvF3UG0GxBoLl/XgFBBTrZkQvASrkMebSwDCJ9kKGypRWIbvoRZLBsw==", - "dev": true, - "dependencies": { - "clone": "^2.1.2", - "colors": "^1.4.0", - "image-size": "^0.8.3", - "jimp": "^0.16.1", - "jsontoxml": "^1.0.1", - "lodash.defaultsdeep": "^4.6.1", - "require-directory": "^2.1.1", - "sharp": "^0.28.2", - "through2": "^4.0.2", - "tinycolor2": "^1.4.2", - "to-ico": "^1.1.5", - "vinyl": "^2.2.1", - "xml2js": "^0.4.23" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-type": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", - "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/flatted": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.14.8", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz", - "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.3.3.tgz", - "integrity": "sha512-S3uMSg8IsIvs0H6VAfojtbf6RcnEXxEpDMT2Q41M2l0m20JO8eA1t4cCJybvrasC8SvvPEtK4B8ztxxfLljhNg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/gifwrap": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.2.tgz", - "integrity": "sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA==", - "dev": true, - "dependencies": { - "image-q": "^1.1.1", - "omggif": "^1.0.10" - } - }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", - "dev": true - }, - "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dev": true, - "dependencies": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/globalthis": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz", - "integrity": "sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==", - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", - "dev": true - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "dependencies": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hoist-non-react-statics/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-entities": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", - "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", - "dev": true - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", - "dev": true, - "dependencies": { - "camel-case": "^4.1.1", - "clean-css": "^4.2.3", - "commander": "^4.1.1", - "he": "^1.2.0", - "param-case": "^3.0.3", - "relateurl": "^0.2.7", - "terser": "^4.6.3" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/html-webpack-plugin": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.3.2.tgz", - "integrity": "sha512-HvB33boVNCz2lTyBsSiMffsJ+m0YLIQ+pskblXgN9fnjS1BgEcuAfdInfXfGrkdXV406k9FiDi86eVCDBgJOyQ==", - "dev": true, - "dependencies": { - "@types/html-minifier-terser": "^5.0.0", - "html-minifier-terser": "^5.0.1", - "lodash": "^4.17.21", - "pretty-error": "^3.0.4", - "tapable": "^2.0.0" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "webpack": "^5.20.0" - } - }, - "node_modules/html-webpack-plugin/node_modules/tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "node_modules/http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-errors/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", - "dev": true - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", - "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", - "dev": true, - "dependencies": { - "@types/http-proxy": "^1.17.5", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/hyphenate-style-name": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", - "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" - }, - "node_modules/i18n-iso-countries": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/i18n-iso-countries/-/i18n-iso-countries-6.8.0.tgz", - "integrity": "sha512-jJs/+CA6+VUICFxqGcB0vFMERGfhfvyNk+8Vb9EagSZkl7kSpm/kT0VyhvzM/zixDWEV/+oN9L7v/GT9BwzoGg==", - "dependencies": { - "diacritics": "1.3.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-q": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-q/-/image-q-1.1.1.tgz", - "integrity": "sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=", - "dev": true, - "engines": { - "node": ">=0.9.0" - } - }, - "node_modules/image-size": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.8.3.tgz", - "integrity": "sha512-SMtq1AJ+aqHB45c3FsB4ERK0UCiA2d3H1uq8s+8T0Pf8A3W4teyBQyaFaktH6xvZqh+npwlKU7i4fJo0r7TYTg==", - "dev": true, - "dependencies": { - "queue": "6.0.1" - }, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/imports-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-3.0.0.tgz", - "integrity": "sha512-PhDB+rxpc95/1cM8ehxWAcuDIDi3eXhqHhax09iyUeAYBJ2bT6QbBp7aDj8IfU9Ns+2l1K226GhoWVAU823CTA==", - "dev": true, - "dependencies": { - "source-map": "^0.6.1", - "strip-comments": "^2.0.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/imports-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/internal-ip": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", - "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", - "dev": true, - "dependencies": { - "default-gateway": "^6.0.0", - "ipaddr.js": "^1.9.1", - "is-ip": "^3.1.0", - "p-event": "^4.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/internal-ip?sponsor=1" - } - }, - "node_modules/internal-ip/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/internmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.1.tgz", - "integrity": "sha512-Ujwccrj9FkGqjbY3iVoxD1VV+KdZZeENx0rphrtzmRXbFvkFO88L80BL/zeSIguX/7T+y8k04xqtgWgS5vxwxw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ci": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", - "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", - "dev": true, - "dependencies": { - "ci-info": "^3.1.1" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-core-module": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", - "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", - "dev": true - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-in-browser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=" - }, - "node_modules/is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "dev": true, - "dependencies": { - "ip-regex": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "dependencies": { - "is-path-inside": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "dependencies": { - "path-is-inside": "^1.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "peerDependencies": { - "ws": "*" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.1.0.tgz", - "integrity": "sha512-pSQDVwRSwb109Ss13lcMtdfS9r8/w2Zz8+mTUA9VORD66GflCdl8nUFCqM96geOD2EBwWCNURrNAfQsLIDNBdg==", - "dev": true, - "dependencies": { - "@jest/core": "^27.1.0", - "import-local": "^3.0.2", - "jest-cli": "^27.1.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.1.0.tgz", - "integrity": "sha512-eRcb13TfQw0xiV2E98EmiEgs9a5uaBIqJChyl0G7jR9fCIvGjXovnDS6Zbku3joij4tXYcSK4SE1AXqOlUxjWg==", - "dev": true, - "dependencies": { - "@jest/types": "^27.1.0", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.1.0.tgz", - "integrity": "sha512-6FWtHs3nZyZlMBhRf1wvAC5CirnflbGJAY1xssSAnERLiiXQRH+wY2ptBVtXjX4gz4AA2EwRV57b038LmifRbA==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.1.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.1.0", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "pretty-format": "^27.1.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-circus/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-circus/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-circus/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.1.0.tgz", - "integrity": "sha512-h6zPUOUu+6oLDrXz0yOWY2YXvBLk8gQinx4HbZ7SF4V3HzasQf+ncoIbKENUMwXyf54/6dBkYXvXJos+gOHYZw==", - "dev": true, - "dependencies": { - "@jest/core": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "jest-config": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", - "prompts": "^2.0.1", - "yargs": "^16.0.3" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.1.0.tgz", - "integrity": "sha512-GMo7f76vMYUA3b3xOdlcKeKQhKcBIgurjERO2hojo0eLkKPGcw7fyIoanH+m6KOP2bLad+fGnF8aWOJYxzNPeg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^27.1.0", - "@jest/types": "^27.1.0", - "babel-jest": "^27.1.0", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "is-ci": "^3.0.0", - "jest-circus": "^27.1.0", - "jest-environment-jsdom": "^27.1.0", - "jest-environment-node": "^27.1.0", - "jest-get-type": "^27.0.6", - "jest-jasmine2": "^27.1.0", - "jest-regex-util": "^27.0.6", - "jest-resolve": "^27.1.0", - "jest-runner": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", - "micromatch": "^4.0.4", - "pretty-format": "^27.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-config/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.1.0.tgz", - "integrity": "sha512-rjfopEYl58g/SZTsQFmspBODvMSytL16I+cirnScWTLkQVXYVZfxm78DFfdIIXc05RCYuGjxJqrdyG4PIFzcJg==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.0.6", - "jest-get-type": "^27.0.6", - "pretty-format": "^27.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-docblock": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.6.tgz", - "integrity": "sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.1.0.tgz", - "integrity": "sha512-K/cNvQlmDqQMRHF8CaQ0XPzCfjP5HMJc2bIJglrIqI9fjwpNqITle63IWE+wq4p+3v+iBgh7Wq0IdGpLx5xjDg==", - "dev": true, - "dependencies": { - "@jest/types": "^27.1.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.0.6", - "jest-util": "^27.1.0", - "pretty-format": "^27.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-each/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.1.0.tgz", - "integrity": "sha512-JbwOcOxh/HOtsj56ljeXQCUJr3ivnaIlM45F5NBezFLVYdT91N5UofB1ux2B1CATsQiudcHdgTaeuqGXJqjJYQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.1.0", - "@jest/fake-timers": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "jest-mock": "^27.1.0", - "jest-util": "^27.1.0", - "jsdom": "^16.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.1.0.tgz", - "integrity": "sha512-JIyJ8H3wVyM4YCXp7njbjs0dIT87yhGlrXCXhDKNIg1OjurXr6X38yocnnbXvvNyqVTqSI4M9l+YfPKueqL1lw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.1.0", - "@jest/fake-timers": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "jest-mock": "^27.1.0", - "jest-util": "^27.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.6.tgz", - "integrity": "sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.1.0.tgz", - "integrity": "sha512-7mz6LopSe+eA6cTFMf10OfLLqRoIPvmMyz5/OnSXnHO7hB0aDP1iIeLWCXzAcYU5eIJVpHr12Bk9yyq2fTW9vg==", - "dev": true, - "dependencies": { - "@jest/types": "^27.1.0", - "@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": "^27.0.6", - "jest-serializer": "^27.0.6", - "jest-util": "^27.1.0", - "jest-worker": "^27.1.0", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-jasmine2": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.1.0.tgz", - "integrity": "sha512-Z/NIt0wBDg3przOW2FCWtYjMn3Ip68t0SL60agD/e67jlhTyV3PIF8IzT9ecwqFbeuUSO2OT8WeJgHcalDGFzQ==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^27.1.0", - "@jest/source-map": "^27.0.6", - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.1.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.1.0", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "pretty-format": "^27.1.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-jasmine2/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-leak-detector": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.1.0.tgz", - "integrity": "sha512-oHvSkz1E80VyeTKBvZNnw576qU+cVqRXUD3/wKXh1zpaki47Qty2xeHg2HKie9Hqcd2l4XwircgNOWb/NiGqdA==", - "dev": true, - "dependencies": { - "jest-get-type": "^27.0.6", - "pretty-format": "^27.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.1.0.tgz", - "integrity": "sha512-VmAudus2P6Yt/JVBRdTPFhUzlIN8DYJd+et5Rd9QDsO/Z82Z4iwGjo43U8Z+PTiz8CBvKvlb6Fh3oKy39hykkQ==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.1.0", - "jest-get-type": "^27.0.6", - "pretty-format": "^27.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.1.0.tgz", - "integrity": "sha512-Eck8NFnJ5Sg36R9XguD65cf2D5+McC+NF5GIdEninoabcuoOfWrID5qJhufq5FB0DRKoiyxB61hS7MKoMD0trQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.1.0", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "pretty-format": "^27.1.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-mock": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.1.0.tgz", - "integrity": "sha512-iT3/Yhu7DwAg/0HvvLCqLvrTKTRMyJlrrfJYWzuLSf9RCAxBoIXN3HoymZxMnYsC3eD8ewGbUa9jUknwBenx2w==", - "dev": true, - "dependencies": { - "@jest/types": "^27.1.0", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.6.tgz", - "integrity": "sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.1.0.tgz", - "integrity": "sha512-TXvzrLyPg0vLOwcWX38ZGYeEztSEmW+cQQKqc4HKDUwun31wsBXwotRlUz4/AYU/Fq4GhbMd/ileIWZEtcdmIA==", - "dev": true, - "dependencies": { - "@jest/types": "^27.1.0", - "chalk": "^4.0.0", - "escalade": "^3.1.1", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.1.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", - "resolve": "^1.20.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.1.0.tgz", - "integrity": "sha512-Kq5XuDAELuBnrERrjFYEzu/A+i2W7l9HnPWqZEeKGEQ7m1R+6ndMbdXCVCx29Se1qwLZLgvoXwinB3SPIaitMQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.1.0", - "jest-regex-util": "^27.0.6", - "jest-snapshot": "^27.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-resolve/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.1.0.tgz", - "integrity": "sha512-ZWPKr9M5w5gDplz1KsJ6iRmQaDT/yyAFLf18fKbb/+BLWsR1sCNC2wMT0H7pP3gDcBz0qZ6aJraSYUNAGSJGaw==", - "dev": true, - "dependencies": { - "@jest/console": "^27.1.0", - "@jest/environment": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-docblock": "^27.0.6", - "jest-environment-jsdom": "^27.1.0", - "jest-environment-node": "^27.1.0", - "jest-haste-map": "^27.1.0", - "jest-leak-detector": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-resolve": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-util": "^27.1.0", - "jest-worker": "^27.1.0", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-runner/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.1.0.tgz", - "integrity": "sha512-okiR2cpGjY0RkWmUGGado6ETpFOi9oG3yV0CioYdoktkVxy5Hv0WRLWnJFuArSYS8cHMCNcceUUMGiIfgxCO9A==", - "dev": true, - "dependencies": { - "@jest/console": "^27.1.0", - "@jest/environment": "^27.1.0", - "@jest/fake-timers": "^27.1.0", - "@jest/globals": "^27.1.0", - "@jest/source-map": "^27.0.6", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-mock": "^27.1.0", - "jest-regex-util": "^27.0.6", - "jest-resolve": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^16.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runtime/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-serializer": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.6.tgz", - "integrity": "sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==", - "dev": true, - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.1.0.tgz", - "integrity": "sha512-eaeUBoEjuuRwmiRI51oTldUsKOohB1F6fPqWKKILuDi/CStxzp2IWekVUXbuHHoz5ik33ioJhshiHpgPFbYgcA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/parser": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.1.0", - "graceful-fs": "^4.2.4", - "jest-diff": "^27.1.0", - "jest-get-type": "^27.0.6", - "jest-haste-map": "^27.1.0", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-resolve": "^27.1.0", - "jest-util": "^27.1.0", - "natural-compare": "^1.4.0", - "pretty-format": "^27.1.0", - "semver": "^7.3.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-snapshot/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-snapshot/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.1.0.tgz", - "integrity": "sha512-edSLD2OneYDKC6gZM1yc+wY/877s/fuJNoM1k3sOEpzFyeptSmke3SLnk1dDHk9CgTA+58mnfx3ew3J11Kes/w==", - "dev": true, - "dependencies": { - "@jest/types": "^27.1.0", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^3.0.0", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.1.0.tgz", - "integrity": "sha512-QiJ+4XuSuMsfPi9zvdO//IrSRSlG6ybJhOpuqYSsuuaABaNT84h0IoD6vvQhThBOKT+DIKvl5sTM0l6is9+SRA==", - "dev": true, - "dependencies": { - "@jest/types": "^27.1.0", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.0.6", - "leven": "^3.1.0", - "pretty-format": "^27.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.1.0.tgz", - "integrity": "sha512-ivaWTrA46aHWdgPDgPypSHiNQjyKnLBpUIHeBaGg11U+pDzZpkffGlcB1l1a014phmG0mHgkOHtOgiqJQM6yKQ==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.1.0", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watcher/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-watcher/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.1.0.tgz", - "integrity": "sha512-mO4PHb2QWLn9yRXGp7rkvXLAYuxwhq1ZYUo0LoDhg8wqvv4QizP1ZWEJOeolgbEgAWZLIEU0wsku8J+lGWfBhg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jimp": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.16.1.tgz", - "integrity": "sha512-+EKVxbR36Td7Hfd23wKGIeEyHbxShZDX6L8uJkgVW3ESA9GiTEPK08tG1XI2r/0w5Ch0HyJF5kPqF9K7EmGjaw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "@jimp/custom": "^0.16.1", - "@jimp/plugins": "^0.16.1", - "@jimp/types": "^0.16.1", - "regenerator-runtime": "^0.13.3" - } - }, - "node_modules/jpeg-js": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz", - "integrity": "sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw==", - "dev": true - }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/js-sha512": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha512/-/js-sha512-0.8.0.tgz", - "integrity": "sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dev": true, - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "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.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/acorn": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", - "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsontoxml": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/jsontoxml/-/jsontoxml-1.0.1.tgz", - "integrity": "sha512-dtKGq0K8EWQBRqcAaePSgKR4Hyjfsz/LkurHSV3Cxk4H+h2fWDeaN2jzABz+ZmOJylgXS7FGeWmbZ6jgYUMdJQ==", - "dev": true, - "engines": { - "node": ">=0.2.0" - } - }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "node_modules/jss": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss/-/jss-10.8.0.tgz", - "integrity": "sha512-6fAMLJrVQ8epM5ghghxWqCwRR0ZamP2cKbOAtzPudcCMSNdAqtvmzQvljUZYR8OXJIeb/IpZeOXA1sDXms4R1w==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "csstype": "^3.0.2", - "is-in-browser": "^1.1.3", - "tiny-warning": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/jss" - } - }, - "node_modules/jss-plugin-camel-case": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.8.0.tgz", - "integrity": "sha512-yxlXrXwcCdGw+H4BC187dEu/RFyW8joMcWfj8Rk9UPgWTKu2Xh7Sib4iW3xXjHe/t5phOHF1rBsHleHykWix7g==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "hyphenate-style-name": "^1.0.3", - "jss": "10.8.0" - } - }, - "node_modules/jss-plugin-default-unit": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.8.0.tgz", - "integrity": "sha512-9XJV546cY9zV9OvIE/v/dOaxSi4062VfYQQfwbplRExcsU2a79Yn+qDz/4ciw6P4LV1Naq90U+OffAGRHfNq/Q==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "10.8.0" - } - }, - "node_modules/jss-plugin-global": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.8.0.tgz", - "integrity": "sha512-H/8h/bHd4e7P0MpZ9zaUG8NQSB2ie9rWo/vcCP6bHVerbKLGzj+dsY22IY3+/FNRS8zDmUyqdZx3rD8k4nmH4w==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "10.8.0" - } - }, - "node_modules/jss-plugin-nested": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.8.0.tgz", - "integrity": "sha512-MhmINZkSxyFILcFBuDoZmP1+wj9fik/b9SsjoaggkGjdvMQCES21mj4K5ZnRGVm448gIXyi9j/eZjtDzhaHUYQ==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "10.8.0", - "tiny-warning": "^1.0.2" - } - }, - "node_modules/jss-plugin-props-sort": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.8.0.tgz", - "integrity": "sha512-VY+Wt5WX5GMsXDmd+Ts8+O16fpiCM81svbox++U3LDbJSM/g9FoMx3HPhwUiDfmgHL9jWdqEuvSl/JAk+mh6mQ==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "10.8.0" - } - }, - "node_modules/jss-plugin-rule-value-function": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.8.0.tgz", - "integrity": "sha512-R8N8Ma6Oye1F9HroiUuHhVjpPsVq97uAh+rMI6XwKLqirIu2KFb5x33hPj+vNBMxSHc9jakhf5wG0BbQ7fSDOg==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "jss": "10.8.0", - "tiny-warning": "^1.0.2" - } - }, - "node_modules/jss-plugin-vendor-prefixer": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.8.0.tgz", - "integrity": "sha512-G1zD0J8dFwKZQ+GaZaay7A/Tg7lhDw0iEkJ/iFFA5UPuvZFpMprCMQttXcTBhLlhhWnyZ8YPn4yqp+amrhQekw==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "css-vendor": "^2.0.8", - "jss": "10.8.0" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", - "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.2", - "object.assign": "^4.1.2" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", - "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", - "dev": true - }, - "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", - "dev": true, - "dependencies": { - "language-subtag-registry": "~0.3.2" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/libsodium": { - "version": "0.7.9", - "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.9.tgz", - "integrity": "sha512-gfeADtR4D/CM0oRUviKBViMGXZDgnFdMKMzHsvBdqLBHd9ySi6EtYnmuhHVDDYgYpAO8eU8hEY+F8vIUAPh08A==" - }, - "node_modules/libsodium-wrappers": { - "version": "0.7.9", - "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.9.tgz", - "integrity": "sha512-9HaAeBGk1nKTRFRHkt7nzxqCvnkWTjn1pdjKgcUnZxj0FyOP4CnhgFhMdrFfgNsukijBGyBLpP2m2uKT1vuWhQ==", - "dependencies": { - "libsodium": "^0.7.0" - } - }, - "node_modules/lilconfig": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", - "integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - }, - "node_modules/load-bmfont": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", - "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", - "dev": true, - "dependencies": { - "buffer-equal": "0.0.1", - "mime": "^1.3.4", - "parse-bmfont-ascii": "^1.0.3", - "parse-bmfont-binary": "^1.0.5", - "parse-bmfont-xml": "^1.1.4", - "phin": "^2.9.1", - "xhr": "^2.0.1", - "xtend": "^4.0.0" - } - }, - "node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/load-json-file/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/load-json-file/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "node_modules/lodash.defaultsdeep": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", - "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", - "dev": true - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/lz-string": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", - "dev": true, - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "dependencies": { - "tmpl": "1.0.x" - } - }, - "node_modules/map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "dependencies": { - "p-defer": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mem": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz", - "integrity": "sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==", - "dev": true, - "dependencies": { - "map-age-cleaner": "^0.1.3", - "mimic-fn": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/mem?sponsor=1" - } - }, - "node_modules/mem/node_modules/mimic-fn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", - "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/memfs": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.4.tgz", - "integrity": "sha512-2mDCPhuduRPOxlfgsXF9V+uqC6Jgz8zt/bNe4d4W7d5f6pCzHrWkxLNr17jKGXd4+j2kQNsAG2HARPnt74sqVQ==", - "dev": true, - "dependencies": { - "fs-monkey": "1.0.3" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", - "dev": true, - "dependencies": { - "mime-db": "1.49.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "dev": true, - "dependencies": { - "dom-walk": "^0.1.0" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/mini-create-react-context": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", - "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", - "dependencies": { - "@babel/runtime": "^7.12.1", - "tiny-warning": "^1.0.3" - }, - "peerDependencies": { - "prop-types": "^15.0.0", - "react": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.2.2.tgz", - "integrity": "sha512-eUjQ/q1rQIeHWgIx7ny/DNgXHcMXHdBwgrZQK7Ev8dbR+HxhroFM2Cb6kMiswOYaq05IRJhPuQqXWUABIjjA3g==", - "dev": true, - "dependencies": { - "schema-utils": "^3.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "dependencies": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.1.25", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", - "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", - "dev": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-abi": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", - "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", - "dev": true, - "dependencies": { - "semver": "^5.4.1" - } - }, - "node_modules/node-abi/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", - "dev": true - }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node_modules/node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-releases": { - "version": "1.1.75", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", - "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==" - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "node_modules/nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz", - "integrity": "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz", - "integrity": "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", - "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "node_modules/omggif": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz", - "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==", - "dev": true - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/open/-/open-8.2.1.tgz", - "integrity": "sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ==", - "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-event": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", - "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", - "dev": true, - "dependencies": { - "p-timeout": "^3.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-locate/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-retry": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", - "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", - "dev": true, - "dependencies": { - "@types/retry": "^0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dev": true, - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-bmfont-ascii": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", - "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=", - "dev": true - }, - "node_modules/parse-bmfont-binary": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", - "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=", - "dev": true - }, - "node_modules/parse-bmfont-xml": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz", - "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==", - "dev": true, - "dependencies": { - "xml-parse-from-string": "^1.0.0", - "xml2js": "^0.4.5" - } - }, - "node_modules/parse-headers": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz", - "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==", - "dev": true - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-png": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/parse-png/-/parse-png-1.1.2.tgz", - "integrity": "sha1-9cKtfHmTSQmGAgooTBmu5FlxH/I=", - "dev": true, - "dependencies": { - "pngjs": "^3.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "node_modules/phin": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", - "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "dependencies": { - "node-modules-regexp": "^1.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pixelmatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", - "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", - "dev": true, - "dependencies": { - "pngjs": "^3.0.0" - }, - "bin": { - "pixelmatch": "bin/pixelmatch" - } - }, - "node_modules/pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "dependencies": { - "find-up": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dev": true, - "dependencies": { - "find-up": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pngjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", - "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/postcss": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", - "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", - "dev": true, - "dependencies": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", - "source-map-js": "^0.6.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-calc": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", - "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-colormin": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz", - "integrity": "sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-convert-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz", - "integrity": "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-comments": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", - "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", - "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-empty": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", - "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", - "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz", - "integrity": "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==", - "dev": true, - "dependencies": { - "css-color-names": "^1.0.1", - "postcss-value-parser": "^4.1.0", - "stylehacks": "^5.0.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-rules": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz", - "integrity": "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^2.0.1", - "postcss-selector-parser": "^6.0.5", - "vendors": "^1.0.3" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", - "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz", - "integrity": "sha512-7Do9JP+wqSD6Prittitt2zDLrfzP9pqKs2EcLX7HJYxsxCOwrrcLt4x/ctQTsiOw+/8HYotAoqNkrzItL19SdQ==", - "dev": true, - "dependencies": { - "colord": "^2.6", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-params": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", - "integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", - "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.2", - "browserslist": "^4.16.0", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", - "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", - "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", - "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", - "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", - "dev": true, - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", - "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", - "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", - "dev": true, - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-string": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", - "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", - "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", - "dev": true, - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", - "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.0", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-url": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz", - "integrity": "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==", - "dev": true, - "dependencies": { - "is-absolute-url": "^3.0.3", - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", - "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-ordered-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", - "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", - "dev": true, - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", - "integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.0", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", - "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", - "dev": true, - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz", - "integrity": "sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0", - "svgo": "^2.3.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", - "integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", - "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5", - "uniqs": "^2.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "node_modules/prebuild-install": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz", - "integrity": "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==", - "dev": true, - "dependencies": { - "detect-libc": "^1.0.3", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^2.21.0", - "npmlog": "^4.0.1", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^3.0.3", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/pretty-error": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-3.0.4.tgz", - "integrity": "sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ==", - "dev": true, - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^2.0.6" - } - }, - "node_modules/pretty-format": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.1.0.tgz", - "integrity": "sha512-4aGaud3w3rxAO6OXmK3fwBFQ0bctIOG3/if+jYEFGNGIs0EvuidQm3bZ9mlP2/t9epLNC/12czabfy7TZNSwVA==", - "dev": true, - "dependencies": { - "@jest/types": "^27.1.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/prompts": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", - "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/protobufjs": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.2.tgz", - "integrity": "sha512-27yj+04uF6ya9l+qfpH187aqEzfCF4+Uit0I9ZBQVqK09hk/SQzKa2MUqUpXaVa7LOFRg1TSSr3lVxGOk6c0SQ==", - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": "^13.7.0", - "long": "^4.0.0" - }, - "bin": { - "pbjs": "bin/pbjs", - "pbts": "bin/pbts" - } - }, - "node_modules/protobufjs/node_modules/@types/node": { - "version": "13.13.52", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz", - "integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==" - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/queue": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.1.tgz", - "integrity": "sha512-AJBQabRCCNr9ANq8v77RJEv73DPbn55cdTb+Giq4X0AVnNVZvMHlYp7XlQiN+1npCZj1DuSmaA2hYVUUDgxFDg==", - "dev": true, - "dependencies": { - "inherits": "~2.0.3" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dev": true, - "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - }, - "peerDependencies": { - "react": "17.0.2" - } - }, - "node_modules/react-google-charts": { - "version": "3.0.15", - "resolved": "https://registry.npmjs.org/react-google-charts/-/react-google-charts-3.0.15.tgz", - "integrity": "sha512-78s5xOQOJvL+jIewrWQZEHtlVk+5Yh4zZy+ODA1on1o1FaRjKWXxoo4n4JQl1XuqkF/A9NWque3KqM6pMggjzQ==", - "dependencies": { - "react-load-script": "^0.0.6" - }, - "peerDependencies": { - "prop-types": ">=15", - "react": ">=16.3.0", - "react-dom": ">=16.3.0" - } - }, - "node_modules/react-identicons": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/react-identicons/-/react-identicons-1.2.5.tgz", - "integrity": "sha512-x7prkDoc2pD7wSl2C1pGxS+XAoSdq1ABWJWTBUimVTDVJArKOLd0B4wRUJpDm4r+9y7pgf8ylyPGsmlWSV5n2g==", - "peerDependencies": { - "react": "^17.0.1", - "react-dom": "^17.0.1" - } - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/react-load-script": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/react-load-script/-/react-load-script-0.0.6.tgz", - "integrity": "sha512-aRGxDGP9VoLxcsaYvKWIW+LRrMOzz2eEcubTS4NvQPPugjk2VvMhow0wWTkSl7RxookomD1MwcP4l5UStg5ShQ==", - "deprecated": "abandoned and unmaintained", - "peerDependencies": { - "prop-types": ">=15", - "react": ">=0.14.9" - } - }, - "node_modules/react-refresh": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.10.0.tgz", - "integrity": "sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-refresh-typescript": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/react-refresh-typescript/-/react-refresh-typescript-2.0.2.tgz", - "integrity": "sha512-Gevwf67IgOFZW2ub/tZ8gmcXawWnhMuoFjCW85v4LcOzMgD2PMrH2zkr3sie2Y2bvLp/7tpRdhbG0yshxlJYHw==", - "dev": true, - "peerDependencies": { - "react-refresh": "0.10.x", - "typescript": "^4" - } - }, - "node_modules/react-router": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.1.tgz", - "integrity": "sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==", - "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "mini-create-react-context": "^0.4.0", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router-dom": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz", - "integrity": "sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==", - "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.2.1", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/react-router/node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/react-router/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/react-simple-maps": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/react-simple-maps/-/react-simple-maps-2.3.0.tgz", - "integrity": "sha512-IZVeiPSRZKwD6I/2NvXpQ2uENYGDGZp8DvZjkapcxuJ/LQHTfl+Byb+KNgY7s+iatRA2ad8LnZ3AgqcjziCCsw==", - "dependencies": { - "d3-geo": "^2.0.1", - "d3-selection": "^2.0.0", - "d3-zoom": "^2.0.0", - "topojson-client": "^3.1.0" - }, - "peerDependencies": { - "prop-types": "^15.7.2", - "react": "^16.8.0 || 17.x", - "react-dom": "^16.8.0 || 17.x" - } - }, - "node_modules/react-simple-maps/node_modules/d3-array": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", - "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", - "dependencies": { - "internmap": "^1.0.0" - } - }, - "node_modules/react-simple-maps/node_modules/d3-geo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-2.0.2.tgz", - "integrity": "sha512-8pM1WGMLGFuhq9S+FpPURxic+gKzjluCD/CHTuUF3mXMeiCo0i6R0tO1s4+GArRFde96SLcW/kOFRjoAosPsFA==", - "dependencies": { - "d3-array": "^2.5.0" - } - }, - "node_modules/react-simple-maps/node_modules/internmap": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", - "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" - }, - "node_modules/react-tooltip": { - "version": "4.2.21", - "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-4.2.21.tgz", - "integrity": "sha512-zSLprMymBDowknr0KVDiJ05IjZn9mQhhg4PRsqln0OZtURAJ1snt1xi5daZfagsh6vfsziZrc9pErPTDY1ACig==", - "dependencies": { - "prop-types": "^15.7.2", - "uuid": "^7.0.3" - }, - "engines": { - "npm": ">=6.13" - }, - "peerDependencies": { - "react": ">=16.0.0", - "react-dom": ">=16.0.0" - } - }, - "node_modules/react-tooltip/node_modules/uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/react-transition-group": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", - "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/read-chunk": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-1.0.1.tgz", - "integrity": "sha1-X2jKswfmY/GZk1J9m1icrORmEZQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/readonly-date": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/readonly-date/-/readonly-date-1.0.0.tgz", - "integrity": "sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ==" - }, - "node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "node_modules/renderkid": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", - "dev": true, - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" - } - }, - "node_modules/renderkid/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/renderkid/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/replace-ext": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", - "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/request/node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/request/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "node_modules/reselect": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.2.tgz", - "integrity": "sha512-wg60ebcPOtxcptIUfrr7Jt3h4BR86cCW3R7y4qt65lnNb4yz4QgrXcbSioVsIOYguyz42+XTHIyJ5TEruzkFgQ==" - }, - "node_modules/resize-img": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/resize-img/-/resize-img-1.1.2.tgz", - "integrity": "sha1-+tZQ+vPvLFPqYxErwnLZXp2SVQ4=", - "dev": true, - "dependencies": { - "bmp-js": "0.0.1", - "file-type": "^3.8.0", - "get-stream": "^2.0.0", - "jimp": "^0.2.21", - "jpeg-js": "^0.1.1", - "parse-png": "^1.1.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resize-img/node_modules/bmp-js": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.0.1.tgz", - "integrity": "sha1-WtAUcJnROp84qnuZrx1ueGZu038=", - "dev": true - }, - "node_modules/resize-img/node_modules/file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resize-img/node_modules/get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "dev": true, - "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resize-img/node_modules/jimp": { - "version": "0.2.28", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.2.28.tgz", - "integrity": "sha1-3VKak3GQ9ClXp5N9Gsw6d2KZbqI=", - "dev": true, - "dependencies": { - "bignumber.js": "^2.1.0", - "bmp-js": "0.0.3", - "es6-promise": "^3.0.2", - "exif-parser": "^0.1.9", - "file-type": "^3.1.0", - "jpeg-js": "^0.2.0", - "load-bmfont": "^1.2.3", - "mime": "^1.3.4", - "mkdirp": "0.5.1", - "pixelmatch": "^4.0.0", - "pngjs": "^3.0.0", - "read-chunk": "^1.0.1", - "request": "^2.65.0", - "stream-to-buffer": "^0.1.0", - "tinycolor2": "^1.1.2", - "url-regex": "^3.0.0" - } - }, - "node_modules/resize-img/node_modules/jimp/node_modules/bmp-js": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.0.3.tgz", - "integrity": "sha1-ZBE+nHzxICs3btYHvzBibr5XsYo=", - "dev": true - }, - "node_modules/resize-img/node_modules/jimp/node_modules/jpeg-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.2.0.tgz", - "integrity": "sha1-U+RI7J0mPmgyZkZ+lELSxaLvVII=", - "dev": true - }, - "node_modules/resize-img/node_modules/jpeg-js": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.1.2.tgz", - "integrity": "sha1-E1uZLAV1yYXPoPSUoyJ+0jhYPs4=", - "dev": true - }, - "node_modules/resize-img/node_modules/minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "node_modules/resize-img/node_modules/mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", - "dev": true, - "dependencies": { - "minimist": "0.0.8" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "node_modules/selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", - "dev": true, - "dependencies": { - "node-forge": "^0.10.0" - } - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sharp": { - "version": "0.28.3", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.28.3.tgz", - "integrity": "sha512-21GEP45Rmr7q2qcmdnjDkNP04Ooh5v0laGS5FDpojOO84D1DJwUijLiSq8XNNM6e8aGXYtoYRh3sVNdm8NodMA==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "color": "^3.1.3", - "detect-libc": "^1.0.3", - "node-addon-api": "^3.2.0", - "prebuild-install": "^6.1.2", - "semver": "^7.3.5", - "simple-get": "^3.1.0", - "tar-fs": "^2.1.1", - "tunnel-agent": "^0.6.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/sharp/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/simple-get": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", - "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", - "dev": true, - "dependencies": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", - "dev": true, - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz", - "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==", - "dev": true - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "node_modules/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", - "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", - "dev": true - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/stream-to": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stream-to/-/stream-to-0.2.2.tgz", - "integrity": "sha1-hDBgmNhf25kLn6MAsbPM9V6O8B0=", - "dev": true, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/stream-to-buffer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz", - "integrity": "sha1-JnmdkDqyAlyb1VCsRxcbAPjdgKk=", - "dev": true, - "dependencies": { - "stream-to": "~0.2.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz", - "integrity": "sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.2", - "get-intrinsic": "^1.1.1", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.3.1", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-loader": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.2.1.tgz", - "integrity": "sha512-1k9ZosJCRFaRbY6hH49JFlRB0fVSbmnyq1iTPjNxUmGVjBNEmwrrHPenhlp+Lgo51BojHSf6pl2FcqYaN3PfVg==", - "dev": true, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/stylehacks": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", - "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.0", - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/stylis": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.10.tgz", - "integrity": "sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg==" - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/svgo": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.5.0.tgz", - "integrity": "sha512-FSdBOOo271VyF/qZnOn1PgwCdt1v4Dx0Sey+U1jgqm1vqRYjPGdip0RGrFW6ItwtkBB8rHgHk26dlVr0uCs82Q==", - "dev": true, - "dependencies": { - "@trysound/sax": "0.1.1", - "colorette": "^1.3.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/symbol-observable": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-2.0.3.tgz", - "integrity": "sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "node_modules/table": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", - "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.3.tgz", - "integrity": "sha512-eDbuaDlXhVaaoKuLD3DTNTozKqln6xOG6Us0SzlKG5tNlazG+/cdl8pm9qiF1Di89iWScTI0HcO+CDcf2dkXiw==", - "dev": true, - "dependencies": { - "jest-worker": "^27.0.6", - "p-limit": "^3.1.0", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/terser": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz", - "integrity": "sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin/node_modules/terser/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "node_modules/timm": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", - "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==", - "dev": true - }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "node_modules/tiny-invariant": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", - "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "node_modules/tinycolor2": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", - "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-ico": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/to-ico/-/to-ico-1.1.5.tgz", - "integrity": "sha512-5kIh7m7bkIlqIESEZkL8gAMMzucXKfPe3hX2FoDY5HEAfD9OJU+Qh9b6Enp74w0qRcxVT5ejss66PHKqc3AVkg==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "buffer-alloc": "^1.1.0", - "image-size": "^0.5.0", - "parse-png": "^1.0.0", - "resize-img": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-ico/node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", - "dev": true, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/topojson-client": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", - "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", - "dependencies": { - "commander": "2" - }, - "bin": { - "topo2geo": "bin/topo2geo", - "topomerge": "bin/topomerge", - "topoquantize": "bin/topoquantize" - } - }, - "node_modules/topojson-client/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ts-jest": { - "version": "27.0.5", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.0.5.tgz", - "integrity": "sha512-lIJApzfTaSSbtlksfFNHkWOzLJuuSm4faFAfo5kvzOiRAuoN4/eKxVJ2zEAho8aecE04qX6K1pAzfH5QHL1/8w==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^27.0.0", - "json5": "2.x", - "lodash": "4.x", - "make-error": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@types/jest": "^27.0.0", - "babel-jest": ">=27.0.0 <28", - "jest": "^27.0.0", - "typescript": ">=3.8 <5.0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@types/jest": { - "optional": true - }, - "babel-jest": { - "optional": true - } - } - }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-loader": { - "version": "9.2.5", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.5.tgz", - "integrity": "sha512-al/ATFEffybdRMUIr5zMEWQdVnCGMUA9d3fXJ8dBVvBlzytPvIszoG9kZoR+94k6/i293RnVOXwMaWbXhNy9pQ==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-loader/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ts-loader/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ts-loader/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/ts-loader/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/ts-loader/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ts-loader/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-loader/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz", - "integrity": "sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths-webpack-plugin": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.5.1.tgz", - "integrity": "sha512-n5CMlUUj+N5pjBhBACLq4jdr9cPTitySCjIosoQm0zwK99gmrcTGAfY9CwxRFT9+9OleNWXPRUcxsKP4AYExxQ==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.7.0", - "tsconfig-paths": "^3.9.0" - } - }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz", - "integrity": "sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-regex": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", - "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=", - "dev": true, - "dependencies": { - "ip-regex": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/url-regex/node_modules/ip-regex": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", - "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, - "node_modules/utif": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz", - "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", - "dev": true, - "dependencies": { - "pako": "^1.0.5" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "node_modules/v8-to-istanbul": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz", - "integrity": "sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/v8-to-istanbul/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "node_modules/vinyl": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", - "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", - "dev": true, - "dependencies": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "dependencies": { - "makeerror": "1.0.x" - } - }, - "node_modules/watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, - "engines": { - "node": ">=10.4" - } - }, - "node_modules/webpack": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.52.0.tgz", - "integrity": "sha512-yRZOat8jWGwBwHpco3uKQhVU7HYaNunZiJ4AkAVQkPCUGoZk/tiIXiwG+8HIy/F+qsiZvSOa+GLQOj3q5RKRYg==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.7.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.2.0", - "webpack-sources": "^3.2.0" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.8.0.tgz", - "integrity": "sha512-+iBSWsX16uVna5aAYN6/wjhJy1q/GKk4KjKvfg90/6hykCTSgozbfz5iRgDTSJt/LgSbYxdBX3KBHeobIs+ZEw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.0.4", - "@webpack-cli/info": "^1.3.0", - "@webpack-cli/serve": "^1.5.2", - "colorette": "^1.2.1", - "commander": "^7.0.0", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "v8-compile-cache": "^2.2.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "@webpack-cli/migrate": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.0.0.tgz", - "integrity": "sha512-9zng2Z60pm6A98YoRcA0wSxw1EYn7B7y5owX/Tckyt9KGyULTkLtiavjaXlWqOMkM0YtqGgL3PvMOFgyFLq8vw==", - "dev": true, - "dependencies": { - "colorette": "^1.2.2", - "mem": "^8.1.1", - "memfs": "^3.2.2", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.1.1.tgz", - "integrity": "sha512-Kl1mnCEw8Cy1Kw173gCxLIB242LfPKEOj9WoKhKz/MbryZTNrILzOJTk8kiczw/YUEPzn3gcltCQv6hDsLudRg==", - "dev": true, - "dependencies": { - "ansi-html-community": "^0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^3.5.1", - "colorette": "^1.2.2", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "del": "^6.0.0", - "express": "^4.17.1", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.0", - "internal-ip": "^6.2.0", - "ipaddr.js": "^2.0.1", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "portfinder": "^1.0.28", - "schema-utils": "^3.1.0", - "selfsigned": "^1.10.11", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "spdy": "^4.0.2", - "strip-ansi": "^7.0.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^5.0.0", - "ws": "^8.1.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ansi-regex": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.0.tgz", - "integrity": "sha512-tAaOSrWCHF+1Ear1Z4wnJCXA9GGox4K6Ic85a5qalES2aeEwQGr7UC93mwef49536PkCYjzkp0zIxfFvexJ6zQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/webpack-dev-server/node_modules/del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "dev": true, - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webpack-dev-server/node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-dev-server/node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webpack-dev-server/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/webpack-dev-server/node_modules/strip-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.0.tgz", - "integrity": "sha512-UhDTSnGF1dc0DRbUqr1aXwNoY3RgVkSWG8BrpnuFIxhP57IqbS7IRta2Gfiavds4yCxc5+fEAVVOgBZWnYkvzg==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.1.tgz", - "integrity": "sha512-XkgWpJU3sHU7gX8f13NqTn6KQ85bd1WU7noBHTT8fSohx7OS1TPY8k+cyRPCzFkia7C4mM229yeHr1qK9sM4JQ==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/webpack-favicons": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/webpack-favicons/-/webpack-favicons-1.0.7.tgz", - "integrity": "sha512-tOV4fp9MTLQbSuBDYvMpGzueHQRu0/nyr+jUUMTPstZVkV5QfW8pkN1fW7cnKfD2cZ06foTlnilheTw0Vu8zBg==", - "dev": true, - "dependencies": { - "favicons": "^6.2.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/acorn": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", - "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack/node_modules/acorn-import-assertions": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz", - "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/webpack/node_modules/tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, - "node_modules/wide-align/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz", - "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xhr": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", - "dev": true, - "dependencies": { - "global": "~4.4.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "node_modules/xml-parse-from-string": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", - "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=", - "dev": true - }, - "node_modules/xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "dev": true, - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "node_modules/xstream": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/xstream/-/xstream-11.14.0.tgz", - "integrity": "sha512-1bLb+kKKtKPbgTK6i/BaoAn03g47PpFstlbe1BA+y3pNS/LfvcaghS5BFf9+EE1J+KwSQsEpfJvFN5GqFtiNmw==", - "dependencies": { - "globalthis": "^1.0.1", - "symbol-observable": "^2.0.3" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yaml-loader": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.6.0.tgz", - "integrity": "sha512-1bNiLelumURyj+zvVHOv8Y3dpCri0F2S+DCcmps0pA1zWRLjS+FhZQg4o3aUUDYESh73+pKZNI18bj7stpReow==", - "dev": true, - "dependencies": { - "loader-utils": "^1.4.0", - "yaml": "^1.8.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yaml-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/yaml-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==" - }, - "@babel/core": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", - "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.5", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", - "requires": { - "@babel/types": "^7.15.4", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz", - "integrity": "sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw==", - "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==" - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==" - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==" - }, - "@babel/helpers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", - "requires": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.5.tgz", - "integrity": "sha512-2hQstc6I7T6tQsWzlboMh3SgMRPaS4H6H7cPQsJkdzTzEGqQrpLDsE2BGASU5sBPoEQyHzeqU6C8uKbFeEk6sg==" - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", - "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz", - "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/runtime": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz", - "integrity": "sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/runtime-corejs3": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.4.tgz", - "integrity": "sha512-lWcAqKeB624/twtTc3w6w/2o9RqJPaNBhPGK6DKLSiwuVWC7WFkypWyNg+CpZoyJH0jVzv1uMtXZ/5/lQOLtCg==", - "dev": true, - "requires": { - "core-js-pure": "^3.16.0", - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz", - "integrity": "sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==", - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@confio/ics23": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@confio/ics23/-/ics23-0.6.5.tgz", - "integrity": "sha512-1GdPMsaP/l8JSF4P4HWFLBhdcxHcJT8lS0nknBYNSZ1XrJOsJKUy6EkOwd9Pa1qJkXzY2gyNv7MdHR+AIwSTAg==", - "requires": { - "js-sha512": "^0.8.0", - "protobufjs": "^6.8.8", - "ripemd160": "^2.0.2", - "sha.js": "^2.4.11" - } - }, - "@cosmjs/amino": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.25.6.tgz", - "integrity": "sha512-9dXN2W7LHjDtJUGNsQ9ok0DfxeN3ca/TXnxCR3Ikh/5YqBqxI8Gel1J9PQO9L6EheYyh045Wff4bsMaLjyEeqQ==", - "requires": { - "@cosmjs/crypto": "^0.25.6", - "@cosmjs/encoding": "^0.25.6", - "@cosmjs/math": "^0.25.6", - "@cosmjs/utils": "^0.25.6" - }, - "dependencies": { - "@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "requires": { - "bn.js": "^4.11.8" - } - } - } - }, - "@cosmjs/cosmwasm-launchpad": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/cosmwasm-launchpad/-/cosmwasm-launchpad-0.25.6.tgz", - "integrity": "sha512-rzpYg/A8tvXbY6p89LabPB1mqCtTUv+33nN+s+VWMH0oOl0LSIgLE0yIT61kwTaf2dWQvRVeFaiRLFC72/w/zw==", - "requires": { - "@cosmjs/crypto": "^0.25.6", - "@cosmjs/encoding": "^0.25.6", - "@cosmjs/launchpad": "^0.25.6", - "@cosmjs/math": "^0.25.6", - "@cosmjs/utils": "^0.25.6", - "pako": "^2.0.2" - }, - "dependencies": { - "@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "requires": { - "bn.js": "^4.11.8" - } - }, - "pako": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz", - "integrity": "sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==" - } - } - }, - "@cosmjs/cosmwasm-stargate": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.25.6.tgz", - "integrity": "sha512-STaxur5Xk5hqndLEztpa1TqvpdQyg2xD//2ZNFw2fgxf1JQtP0RfFbA3bnBkYwbGARx5cnng8QeZmSUcXnTVxA==", - "requires": { - "@cosmjs/amino": "^0.25.6", - "@cosmjs/cosmwasm-launchpad": "^0.25.6", - "@cosmjs/crypto": "^0.25.6", - "@cosmjs/encoding": "^0.25.6", - "@cosmjs/math": "^0.25.6", - "@cosmjs/proto-signing": "^0.25.6", - "@cosmjs/stargate": "^0.25.6", - "@cosmjs/tendermint-rpc": "^0.25.6", - "@cosmjs/utils": "^0.25.6", - "long": "^4.0.0", - "pako": "^2.0.2", - "protobufjs": "~6.10.2" - }, - "dependencies": { - "@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "requires": { - "bn.js": "^4.11.8" - } - }, - "pako": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz", - "integrity": "sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==" - } - } - }, - "@cosmjs/crypto": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.25.6.tgz", - "integrity": "sha512-ec+YcQLrg2ibcxtNrh4FqQnG9kG9IE/Aik2NH6+OXQdFU/qFuBTxSFcKDgzzBOChwlkXwydllM9Jjbp+dgIzRw==", - "requires": { - "@cosmjs/encoding": "^0.25.6", - "@cosmjs/math": "^0.25.6", - "@cosmjs/utils": "^0.25.6", - "bip39": "^3.0.2", - "bn.js": "^4.11.8", - "elliptic": "^6.5.3", - "js-sha3": "^0.8.0", - "libsodium-wrappers": "^0.7.6", - "ripemd160": "^2.0.2", - "sha.js": "^2.4.11" - }, - "dependencies": { - "@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "requires": { - "bn.js": "^4.11.8" - } - } - } - }, - "@cosmjs/encoding": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.25.6.tgz", - "integrity": "sha512-0imUOB8XkUstI216uznPaX1hqgvLQ2Xso3zJj5IV5oJuNlsfDj9nt/iQxXWbJuettc6gvrFfpf+Vw2vBZSZ75g==", - "requires": { - "base64-js": "^1.3.0", - "bech32": "^1.1.4", - "readonly-date": "^1.0.0" - } - }, - "@cosmjs/json-rpc": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.25.6.tgz", - "integrity": "sha512-Mn9og3/IEzC6jWoYXs0ONqFJc8HxVjXzrZPLgaRRdMZEUBvctxdhynau1wbE4LdkYQHbu4aiRu1q1jMYGFAj4A==", - "requires": { - "@cosmjs/stream": "^0.25.6", - "xstream": "^11.14.0" - } - }, - "@cosmjs/launchpad": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/launchpad/-/launchpad-0.25.6.tgz", - "integrity": "sha512-4Yhn4cX50UE6jZz/hWqKeeCmvrlrz0BBwOdYX/29k25FqP+oLAow1xKm6UxgYuuAq8Pg/bUvswxSqwegZJTb6g==", - "requires": { - "@cosmjs/amino": "^0.25.6", - "@cosmjs/crypto": "^0.25.6", - "@cosmjs/encoding": "^0.25.6", - "@cosmjs/math": "^0.25.6", - "@cosmjs/utils": "^0.25.6", - "axios": "^0.21.1", - "fast-deep-equal": "^3.1.3" - }, - "dependencies": { - "@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "requires": { - "bn.js": "^4.11.8" - } - } - } - }, - "@cosmjs/math": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.26.2.tgz", - "integrity": "sha512-yvY9yk3DbFGnr2BbLQjps7oBaFFUIXBYMnEJ3j8o7BxkXDoQPkYgghvdACEP96Xtft3CoOZFsQYFCkNFcigyyA==", - "requires": { - "bn.js": "^4.11.8" - } - }, - "@cosmjs/proto-signing": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.25.6.tgz", - "integrity": "sha512-JpQ+Vnv9s6i3x8f3Jo0lJZ3VMnj3R5sMgX+8ti1LtB7qEYRR85qbDrEG9hDGIKqJJabvrAuCHnO6hYi0vJEJHA==", - "requires": { - "@cosmjs/amino": "^0.25.6", - "long": "^4.0.0", - "protobufjs": "~6.10.2" - } - }, - "@cosmjs/socket": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/socket/-/socket-0.25.6.tgz", - "integrity": "sha512-hu+pW3Fy0IuhstXgxnZ2Iq0RUnGYoTWfqrxbTsgXBJge4MpEQs2YwGXgJZPMJXedBQivG0tU3r/Wvam0EWuRkQ==", - "requires": { - "@cosmjs/stream": "^0.25.6", - "isomorphic-ws": "^4.0.1", - "ws": "^7", - "xstream": "^11.14.0" - } - }, - "@cosmjs/stargate": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/stargate/-/stargate-0.25.6.tgz", - "integrity": "sha512-+LM1sK6vGuotJF9fBCBlaDL/yJhfzCV6KbsaWt3teHAKZhKYOd/9mKGiB4H9bfg4h3r+e+FZGiNkH/mdXkcgEw==", - "requires": { - "@confio/ics23": "^0.6.3", - "@cosmjs/amino": "^0.25.6", - "@cosmjs/encoding": "^0.25.6", - "@cosmjs/math": "^0.25.6", - "@cosmjs/proto-signing": "^0.25.6", - "@cosmjs/stream": "^0.25.6", - "@cosmjs/tendermint-rpc": "^0.25.6", - "@cosmjs/utils": "^0.25.6", - "long": "^4.0.0", - "protobufjs": "~6.10.2" - }, - "dependencies": { - "@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "requires": { - "bn.js": "^4.11.8" - } - } - } - }, - "@cosmjs/stream": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/stream/-/stream-0.25.6.tgz", - "integrity": "sha512-2mXIzf+WaFd+GSrRaJJETVXeZoC5sosuKChFERxSY8zXQ/f3OaG9J6m+quHpPbU3nAIEtnF1jgBVqJiD+NKwGQ==", - "requires": { - "xstream": "^11.14.0" - } - }, - "@cosmjs/tendermint-rpc": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.25.6.tgz", - "integrity": "sha512-wsvxTI7DReWJu+SVlXLblzh5NJppnh1mljuaTHodMf7HBxrXdbcCcBAO8oMbMgEqOASEY5G+z51wktxhrn9RtA==", - "requires": { - "@cosmjs/crypto": "^0.25.6", - "@cosmjs/encoding": "^0.25.6", - "@cosmjs/json-rpc": "^0.25.6", - "@cosmjs/math": "^0.25.6", - "@cosmjs/socket": "^0.25.6", - "@cosmjs/stream": "^0.25.6", - "axios": "^0.21.1", - "readonly-date": "^1.0.0", - "xstream": "^11.14.0" - }, - "dependencies": { - "@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "requires": { - "bn.js": "^4.11.8" - } - } - } - }, - "@cosmjs/utils": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.25.6.tgz", - "integrity": "sha512-ofOYiuxVKNo238vCPPlaDzqPXy2AQ/5/nashBo5rvPZJkxt9LciGfUEQWPCOb1BIJDNx2Dzu0z4XCf/dwzl0Dg==" - }, - "@discoveryjs/json-ext": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz", - "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==", - "dev": true - }, - "@emotion/babel-plugin": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.3.0.tgz", - "integrity": "sha512-UZKwBV2rADuhRp+ZOGgNWg2eYgbzKzQXfQPtJbu/PLy8onurxlNCLvxMQEvlr1/GudguPI5IU9qIY1+2z1M5bA==", - "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/plugin-syntax-jsx": "^7.12.13", - "@babel/runtime": "^7.13.10", - "@emotion/hash": "^0.8.0", - "@emotion/memoize": "^0.7.5", - "@emotion/serialize": "^1.0.2", - "babel-plugin-macros": "^2.6.1", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "^4.0.3" - } - }, - "@emotion/cache": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.5.0.tgz", - "integrity": "sha512-mAZ5QRpLriBtaj/k2qyrXwck6yeoz1V5lMt/jfj6igWU35yYlNKs2LziXVgvH81gnJZ+9QQNGelSsnuoAy6uIw==", - "requires": { - "@emotion/memoize": "^0.7.4", - "@emotion/sheet": "^1.0.3", - "@emotion/utils": "^1.0.0", - "@emotion/weak-memoize": "^0.2.5", - "stylis": "^4.0.10" - } - }, - "@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" - }, - "@emotion/is-prop-valid": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.0.tgz", - "integrity": "sha512-9RkilvXAufQHsSsjQ3PIzSns+pxuX4EW8EbGeSPjZMHuMx6z/MOzb9LpqNieQX4F3mre3NWS2+X3JNRHTQztUQ==", - "requires": { - "@emotion/memoize": "^0.7.4" - } - }, - "@emotion/memoize": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz", - "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==" - }, - "@emotion/react": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.5.0.tgz", - "integrity": "sha512-MYq/bzp3rYbee4EMBORCn4duPQfgpiEB5XzrZEBnUZAL80Qdfr7CEv/T80jwaTl/dnZmt9SnTa8NkTrwFNpLlw==", - "requires": { - "@babel/runtime": "^7.13.10", - "@emotion/cache": "^11.5.0", - "@emotion/serialize": "^1.0.2", - "@emotion/sheet": "^1.0.3", - "@emotion/utils": "^1.0.0", - "@emotion/weak-memoize": "^0.2.5", - "hoist-non-react-statics": "^3.3.1" - } - }, - "@emotion/serialize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.0.2.tgz", - "integrity": "sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A==", - "requires": { - "@emotion/hash": "^0.8.0", - "@emotion/memoize": "^0.7.4", - "@emotion/unitless": "^0.7.5", - "@emotion/utils": "^1.0.0", - "csstype": "^3.0.2" - } - }, - "@emotion/sheet": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.0.3.tgz", - "integrity": "sha512-YoX5GyQ4db7LpbmXHMuc8kebtBGP6nZfRC5Z13OKJMixBEwdZrJ914D6yJv/P+ZH/YY3F5s89NYX2hlZAf3SRQ==" - }, - "@emotion/styled": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.3.0.tgz", - "integrity": "sha512-fUoLcN3BfMiLlRhJ8CuPUMEyKkLEoM+n+UyAbnqGEsCd5IzKQ7VQFLtzpJOaCD2/VR2+1hXQTnSZXVJeiTNltA==", - "requires": { - "@babel/runtime": "^7.13.10", - "@emotion/babel-plugin": "^11.3.0", - "@emotion/is-prop-valid": "^1.1.0", - "@emotion/serialize": "^1.0.2", - "@emotion/utils": "^1.0.0" - } - }, - "@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" - }, - "@emotion/utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.0.0.tgz", - "integrity": "sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA==" - }, - "@emotion/weak-memoize": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", - "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" - }, - "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - } - }, - "@humanwhocodes/object-schema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jest/console": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.1.0.tgz", - "integrity": "sha512-+Vl+xmLwAXLNlqT61gmHEixeRbS4L8MUzAjtpBCOPWH+izNI/dR16IeXjkXJdRtIVWVSf9DO1gdp67B1XorZhQ==", - "dev": true, - "requires": { - "@jest/types": "^27.1.0", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.1.0", - "jest-util": "^27.1.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/core": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.1.0.tgz", - "integrity": "sha512-3l9qmoknrlCFKfGdrmiQiPne+pUR4ALhKwFTYyOeKw6egfDwJkO21RJ1xf41rN8ZNFLg5W+w6+P4fUqq4EMRWA==", - "dev": true, - "requires": { - "@jest/console": "^27.1.0", - "@jest/reporters": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^27.1.0", - "jest-config": "^27.1.0", - "jest-haste-map": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-regex-util": "^27.0.6", - "jest-resolve": "^27.1.0", - "jest-resolve-dependencies": "^27.1.0", - "jest-runner": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", - "jest-watcher": "^27.1.0", - "micromatch": "^4.0.4", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/environment": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.1.0.tgz", - "integrity": "sha512-wRp50aAMY2w1U2jP1G32d6FUVBNYqmk8WaGkiIEisU48qyDV0WPtw3IBLnl7orBeggveommAkuijY+RzVnNDOQ==", - "dev": true, - "requires": { - "@jest/fake-timers": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "jest-mock": "^27.1.0" - } - }, - "@jest/fake-timers": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.1.0.tgz", - "integrity": "sha512-22Zyn8il8DzpS+30jJNVbTlm7vAtnfy1aYvNeOEHloMlGy1PCYLHa4PWlSws0hvNsMM5bON6GISjkLoQUV3oMA==", - "dev": true, - "requires": { - "@jest/types": "^27.1.0", - "@sinonjs/fake-timers": "^7.0.2", - "@types/node": "*", - "jest-message-util": "^27.1.0", - "jest-mock": "^27.1.0", - "jest-util": "^27.1.0" - } - }, - "@jest/globals": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.1.0.tgz", - "integrity": "sha512-73vLV4aNHAlAgjk0/QcSIzzCZSqVIPbmFROJJv9D3QUR7BI4f517gVdJpSrCHxuRH3VZFhe0yGG/tmttlMll9g==", - "dev": true, - "requires": { - "@jest/environment": "^27.1.0", - "@jest/types": "^27.1.0", - "expect": "^27.1.0" - } - }, - "@jest/reporters": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.1.0.tgz", - "integrity": "sha512-5T/zlPkN2HnK3Sboeg64L5eC8iiaZueLpttdktWTJsvALEtP2YMkC5BQxwjRWQACG9SwDmz+XjjkoxXUDMDgdw==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", - "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": "^27.1.0", - "jest-resolve": "^27.1.0", - "jest-util": "^27.1.0", - "jest-worker": "^27.1.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/source-map": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.6.tgz", - "integrity": "sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@jest/test-result": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.1.0.tgz", - "integrity": "sha512-Aoz00gpDL528ODLghat3QSy6UBTD5EmmpjrhZZMK/v1Q2/rRRqTGnFxHuEkrD4z/Py96ZdOHxIWkkCKRpmnE1A==", - "dev": true, - "requires": { - "@jest/console": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.1.0.tgz", - "integrity": "sha512-lnCWawDr6Z1DAAK9l25o3AjmKGgcutq1iIbp+hC10s/HxnB8ZkUsYq1FzjOoxxZ5hW+1+AthBtvS4x9yno3V1A==", - "dev": true, - "requires": { - "@jest/test-result": "^27.1.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.1.0", - "jest-runtime": "^27.1.0" - } - }, - "@jest/transform": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.1.0.tgz", - "integrity": "sha512-ZRGCA2ZEVJ00ubrhkTG87kyLbN6n55g1Ilq0X9nJb5bX3MhMp3O6M7KG+LvYu+nZRqG5cXsQnJEdZbdpTAV8pQ==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.1.0", - "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": "^27.1.0", - "jest-regex-util": "^27.0.6", - "jest-util": "^27.1.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/types": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.1.0.tgz", - "integrity": "sha512-pRP5cLIzN7I7Vp6mHKRSaZD7YpBTK7hawx5si8trMKqk4+WOdK8NEKOTO2G8PKWD1HbKMVckVB6/XHh/olhf2g==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jimp/bmp": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.16.1.tgz", - "integrity": "sha512-iwyNYQeBawrdg/f24x3pQ5rEx+/GwjZcCXd3Kgc+ZUd+Ivia7sIqBsOnDaMZdKCBPlfW364ekexnlOqyVa0NWg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "bmp-js": "^0.1.0" - } - }, - "@jimp/core": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.16.1.tgz", - "integrity": "sha512-la7kQia31V6kQ4q1kI/uLimu8FXx7imWVajDGtwUG8fzePLWDFJyZl0fdIXVCL1JW2nBcRHidUot6jvlRDi2+g==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "any-base": "^1.1.0", - "buffer": "^5.2.0", - "exif-parser": "^0.1.12", - "file-type": "^9.0.0", - "load-bmfont": "^1.3.1", - "mkdirp": "^0.5.1", - "phin": "^2.9.1", - "pixelmatch": "^4.0.2", - "tinycolor2": "^1.4.1" - } - }, - "@jimp/custom": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.16.1.tgz", - "integrity": "sha512-DNUAHNSiUI/j9hmbatD6WN/EBIyeq4AO0frl5ETtt51VN1SvE4t4v83ZA/V6ikxEf3hxLju4tQ5Pc3zmZkN/3A==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/core": "^0.16.1" - } - }, - "@jimp/gif": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.16.1.tgz", - "integrity": "sha512-r/1+GzIW1D5zrP4tNrfW+3y4vqD935WBXSc8X/wm23QTY9aJO9Lw6PEdzpYCEY+SOklIFKaJYUAq/Nvgm/9ryw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "gifwrap": "^0.9.2", - "omggif": "^1.0.9" - } - }, - "@jimp/jpeg": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.16.1.tgz", - "integrity": "sha512-8352zrdlCCLFdZ/J+JjBslDvml+fS3Z8gttdml0We759PnnZGqrnPRhkOEOJbNUlE+dD4ckLeIe6NPxlS/7U+w==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "jpeg-js": "0.4.2" - } - }, - "@jimp/plugin-blit": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.16.1.tgz", - "integrity": "sha512-fKFNARm32RoLSokJ8WZXHHH2CGzz6ire2n1Jh6u+XQLhk9TweT1DcLHIXwQMh8oR12KgjbgsMGvrMVlVknmOAg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-blur": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.16.1.tgz", - "integrity": "sha512-1WhuLGGj9MypFKRcPvmW45ht7nXkOKu+lg3n2VBzIB7r4kKNVchuI59bXaCYQumOLEqVK7JdB4glaDAbCQCLyw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-circle": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.16.1.tgz", - "integrity": "sha512-JK7yi1CIU7/XL8hdahjcbGA3V7c+F+Iw+mhMQhLEi7Q0tCnZ69YJBTamMiNg3fWPVfMuvWJJKOBRVpwNTuaZRg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-color": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.16.1.tgz", - "integrity": "sha512-9yQttBAO5SEFj7S6nJK54f+1BnuBG4c28q+iyzm1JjtnehjqMg6Ljw4gCSDCvoCQ3jBSYHN66pmwTV74SU1B7A==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "tinycolor2": "^1.4.1" - } - }, - "@jimp/plugin-contain": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.16.1.tgz", - "integrity": "sha512-44F3dUIjBDHN+Ym/vEfg+jtjMjAqd2uw9nssN67/n4FdpuZUVs7E7wadKY1RRNuJO+WgcD5aDQcsvurXMETQTg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-cover": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.16.1.tgz", - "integrity": "sha512-YztWCIldBAVo0zxcQXR+a/uk3/TtYnpKU2CanOPJ7baIuDlWPsG+YE4xTsswZZc12H9Kl7CiziEbDtvF9kwA/Q==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-crop": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.16.1.tgz", - "integrity": "sha512-UQdva9oQzCVadkyo3T5Tv2CUZbf0klm2cD4cWMlASuTOYgaGaFHhT9st+kmfvXjKL8q3STkBu/zUPV6PbuV3ew==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-displace": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.16.1.tgz", - "integrity": "sha512-iVAWuz2+G6Heu8gVZksUz+4hQYpR4R0R/RtBzpWEl8ItBe7O6QjORAkhxzg+WdYLL2A/Yd4ekTpvK0/qW8hTVw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-dither": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.16.1.tgz", - "integrity": "sha512-tADKVd+HDC9EhJRUDwMvzBXPz4GLoU6s5P7xkVq46tskExYSptgj5713J5Thj3NMgH9Rsqu22jNg1H/7tr3V9Q==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-fisheye": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.16.1.tgz", - "integrity": "sha512-BWHnc5hVobviTyIRHhIy9VxI1ACf4CeSuCfURB6JZm87YuyvgQh5aX5UDKtOz/3haMHXBLP61ZBxlNpMD8CG4A==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-flip": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.16.1.tgz", - "integrity": "sha512-KdxTf0zErfZ8DyHkImDTnQBuHby+a5YFdoKI/G3GpBl3qxLBvC+PWkS2F/iN3H7wszP7/TKxTEvWL927pypT0w==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-gaussian": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.16.1.tgz", - "integrity": "sha512-u9n4wjskh3N1mSqketbL6tVcLU2S5TEaFPR40K6TDv4phPLZALi1Of7reUmYpVm8mBDHt1I6kGhuCJiWvzfGyg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-invert": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.16.1.tgz", - "integrity": "sha512-2DKuyVXANH8WDpW9NG+PYFbehzJfweZszFYyxcaewaPLN0GxvxVLOGOPP1NuUTcHkOdMFbE0nHDuB7f+sYF/2w==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-mask": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.16.1.tgz", - "integrity": "sha512-snfiqHlVuj4bSFS0v96vo2PpqCDMe4JB+O++sMo5jF5mvGcGL6AIeLo8cYqPNpdO6BZpBJ8MY5El0Veckhr39Q==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-normalize": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.16.1.tgz", - "integrity": "sha512-dOQfIOvGLKDKXPU8xXWzaUeB0nvkosHw6Xg1WhS1Z5Q0PazByhaxOQkSKgUryNN/H+X7UdbDvlyh/yHf3ITRaw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-print": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.16.1.tgz", - "integrity": "sha512-ceWgYN40jbN4cWRxixym+csyVymvrryuKBQ+zoIvN5iE6OyS+2d7Mn4zlNgumSczb9GGyZZESIgVcBDA1ezq0Q==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "load-bmfont": "^1.4.0" - } - }, - "@jimp/plugin-resize": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.16.1.tgz", - "integrity": "sha512-u4JBLdRI7dargC04p2Ha24kofQBk3vhaf0q8FwSYgnCRwxfvh2RxvhJZk9H7Q91JZp6wgjz/SjvEAYjGCEgAwQ==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-rotate": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.16.1.tgz", - "integrity": "sha512-ZUU415gDQ0VjYutmVgAYYxC9Og9ixu2jAGMCU54mSMfuIlmohYfwARQmI7h4QB84M76c9hVLdONWjuo+rip/zg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-scale": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.16.1.tgz", - "integrity": "sha512-jM2QlgThIDIc4rcyughD5O7sOYezxdafg/2Xtd1csfK3z6fba3asxDwthqPZAgitrLgiKBDp6XfzC07Y/CefUw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-shadow": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.16.1.tgz", - "integrity": "sha512-MeD2Is17oKzXLnsphAa1sDstTu6nxscugxAEk3ji0GV1FohCvpHBcec0nAq6/czg4WzqfDts+fcPfC79qWmqrA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-threshold": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.16.1.tgz", - "integrity": "sha512-iGW8U/wiCSR0+6syrPioVGoSzQFt4Z91SsCRbgNKTAk7D+XQv6OI78jvvYg4o0c2FOlwGhqz147HZV5utoSLxA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugins": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.16.1.tgz", - "integrity": "sha512-c+lCqa25b+4q6mJZSetlxhMoYuiltyS+ValLzdwK/47+aYsq+kcJNl+TuxIEKf59yr9+5rkbpsPkZHLF/V7FFA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/plugin-blit": "^0.16.1", - "@jimp/plugin-blur": "^0.16.1", - "@jimp/plugin-circle": "^0.16.1", - "@jimp/plugin-color": "^0.16.1", - "@jimp/plugin-contain": "^0.16.1", - "@jimp/plugin-cover": "^0.16.1", - "@jimp/plugin-crop": "^0.16.1", - "@jimp/plugin-displace": "^0.16.1", - "@jimp/plugin-dither": "^0.16.1", - "@jimp/plugin-fisheye": "^0.16.1", - "@jimp/plugin-flip": "^0.16.1", - "@jimp/plugin-gaussian": "^0.16.1", - "@jimp/plugin-invert": "^0.16.1", - "@jimp/plugin-mask": "^0.16.1", - "@jimp/plugin-normalize": "^0.16.1", - "@jimp/plugin-print": "^0.16.1", - "@jimp/plugin-resize": "^0.16.1", - "@jimp/plugin-rotate": "^0.16.1", - "@jimp/plugin-scale": "^0.16.1", - "@jimp/plugin-shadow": "^0.16.1", - "@jimp/plugin-threshold": "^0.16.1", - "timm": "^1.6.1" - } - }, - "@jimp/png": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.16.1.tgz", - "integrity": "sha512-iyWoCxEBTW0OUWWn6SveD4LePW89kO7ZOy5sCfYeDM/oTPLpR8iMIGvZpZUz1b8kvzFr27vPst4E5rJhGjwsdw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "pngjs": "^3.3.3" - } - }, - "@jimp/tiff": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.16.1.tgz", - "integrity": "sha512-3K3+xpJS79RmSkAvFMgqY5dhSB+/sxhwTFA9f4AVHUK0oKW+u6r52Z1L0tMXHnpbAdR9EJ+xaAl2D4x19XShkQ==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "utif": "^2.0.1" - } - }, - "@jimp/types": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.16.1.tgz", - "integrity": "sha512-g1w/+NfWqiVW4CaXSJyD28JQqZtm2eyKMWPhBBDCJN9nLCN12/Az0WFF3JUAktzdsEC2KRN2AqB1a2oMZBNgSQ==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/bmp": "^0.16.1", - "@jimp/gif": "^0.16.1", - "@jimp/jpeg": "^0.16.1", - "@jimp/png": "^0.16.1", - "@jimp/tiff": "^0.16.1", - "timm": "^1.6.1" - } - }, - "@jimp/utils": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.16.1.tgz", - "integrity": "sha512-8fULQjB0x4LzUSiSYG6ZtQl355sZjxbv8r9PPAuYHzS9sGiSHJQavNqK/nKnpDsVkU88/vRGcE7t3nMU0dEnVw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "regenerator-runtime": "^0.13.3" - } - }, - "@mui/core": { - "version": "5.0.0-alpha.54", - "resolved": "https://registry.npmjs.org/@mui/core/-/core-5.0.0-alpha.54.tgz", - "integrity": "sha512-8TxdHqDdSb6wjhsnpE5n7qtkFKDG3PUSlVY0gR3VcdsHXscUY13l3VbMQW1brI4D/R9zx5VYmxIHWaHFgw4RtA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@emotion/is-prop-valid": "^1.1.0", - "@mui/utils": "^5.1.0", - "@popperjs/core": "^2.4.4", - "clsx": "^1.1.1", - "prop-types": "^15.7.2", - "react-is": "^17.0.2" - } - }, - "@mui/icons-material": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.0.0.tgz", - "integrity": "sha512-Vl5pMIdD1MC+LVBEKDQkWeoU/0mdxx/WLBuTVo5y2yzOzEp8gcwkegtiUyN1gubiXcqzNNZQNvJ6/YSdFRr84Q==", - "requires": { - "@babel/runtime": "^7.14.8" - } - }, - "@mui/material": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.1.0.tgz", - "integrity": "sha512-K76v7zRhpJToInSI8sRcEmTwpVFBZ223VIusjZRKXN8JzX+PuErG7skfa1yUuhc3f4VEqcYYUw0LvI+DJJ05eg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@mui/core": "5.0.0-alpha.54", - "@mui/system": "^5.1.0", - "@mui/types": "^7.1.0", - "@mui/utils": "^5.1.0", - "@types/react-transition-group": "^4.4.4", - "clsx": "^1.1.1", - "csstype": "^3.0.9", - "hoist-non-react-statics": "^3.3.2", - "prop-types": "^15.7.2", - "react-is": "^17.0.2", - "react-transition-group": "^4.4.2" - }, - "dependencies": { - "csstype": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", - "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" - } - } - }, - "@mui/private-theming": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.1.0.tgz", - "integrity": "sha512-RWzpvwZTNoCUlWFtf7uMDY4QkNL6pI3V2Ac4MZeVzJr3DLluQrt0JjUdsy8CVS7HCTp1YGiyZsJ7H8PfR9jIOw==", - "requires": { - "@babel/runtime": "^7.16.0", - "@mui/utils": "^5.1.0", - "prop-types": "^15.7.2" - } - }, - "@mui/styled-engine": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.1.0.tgz", - "integrity": "sha512-Z27hexqYL21z+iVat47n1E/Tj4r83JK6hXaOFj2rYMYz0lJQ6YGLF+c2B3NNJoglL76Vo0w4yKC63FsO+015kw==", - "requires": { - "@babel/runtime": "^7.16.0", - "@emotion/cache": "^11.5.0", - "prop-types": "^15.7.2" - } - }, - "@mui/styles": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-5.0.1.tgz", - "integrity": "sha512-hCtR2ZVOkoIhpTan02I4UEShnZxe59WwhKRJqauMs/addXByhAHHCNheTdiV++Irl/fyyFObmzPM0CUD3q6FIA==", - "requires": { - "@babel/runtime": "^7.15.4", - "@emotion/hash": "^0.8.0", - "@mui/private-theming": "^5.0.1", - "@mui/types": "^7.0.0", - "@mui/utils": "^5.0.1", - "clsx": "^1.1.1", - "csstype": "^3.0.9", - "hoist-non-react-statics": "^3.3.2", - "jss": "^10.8.0", - "jss-plugin-camel-case": "^10.8.0", - "jss-plugin-default-unit": "^10.8.0", - "jss-plugin-global": "^10.8.0", - "jss-plugin-nested": "^10.8.0", - "jss-plugin-props-sort": "^10.8.0", - "jss-plugin-rule-value-function": "^10.8.0", - "jss-plugin-vendor-prefixer": "^10.8.0", - "prop-types": "^15.7.2" - }, - "dependencies": { - "csstype": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", - "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" - } - } - }, - "@mui/system": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.1.0.tgz", - "integrity": "sha512-1h+YDnPGfTWZkf7lgeNV+vw6altxXGLclXLdxs9GPzEMNYXX7xveUjmndYpO1p/yx7GNG2gLWWkFZ1TYCeo4+Q==", - "requires": { - "@babel/runtime": "^7.16.0", - "@mui/private-theming": "^5.1.0", - "@mui/styled-engine": "^5.1.0", - "@mui/types": "^7.1.0", - "@mui/utils": "^5.1.0", - "clsx": "^1.1.1", - "csstype": "^3.0.9", - "prop-types": "^15.7.2" - }, - "dependencies": { - "csstype": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", - "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" - } - } - }, - "@mui/types": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.1.0.tgz", - "integrity": "sha512-Hh7ALdq/GjfIwLvqH3XftuY3bcKhupktTm+S6qRIDGOtPtRuq2L21VWzOK4p7kblirK0XgGVH5BLwa6u8z/6QQ==", - "requires": {} - }, - "@mui/utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.1.0.tgz", - "integrity": "sha512-TbAa3DZBGE6xjrVsQ6e0Iw0jwgGZqPg/48aZJJWXJJjU8NU5OhBRutYhrk/kbdDRmsIArHNdpJayBSi7yETYvg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@types/prop-types": "^15.7.4", - "@types/react-is": "^16.7.1 || ^17.0.0", - "prop-types": "^15.7.2", - "react-is": "^17.0.2" - } - }, - "@mui/x-data-grid": { - "version": "5.0.0-beta.7", - "resolved": "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-5.0.0-beta.7.tgz", - "integrity": "sha512-0h7uJ/1xvXghJwGPRFcPUPB0zNlKpfAqFU2dBdAtUl6DK2ca1cPfd+sLNzApa4yvxjGUxLyNxvcc5xutka0t8A==", - "requires": { - "@mui/utils": "^5.0.1", - "clsx": "^1.1.1", - "prop-types": "^15.7.2", - "reselect": "^4.1.1" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@nymproject/nym-validator-client": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@nymproject/nym-validator-client/-/nym-validator-client-0.18.0.tgz", - "integrity": "sha512-FO1T15S2BJVuMoPA2yOaH40aD3hKJPKJVyX5ix7eJEbBWIdsYNoVeVc/soHhaAU1FIy2uU0G/FZQkaUYJGGb7Q==", - "requires": { - "@cosmjs/cosmwasm-stargate": "^0.25.5", - "@cosmjs/math": "^0.25.5", - "@cosmjs/proto-signing": "^0.25.5", - "@cosmjs/stargate": "^0.25.5", - "axios": "^0.21.1" - }, - "dependencies": { - "@cosmjs/math": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.25.6.tgz", - "integrity": "sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A==", - "requires": { - "bn.js": "^4.11.8" - } - } - } - }, - "@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.0-rc.6", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.0-rc.6.tgz", - "integrity": "sha512-EU+iDjTp5oFTK2Rw7SgBD8RdKTUpcUcLFCeHZG7/5shkKRMuHTMOzigaf5/C9oLRfWDeCo0mW67dovP03V7SgA==", - "dev": true, - "requires": { - "ansi-html": "^0.0.7", - "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.8.1", - "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", - "html-entities": "^2.1.0", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "@popperjs/core": { - "version": "2.10.2", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz", - "integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==" - }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", - "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" - }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" - }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" - }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" - }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" - }, - "@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", - "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@testing-library/dom": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.3.0.tgz", - "integrity": "sha512-4Eu+ExT7UhesxcRjumD7kAXv/8xhl5j2wgp2FROReXDg+Y+ArzPpU+GEN0+0m0SYlOu9hBtvNuBrzTKqyEB1Sw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^4.2.0", - "aria-query": "^4.2.2", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.6", - "lz-string": "^1.4.4", - "pretty-format": "^27.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/jest-dom": { - "version": "5.14.1", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.14.1.tgz", - "integrity": "sha512-dfB7HVIgTNCxH22M1+KU6viG5of2ldoA5ly8Ar8xkezKHKXjRvznCdbMbqjYGgO2xjRbwnR+rR8MLUIqF3kKbQ==", - "dev": true, - "requires": { - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^4.2.2", - "chalk": "^3.0.0", - "css": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/react": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.0.0.tgz", - "integrity": "sha512-sh3jhFgEshFyJ/0IxGltRhwZv2kFKfJ3fN1vTZ6hhMXzz9ZbbcTgmDYM4e+zJv+oiVKKEWZPyqPAh4MQBI65gA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.0.0" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true - }, - "@trysound/sax": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.1.1.tgz", - "integrity": "sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==", - "dev": true - }, - "@types/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==", - "dev": true - }, - "@types/babel__core": { - "version": "7.1.16", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz", - "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz", - "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", - "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/d3-dsv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.0.tgz", - "integrity": "sha512-o0/7RlMl9p5n6FQDptuJVMxDf/7EDEv2SYEO/CwdG2tr1hTfUVi0Iavkk2ax+VpaQ/1jVhpnj5rq1nj8vwhn2A==", - "dev": true - }, - "@types/d3-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.1.tgz", - "integrity": "sha512-toZJNOwrOIqz7Oh6Q7l2zkaNfXkfR7mFSJvGvlD/Ciq/+SQ39d5gynHJZ/0fjt83ec3WL7+u3ssqIijQtBISsw==", - "dev": true, - "requires": { - "@types/d3-dsv": "*" - } - }, - "@types/d3-geo": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.0.2.tgz", - "integrity": "sha512-DbqK7MLYA8LpyHQfv6Klz0426bQEf7bRTvhMy44sNGVyZoWn//B0c+Qbeg8Osi2Obdc9BLLXYAKpyWege2/7LQ==", - "dev": true, - "requires": { - "@types/geojson": "*" - } - }, - "@types/d3-scale": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.1.tgz", - "integrity": "sha512-GDuXcRcR6mKcpUVMhPNttpOzHi2dP6YcDqLZYSZHgwTZ+sfCa8e9q0VEBwZomblAPNMYpVqxojnSyIEb4s/Pwg==", - "dev": true, - "requires": { - "@types/d3-time": "*" - } - }, - "@types/d3-time": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz", - "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==", - "dev": true - }, - "@types/eslint": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", - "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", - "dev": true - }, - "@types/geojson": { - "version": "7946.0.8", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.8.tgz", - "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==", - "dev": true - }, - "@types/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/history": { - "version": "4.7.9", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.9.tgz", - "integrity": "sha512-MUc6zSmU3tEVnkQ78q0peeEjKWPUADMlC/t++2bI8WnAG2tvYRPIgHG8lWkXwqc8MsUF6Z2MOf+Mh5sazOmhiQ==", - "dev": true - }, - "@types/html-minifier-terser": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", - "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==", - "dev": true - }, - "@types/http-proxy": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", - "integrity": "sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.1.tgz", - "integrity": "sha512-HTLpVXHrY69556ozYkcq47TtQJXpcWAWfkoqz+ZGz2JnmZhzlRjprCIyFnetSy8gpDWwTTGBcRVv1J1I1vBrHw==", - "dev": true, - "requires": { - "jest-diff": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, - "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, - "@types/long": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", - "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" - }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "@types/node": { - "version": "16.7.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.13.tgz", - "integrity": "sha512-pLUPDn+YG3FYEt/pHI74HmnJOWzeR+tOIQzUx93pi9M7D8OE7PSLr97HboXwk5F+JS+TLtWuzCOW97AHjmOXXA==", - "dev": true - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==", - "dev": true - }, - "@types/prop-types": { - "version": "15.7.4", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", - "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" - }, - "@types/react": { - "version": "17.0.34", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.34.tgz", - "integrity": "sha512-46FEGrMjc2+8XhHXILr+3+/sTe3OfzSPU9YGKILLrUYbQ1CLQC9Daqo1KzENGXAWwrFwiY0l4ZbF20gRvgpWTg==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "17.0.9", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.9.tgz", - "integrity": "sha512-wIvGxLfgpVDSAMH5utdL9Ngm5Owu0VsGmldro3ORLXV8CShrL8awVj06NuEXFQ5xyaYfdca7Sgbk/50Ri1GdPg==", - "dev": true, - "requires": { - "@types/react": "*" - } - }, - "@types/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-2+L0ilcAEG8udkDnvx8B0upwXFBbNnVwOsSCTxW3SDOkmar9NyEeLG0ZLa3uOEw9zyYf/fQapcnfXAVmDKlyHw==", - "requires": { - "@types/react": "*" - } - }, - "@types/react-router": { - "version": "5.1.16", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.16.tgz", - "integrity": "sha512-8d7nR/fNSqlTFGHti0R3F9WwIertOaaA1UEB8/jr5l5mDMOs4CidEgvvYMw4ivqrBK+vtVLxyTj2P+Pr/dtgzg==", - "dev": true, - "requires": { - "@types/history": "*", - "@types/react": "*" - } - }, - "@types/react-router-dom": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.1.8.tgz", - "integrity": "sha512-03xHyncBzG0PmDmf8pf3rehtjY0NpUj7TIN46FrT5n1ZWHPZvXz32gUyNboJ+xsL8cpg8bQVLcllptcQHvocrw==", - "dev": true, - "requires": { - "@types/history": "*", - "@types/react": "*", - "@types/react-router": "*" - } - }, - "@types/react-simple-maps": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/react-simple-maps/-/react-simple-maps-1.0.6.tgz", - "integrity": "sha512-Gbo8FijVgI5BcUOZi3YMfixeMsIXlBOkkzD7vwyrAE9MjSB+GLxBKiTeVCieXbV0+PK0gGiBKWXIZH5uEDoC6w==", - "dev": true, - "requires": { - "@types/d3-geo": "^1", - "@types/geojson": "*", - "@types/react": "*" - }, - "dependencies": { - "@types/d3-geo": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-1.12.3.tgz", - "integrity": "sha512-yZbPb7/5DyL/pXkeOmZ7L5ySpuGr4H48t1cuALjnJy5sXQqmSSAYBiwa6Ya/XpWKX2rJqGDDubmh3nOaopOpeA==", - "dev": true, - "requires": { - "@types/geojson": "*" - } - } - } - }, - "@types/react-tooltip": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@types/react-tooltip/-/react-tooltip-4.2.4.tgz", - "integrity": "sha512-UzjzmgY/VH3Str6DcAGTLMA1mVVhGOyARNTANExrirtp+JgxhaIOVDxq4TIRmpSi4voLv+w4HA9CC5GvhhCA0A==", - "dev": true, - "requires": { - "react-tooltip": "*" - } - }, - "@types/react-transition-group": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.4.tgz", - "integrity": "sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==", - "requires": { - "@types/react": "*" - } - }, - "@types/retry": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", - "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", - "dev": true - }, - "@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "@types/testing-library__jest-dom": { - "version": "5.14.1", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.1.tgz", - "integrity": "sha512-Gk9vaXfbzc5zCXI9eYE9BI5BNHEp4D3FWjgqBE/ePGYElLAP+KvxBcsdkwfIVvezs605oiyd/VrpiHe3Oeg+Aw==", - "dev": true, - "requires": { - "@types/jest": "*" - } - }, - "@types/topojson-client": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/topojson-client/-/topojson-client-3.1.0.tgz", - "integrity": "sha512-wmjTmMkF6k6m3Tn4mIyRjw8KUQZLHB1TxNcpGYirvV/aCINkC0eMJsUO/OPMkKIB6VO5iA6Vp39bmAq6QgvSfA==", - "dev": true, - "requires": { - "@types/geojson": "*", - "@types/topojson-specification": "*" - } - }, - "@types/topojson-specification": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/topojson-specification/-/topojson-specification-1.0.2.tgz", - "integrity": "sha512-SGc1NdX9g3UGDp6S+p+uyG+Z8CehS51sUJ9bejA25Xgn2kkAguILk6J9nxXK+0M/mbTBN7ypMA7+4HVLNMJ8ag==", - "dev": true, - "requires": { - "@types/geojson": "*" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "20.2.1", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", - "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.0.tgz", - "integrity": "sha512-iPKZTZNavAlOhfF4gymiSuUkgLne/nh5Oz2/mdiUmuZVD42m9PapnCnzjxuDsnpnbH3wT5s2D8bw6S39TC6GNw==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "4.31.0", - "@typescript-eslint/scope-manager": "4.31.0", - "debug": "^4.3.1", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.1.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/experimental-utils": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.0.tgz", - "integrity": "sha512-Hld+EQiKLMppgKKkdUsLeVIeEOrwKc2G983NmznY/r5/ZtZCDvIOXnXtwqJIgYz/ymsy7n7RGvMyrzf1WaSQrw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.31.0", - "@typescript-eslint/types": "4.31.0", - "@typescript-eslint/typescript-estree": "4.31.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - } - }, - "@typescript-eslint/parser": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.31.0.tgz", - "integrity": "sha512-oWbzvPh5amMuTmKaf1wp0ySxPt2ZXHnFQBN2Szu1O//7LmOvgaKTCIDNLK2NvzpmVd5A2M/1j/rujBqO37hj3w==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "4.31.0", - "@typescript-eslint/types": "4.31.0", - "@typescript-eslint/typescript-estree": "4.31.0", - "debug": "^4.3.1" - } - }, - "@typescript-eslint/scope-manager": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.31.0.tgz", - "integrity": "sha512-LJ+xtl34W76JMRLjbaQorhR0hfRAlp3Lscdiz9NeI/8i+q0hdBZ7BsiYieLoYWqy+AnRigaD3hUwPFugSzdocg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.31.0", - "@typescript-eslint/visitor-keys": "4.31.0" - } - }, - "@typescript-eslint/types": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.31.0.tgz", - "integrity": "sha512-9XR5q9mk7DCXgXLS7REIVs+BaAswfdHhx91XqlJklmqWpTALGjygWVIb/UnLh4NWhfwhR5wNe1yTyCInxVhLqQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.0.tgz", - "integrity": "sha512-QHl2014t3ptg+xpmOSSPn5hm4mY8D4s97ftzyk9BZ8RxYQ3j73XcwuijnJ9cMa6DO4aLXeo8XS3z1omT9LA/Eg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.31.0", - "@typescript-eslint/visitor-keys": "4.31.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "4.31.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.0.tgz", - "integrity": "sha512-HUcRp2a9I+P21+O21yu3ezv3GEPGjyGiXoEUQwZXjR8UxRApGeLyWH4ZIIUSalE28aG4YsV6GjtaAVB3QKOu0w==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.31.0", - "eslint-visitor-keys": "^2.0.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.4.tgz", - "integrity": "sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.3.0.tgz", - "integrity": "sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w==", - "dev": true, - "requires": { - "envinfo": "^7.7.3" - } - }, - "@webpack-cli/serve": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.5.2.tgz", - "integrity": "sha512-vgJ5OLWadI8aKjDlOH3rb+dYyPd2GTZuQC/Tihjct6F9GpXGZINo3Y/IVuZVTM1eDQB+/AOsjPUWH/WySDaXvw==", - "dev": true, - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "any-base": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", - "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==", - "dev": true - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - } - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", - "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - } - }, - "array.prototype.flatmap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", - "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" - } - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", - "dev": true - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, - "axe-core": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.3.tgz", - "integrity": "sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA==", - "dev": true - }, - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "requires": { - "follow-redirects": "^1.14.0" - } - }, - "axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", - "dev": true - }, - "babel-jest": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.1.0.tgz", - "integrity": "sha512-6NrdqzaYemALGCuR97QkC/FkFIEBWP5pw5TMJoUHZTVXyOgocujp6A0JE2V6gE0HtqAAv6VKU/nI+OCR1Z4gHA==", - "dev": true, - "requires": { - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^27.0.6", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", - "dev": true, - "requires": { - "@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": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz", - "integrity": "sha512-CewFeM9Vv2gM7Yr9n5eyyLVPRSiBnk6lKZRjgwYnGKSl9M14TMn2vkN02wTF04OGuSDLEzlWiMzvjXuW9mB6Gw==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", - "requires": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - } - }, - "babel-plugin-root-import": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-root-import/-/babel-plugin-root-import-6.6.0.tgz", - "integrity": "sha512-SPzVOHd7nDh5loZwZBxtX/oOu1MXeKjTkz+1VnnzLWC0dk8sJIGC2IDQ2uWIBjE5mUtXlQ35MTHSqN0Xn7qHrg==", - "dev": true, - "requires": { - "slash": "^3.0.0" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "requires": { - "@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/plugin-syntax-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz", - "integrity": "sha512-WObA0/Biw2LrVVwZkF/2GqbOdzhKD6Fkdwhoy9ASIrOWr/zodcSpQh72JOkEn6NWyjmnPDjNSqaGN4KnpKzhXw==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^27.0.6", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "bignumber.js": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.4.0.tgz", - "integrity": "sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg=", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "bip39": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz", - "integrity": "sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw==", - "requires": { - "@types/node": "11.11.6", - "create-hash": "^1.1.0", - "pbkdf2": "^3.0.9", - "randombytes": "^2.0.1" - }, - "dependencies": { - "@types/node": { - "version": "11.11.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz", - "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==" - } - } - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "bmp-js": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", - "integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM=", - "dev": true - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "browserslist": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.0.tgz", - "integrity": "sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g==", - "requires": { - "caniuse-lite": "^1.0.30001254", - "colorette": "^1.3.0", - "electron-to-chromium": "^1.3.830", - "escalade": "^3.1.1", - "node-releases": "^1.1.75" - } - }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-equal": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", - "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001255", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001255.tgz", - "integrity": "sha512-F+A3N9jTZL882f/fg/WWVnKSu6IOo3ueLz4zwaOPbPYHNmM/ZaDUyzyJwS1mZhX7Ex5jqTyW599Gdelh5PDYLQ==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - } - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true - }, - "ci-info": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", - "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "clean-webpack-plugin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz", - "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==", - "dev": true, - "requires": { - "del": "^4.1.1" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - }, - "clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", - "dev": true - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", - "dev": true - }, - "cloneable-readable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", - "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "clsx": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", - "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==" - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dev": true, - "requires": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-string": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", - "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", - "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "colord": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.7.0.tgz", - "integrity": "sha512-pZJBqsHz+pYyw3zpX6ZRXWoCHM1/cvFikY9TV8G3zcejCaKE0lhankoj8iScyrrePA8C7yJ5FStfA9zbcOnw7Q==", - "dev": true - }, - "colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "confusing-browser-globals": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", - "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", - "dev": true - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "core-js-pure": { - "version": "3.17.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.17.2.tgz", - "integrity": "sha512-2VV7DlIbooyTI7Bh+yzOOWL9tGwLnQKHno7qATE+fqZzDKYr6llVjVQOzpD/QLZFgXDPb8T71pJokHEZHEYJhQ==", - "dev": true - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-color-names": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", - "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==", - "dev": true - }, - "css-declaration-sorter": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz", - "integrity": "sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==", - "dev": true, - "requires": { - "timsort": "^0.3.0" - } - }, - "css-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.2.0.tgz", - "integrity": "sha512-/rvHfYRjIpymZblf49w8jYcRo2y9gj6rV8UroHGmBxKrIyGLokpycyKzp9OkitvqT29ZSpzJ0Ic7SpnJX3sC8g==", - "dev": true, - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "semver": "^7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "css-minimizer-webpack-plugin": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.2.tgz", - "integrity": "sha512-B3I5e17RwvKPJwsxjjWcdgpU/zqylzK1bPVghcmpFHRL48DXiBgrtqz1BJsn68+t/zzaLp9kYAaEDvQ7GyanFQ==", - "dev": true, - "requires": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "p-limit": "^3.0.2", - "postcss": "^8.3.5", - "schema-utils": "^3.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-select": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", - "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.0.0" - } - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-vendor": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", - "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", - "requires": { - "@babel/runtime": "^7.8.3", - "is-in-browser": "^1.0.2" - } - }, - "css-what": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", - "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", - "dev": true - }, - "css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "cssnano": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.8.tgz", - "integrity": "sha512-Lda7geZU0Yu+RZi2SGpjYuQz4HI4/1Y+BhdD0jL7NXAQ5larCzVn+PUGuZbDMYz904AXXCOgO5L1teSvgu7aFg==", - "dev": true, - "requires": { - "cssnano-preset-default": "^5.1.4", - "is-resolvable": "^1.1.0", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - } - }, - "cssnano-preset-default": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz", - "integrity": "sha512-sPpQNDQBI3R/QsYxQvfB4mXeEcWuw0wGtKtmS5eg8wudyStYMgKOQT39G07EbW1LB56AOYrinRS9f0ig4Y3MhQ==", - "dev": true, - "requires": { - "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^2.0.1", - "postcss-calc": "^8.0.0", - "postcss-colormin": "^5.2.0", - "postcss-convert-values": "^5.0.1", - "postcss-discard-comments": "^5.0.1", - "postcss-discard-duplicates": "^5.0.1", - "postcss-discard-empty": "^5.0.1", - "postcss-discard-overridden": "^5.0.1", - "postcss-merge-longhand": "^5.0.2", - "postcss-merge-rules": "^5.0.2", - "postcss-minify-font-values": "^5.0.1", - "postcss-minify-gradients": "^5.0.2", - "postcss-minify-params": "^5.0.1", - "postcss-minify-selectors": "^5.1.0", - "postcss-normalize-charset": "^5.0.1", - "postcss-normalize-display-values": "^5.0.1", - "postcss-normalize-positions": "^5.0.1", - "postcss-normalize-repeat-style": "^5.0.1", - "postcss-normalize-string": "^5.0.1", - "postcss-normalize-timing-functions": "^5.0.1", - "postcss-normalize-unicode": "^5.0.1", - "postcss-normalize-url": "^5.0.2", - "postcss-normalize-whitespace": "^5.0.1", - "postcss-ordered-values": "^5.0.2", - "postcss-reduce-initial": "^5.0.1", - "postcss-reduce-transforms": "^5.0.1", - "postcss-svgo": "^5.0.2", - "postcss-unique-selectors": "^5.0.1" - } - }, - "cssnano-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", - "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", - "dev": true, - "requires": {} - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "requires": { - "css-tree": "^1.1.2" - } - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, - "csstype": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", - "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" - }, - "d3-array": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.0.2.tgz", - "integrity": "sha512-nTN4OC6ufZueotlexbxBd2z8xmG1eIfhvP2m1auH2ONps0L+AZn1r0JWuzMXZ6XgOj1VBOp7GGZmEs9NUFEBbA==", - "requires": { - "internmap": "1 - 2" - } - }, - "d3-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-2.0.0.tgz", - "integrity": "sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==" - }, - "d3-dispatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-2.0.0.tgz", - "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==" - }, - "d3-drag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-2.0.0.tgz", - "integrity": "sha512-g9y9WbMnF5uqB9qKqwIIa/921RYWzlUDv9Jl1/yONQwxbOfszAWTCm8u7HOTgJgRDXiRZN56cHT9pd24dmXs8w==", - "requires": { - "d3-dispatch": "1 - 2", - "d3-selection": "2" - } - }, - "d3-ease": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-2.0.0.tgz", - "integrity": "sha512-68/n9JWarxXkOWMshcT5IcjbB+agblQUaIsbnXmrzejn2O82n3p2A9R2zEB9HIEFWKFwPAEDDN8gR0VdSAyyAQ==" - }, - "d3-format": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.0.1.tgz", - "integrity": "sha512-hdL7+HBIohpgfolhBxr1KX47VMD6+vVD/oEFrxk5yhmzV2prk99EkFKYpXuhVkFpTgHdJ6/4bYcjdLPPXV4tIA==" - }, - "d3-interpolate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-2.0.1.tgz", - "integrity": "sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==", - "requires": { - "d3-color": "1 - 2" - } - }, - "d3-scale": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.0.tgz", - "integrity": "sha512-foHQYKpWQcyndH1CGoHdUC4PECxTxonzwwBXGT8qu+Drb1FIc6ON6dG2P5f4hRRMkLiIKeWK7iFtdznDUrnuPQ==", - "requires": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" - } - }, - "d3-selection": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-2.0.0.tgz", - "integrity": "sha512-XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA==" - }, - "d3-time": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.0.0.tgz", - "integrity": "sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==", - "requires": { - "d3-array": "2 - 3" - } - }, - "d3-time-format": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.0.0.tgz", - "integrity": "sha512-nzaCwlj+ZVBIlFuVOT1RmU+6xb/7D5IcnhHzHQcBgS/aTa5K9fWZNN5LCXA27LgF5WxoSNJqKBbLcGMtM6Ca6A==", - "requires": { - "d3-time": "1 - 3" - } - }, - "d3-timer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-2.0.0.tgz", - "integrity": "sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==" - }, - "d3-transition": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-2.0.0.tgz", - "integrity": "sha512-42ltAGgJesfQE3u9LuuBHNbGrI/AJjNL2OAUdclE70UE6Vy239GCBEYD38uBPoLeNsOhFStGpPI0BAOV+HMxog==", - "requires": { - "d3-color": "1 - 2", - "d3-dispatch": "1 - 2", - "d3-ease": "1 - 2", - "d3-interpolate": "1 - 2", - "d3-timer": "1 - 2" - } - }, - "d3-zoom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-2.0.0.tgz", - "integrity": "sha512-fFg7aoaEm9/jf+qfstak0IYpnesZLiMX6GZvXtUSdv8RH2o4E2qeelgdU09eKS6wGuiGMfcnMI0nTIqWzRHGpw==", - "requires": { - "d3-dispatch": "1 - 2", - "d3-drag": "2", - "d3-interpolate": "1 - 2", - "d3-selection": "2", - "d3-transition": "2" - } - }, - "damerau-levenshtein": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz", - "integrity": "sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "date-fns": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.24.0.tgz", - "integrity": "sha512-6ujwvwgPID6zbI0o7UbURi2vlLDR9uP26+tW6Lg+Ji3w7dd0i3DOcjcClLjLPranT60SSEFBwdSyYwn/ZkPIuw==" - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "dev": true, - "requires": { - "mimic-response": "^2.0.0" - } - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "requires": { - "execa": "^5.0.0" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "dev": true - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "diacritics": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/diacritics/-/diacritics-1.3.0.tgz", - "integrity": "sha1-PvqHMj67hj5mls67AILUj/PW96E=" - }, - "diff-sequences": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz", - "integrity": "sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-accessibility-api": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.7.tgz", - "integrity": "sha512-ml3lJIq9YjUfM9TUnEPvEYWFSwivwIGBPKpewX7tii7fwCazA8yCioGdqQcNsItPpfFvSJ3VIdMQPj60LJhcQA==", - "dev": true - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "requires": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", - "dev": true - }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true - } - } - }, - "domhandler": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", - "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "dotenv-defaults": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz", - "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==", - "dev": true, - "requires": { - "dotenv": "^8.2.0" - }, - "dependencies": { - "dotenv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", - "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", - "dev": true - } - } - }, - "dotenv-webpack": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-7.0.3.tgz", - "integrity": "sha512-O0O9pOEwrk+n1zzR3T2uuXRlw64QxHSPeNN1GaiNBloQFNaCUL9V8jxSVz4jlXXFP/CIqK8YecWf8BAvsSgMjw==", - "dev": true, - "requires": { - "dotenv-defaults": "^2.0.2" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.832", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.832.tgz", - "integrity": "sha512-x7lO8tGoW0CyV53qON4Lb5Rok9ipDelNdBIAiYUZ03dqy4u9vohMM1qV047+s/hiyJiqUWX/3PNwkX3kexX5ig==" - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "dev": true - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", - "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "dependencies": { - "tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", - "dev": true - } - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - }, - "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", - "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", - "dev": true, - "requires": { - "stackframe": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.18.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.6.tgz", - "integrity": "sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.4", - "is-string": "^1.0.7", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - } - }, - "es-module-lexer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", - "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==", - "dev": true - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es6-promise": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", - "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dev": true, - "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "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", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "eslint-config-airbnb": { - "version": "18.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz", - "integrity": "sha512-glZNDEZ36VdlZWoxn/bUR1r/sdFKPd1mHPbqUtkctgNG4yT2DLLtJ3D+yCV+jzZCc2V1nBVkmdknOJBZ5Hc0fg==", - "dev": true, - "requires": { - "eslint-config-airbnb-base": "^14.2.1", - "object.assign": "^4.1.2", - "object.entries": "^1.1.2" - } - }, - "eslint-config-airbnb-base": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", - "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", - "dev": true, - "requires": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.2" - } - }, - "eslint-config-prettier": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", - "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", - "dev": true, - "requires": {} - }, - "eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-import-resolver-root-import": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-root-import/-/eslint-import-resolver-root-import-1.0.4.tgz", - "integrity": "sha512-c8cUQcELRBe0mnblBZJKEfL+jIUGR8pctK5gdru5N7bBOIve2WZ0R3KoO5GOksXJ4WzZhtcBS2xPaTJYEe4IdQ==", - "dev": true, - "requires": { - "eslint-import-resolver-node": "^0.3.2", - "json5": "^2.1.0" - } - }, - "eslint-module-utils": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz", - "integrity": "sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "pkg-dir": "^2.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-import": { - "version": "2.24.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz", - "integrity": "sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==", - "dev": true, - "requires": { - "array-includes": "^3.1.3", - "array.prototype.flat": "^1.2.4", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.6.2", - "find-up": "^2.0.0", - "has": "^1.0.3", - "is-core-module": "^2.6.0", - "minimatch": "^3.0.4", - "object.values": "^1.1.4", - "pkg-up": "^2.0.0", - "read-pkg-up": "^3.0.0", - "resolve": "^1.20.0", - "tsconfig-paths": "^3.11.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "eslint-plugin-jest": { - "version": "24.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.4.0.tgz", - "integrity": "sha512-8qnt/hgtZ94E9dA6viqfViKBfkJwFHXgJmTWlMGDgunw1XJEGqm3eiPjDsTanM3/u/3Az82nyQM9GX7PM/QGmg==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "^4.0.1" - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz", - "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.11.2", - "aria-query": "^4.2.2", - "array-includes": "^3.1.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.0.2", - "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.6", - "emoji-regex": "^9.0.0", - "has": "^1.0.3", - "jsx-ast-utils": "^3.1.0", - "language-tags": "^1.0.5" - } - }, - "eslint-plugin-prettier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", - "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-plugin-react": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.25.1.tgz", - "integrity": "sha512-P4j9K1dHoFXxDNP05AtixcJEvIT6ht8FhYKsrkY0MPCPaUMYijhpWwNiRDZVtA8KFuZOkGSeft6QwH8KuVpJug==", - "dev": true, - "requires": { - "array-includes": "^3.1.3", - "array.prototype.flatmap": "^1.2.4", - "doctrine": "^2.1.0", - "estraverse": "^5.2.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.0.4", - "object.entries": "^1.1.4", - "object.fromentries": "^2.0.4", - "object.values": "^1.1.4", - "prop-types": "^15.7.2", - "resolve": "^2.0.0-next.3", - "string.prototype.matchall": "^4.0.5" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", - "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz", - "integrity": "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==", - "dev": true, - "requires": {} - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "dependencies": { - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - } - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "exif-parser": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", - "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=", - "dev": true - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "dev": true - }, - "expect": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.1.0.tgz", - "integrity": "sha512-9kJngV5hOJgkFil4F/uXm3hVBubUK2nERVfvqNNwxxuW8ZOUwSTTSysgfzckYtv/LBzj/LJXbiAF7okHCXgdug==", - "dev": true, - "requires": { - "@jest/types": "^27.1.0", - "ansi-styles": "^5.0.0", - "jest-get-type": "^27.0.6", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-regex-util": "^27.0.6" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dev": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true - }, - "fastq": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz", - "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "favicons": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/favicons/-/favicons-6.2.2.tgz", - "integrity": "sha512-qhvFqbhlXA/JYIDYuxTrE4uT9rcpTCrWvF3UG0GxBoLl/XgFBBTrZkQvASrkMebSwDCJ9kKGypRWIbvoRZLBsw==", - "dev": true, - "requires": { - "clone": "^2.1.2", - "colors": "^1.4.0", - "image-size": "^0.8.3", - "jimp": "^0.16.1", - "jsontoxml": "^1.0.1", - "lodash.defaultsdeep": "^4.6.1", - "require-directory": "^2.1.1", - "sharp": "^0.28.2", - "through2": "^4.0.2", - "tinycolor2": "^1.4.2", - "to-ico": "^1.1.5", - "vinyl": "^2.2.1", - "xml2js": "^0.4.23" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-type": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", - "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", - "dev": true - }, - "follow-redirects": { - "version": "1.14.8", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz", - "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "fork-ts-checker-webpack-plugin": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.3.3.tgz", - "integrity": "sha512-S3uMSg8IsIvs0H6VAfojtbf6RcnEXxEpDMT2Q41M2l0m20JO8eA1t4cCJybvrasC8SvvPEtK4B8ztxxfLljhNg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "gifwrap": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.2.tgz", - "integrity": "sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA==", - "dev": true, - "requires": { - "image-q": "^1.1.1", - "omggif": "^1.0.10" - } - }, - "github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", - "dev": true - }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dev": true, - "requires": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globalthis": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz", - "integrity": "sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==", - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", - "dev": true - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "requires": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - } - } - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "html-entities": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", - "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", - "dev": true, - "requires": { - "camel-case": "^4.1.1", - "clean-css": "^4.2.3", - "commander": "^4.1.1", - "he": "^1.2.0", - "param-case": "^3.0.3", - "relateurl": "^0.2.7", - "terser": "^4.6.3" - } - }, - "html-webpack-plugin": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.3.2.tgz", - "integrity": "sha512-HvB33boVNCz2lTyBsSiMffsJ+m0YLIQ+pskblXgN9fnjS1BgEcuAfdInfXfGrkdXV406k9FiDi86eVCDBgJOyQ==", - "dev": true, - "requires": { - "@types/html-minifier-terser": "^5.0.0", - "html-minifier-terser": "^5.0.1", - "lodash": "^4.17.21", - "pretty-error": "^3.0.4", - "tapable": "^2.0.0" - }, - "dependencies": { - "tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", - "dev": true - } - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", - "dev": true - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "http-proxy-middleware": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", - "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", - "dev": true, - "requires": { - "@types/http-proxy": "^1.17.5", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "hyphenate-style-name": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", - "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" - }, - "i18n-iso-countries": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/i18n-iso-countries/-/i18n-iso-countries-6.8.0.tgz", - "integrity": "sha512-jJs/+CA6+VUICFxqGcB0vFMERGfhfvyNk+8Vb9EagSZkl7kSpm/kT0VyhvzM/zixDWEV/+oN9L7v/GT9BwzoGg==", - "requires": { - "diacritics": "1.3.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "requires": {} - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "image-q": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-q/-/image-q-1.1.1.tgz", - "integrity": "sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=", - "dev": true - }, - "image-size": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.8.3.tgz", - "integrity": "sha512-SMtq1AJ+aqHB45c3FsB4ERK0UCiA2d3H1uq8s+8T0Pf8A3W4teyBQyaFaktH6xvZqh+npwlKU7i4fJo0r7TYTg==", - "dev": true, - "requires": { - "queue": "6.0.1" - } - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - } - } - }, - "imports-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-3.0.0.tgz", - "integrity": "sha512-PhDB+rxpc95/1cM8ehxWAcuDIDi3eXhqHhax09iyUeAYBJ2bT6QbBp7aDj8IfU9Ns+2l1K226GhoWVAU823CTA==", - "dev": true, - "requires": { - "source-map": "^0.6.1", - "strip-comments": "^2.0.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "internal-ip": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", - "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", - "dev": true, - "requires": { - "default-gateway": "^6.0.0", - "ipaddr.js": "^1.9.1", - "is-ip": "^3.1.0", - "p-event": "^4.2.0" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - } - } - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "internmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.1.tgz", - "integrity": "sha512-Ujwccrj9FkGqjbY3iVoxD1VV+KdZZeENx0rphrtzmRXbFvkFO88L80BL/zeSIguX/7T+y8k04xqtgWgS5vxwxw==" - }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "dev": true - }, - "ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", - "dev": true - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "dev": true - }, - "is-ci": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", - "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", - "dev": true, - "requires": { - "ci-info": "^3.1.1" - } - }, - "is-core-module": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", - "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-in-browser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=" - }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "dev": true, - "requires": { - "ip-regex": "^4.0.0" - } - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - } - }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "requires": { - "path-is-inside": "^1.0.2" - } - }, - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "requires": {} - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.1.0.tgz", - "integrity": "sha512-pSQDVwRSwb109Ss13lcMtdfS9r8/w2Zz8+mTUA9VORD66GflCdl8nUFCqM96geOD2EBwWCNURrNAfQsLIDNBdg==", - "dev": true, - "requires": { - "@jest/core": "^27.1.0", - "import-local": "^3.0.2", - "jest-cli": "^27.1.0" - } - }, - "jest-changed-files": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.1.0.tgz", - "integrity": "sha512-eRcb13TfQw0xiV2E98EmiEgs9a5uaBIqJChyl0G7jR9fCIvGjXovnDS6Zbku3joij4tXYcSK4SE1AXqOlUxjWg==", - "dev": true, - "requires": { - "@jest/types": "^27.1.0", - "execa": "^5.0.0", - "throat": "^6.0.1" - } - }, - "jest-circus": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.1.0.tgz", - "integrity": "sha512-6FWtHs3nZyZlMBhRf1wvAC5CirnflbGJAY1xssSAnERLiiXQRH+wY2ptBVtXjX4gz4AA2EwRV57b038LmifRbA==", - "dev": true, - "requires": { - "@jest/environment": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.1.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.1.0", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "pretty-format": "^27.1.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-cli": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.1.0.tgz", - "integrity": "sha512-h6zPUOUu+6oLDrXz0yOWY2YXvBLk8gQinx4HbZ7SF4V3HzasQf+ncoIbKENUMwXyf54/6dBkYXvXJos+gOHYZw==", - "dev": true, - "requires": { - "@jest/core": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "jest-config": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", - "prompts": "^2.0.1", - "yargs": "^16.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-config": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.1.0.tgz", - "integrity": "sha512-GMo7f76vMYUA3b3xOdlcKeKQhKcBIgurjERO2hojo0eLkKPGcw7fyIoanH+m6KOP2bLad+fGnF8aWOJYxzNPeg==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^27.1.0", - "@jest/types": "^27.1.0", - "babel-jest": "^27.1.0", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "is-ci": "^3.0.0", - "jest-circus": "^27.1.0", - "jest-environment-jsdom": "^27.1.0", - "jest-environment-node": "^27.1.0", - "jest-get-type": "^27.0.6", - "jest-jasmine2": "^27.1.0", - "jest-regex-util": "^27.0.6", - "jest-resolve": "^27.1.0", - "jest-runner": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", - "micromatch": "^4.0.4", - "pretty-format": "^27.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-diff": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.1.0.tgz", - "integrity": "sha512-rjfopEYl58g/SZTsQFmspBODvMSytL16I+cirnScWTLkQVXYVZfxm78DFfdIIXc05RCYuGjxJqrdyG4PIFzcJg==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.0.6", - "jest-get-type": "^27.0.6", - "pretty-format": "^27.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-docblock": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.6.tgz", - "integrity": "sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.1.0.tgz", - "integrity": "sha512-K/cNvQlmDqQMRHF8CaQ0XPzCfjP5HMJc2bIJglrIqI9fjwpNqITle63IWE+wq4p+3v+iBgh7Wq0IdGpLx5xjDg==", - "dev": true, - "requires": { - "@jest/types": "^27.1.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.0.6", - "jest-util": "^27.1.0", - "pretty-format": "^27.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-jsdom": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.1.0.tgz", - "integrity": "sha512-JbwOcOxh/HOtsj56ljeXQCUJr3ivnaIlM45F5NBezFLVYdT91N5UofB1ux2B1CATsQiudcHdgTaeuqGXJqjJYQ==", - "dev": true, - "requires": { - "@jest/environment": "^27.1.0", - "@jest/fake-timers": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "jest-mock": "^27.1.0", - "jest-util": "^27.1.0", - "jsdom": "^16.6.0" - } - }, - "jest-environment-node": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.1.0.tgz", - "integrity": "sha512-JIyJ8H3wVyM4YCXp7njbjs0dIT87yhGlrXCXhDKNIg1OjurXr6X38yocnnbXvvNyqVTqSI4M9l+YfPKueqL1lw==", - "dev": true, - "requires": { - "@jest/environment": "^27.1.0", - "@jest/fake-timers": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "jest-mock": "^27.1.0", - "jest-util": "^27.1.0" - } - }, - "jest-get-type": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.6.tgz", - "integrity": "sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg==", - "dev": true - }, - "jest-haste-map": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.1.0.tgz", - "integrity": "sha512-7mz6LopSe+eA6cTFMf10OfLLqRoIPvmMyz5/OnSXnHO7hB0aDP1iIeLWCXzAcYU5eIJVpHr12Bk9yyq2fTW9vg==", - "dev": true, - "requires": { - "@jest/types": "^27.1.0", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^27.0.6", - "jest-serializer": "^27.0.6", - "jest-util": "^27.1.0", - "jest-worker": "^27.1.0", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.1.0.tgz", - "integrity": "sha512-Z/NIt0wBDg3przOW2FCWtYjMn3Ip68t0SL60agD/e67jlhTyV3PIF8IzT9ecwqFbeuUSO2OT8WeJgHcalDGFzQ==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^27.1.0", - "@jest/source-map": "^27.0.6", - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.1.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.1.0", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "pretty-format": "^27.1.0", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-leak-detector": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.1.0.tgz", - "integrity": "sha512-oHvSkz1E80VyeTKBvZNnw576qU+cVqRXUD3/wKXh1zpaki47Qty2xeHg2HKie9Hqcd2l4XwircgNOWb/NiGqdA==", - "dev": true, - "requires": { - "jest-get-type": "^27.0.6", - "pretty-format": "^27.1.0" - } - }, - "jest-matcher-utils": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.1.0.tgz", - "integrity": "sha512-VmAudus2P6Yt/JVBRdTPFhUzlIN8DYJd+et5Rd9QDsO/Z82Z4iwGjo43U8Z+PTiz8CBvKvlb6Fh3oKy39hykkQ==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.1.0", - "jest-get-type": "^27.0.6", - "pretty-format": "^27.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-message-util": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.1.0.tgz", - "integrity": "sha512-Eck8NFnJ5Sg36R9XguD65cf2D5+McC+NF5GIdEninoabcuoOfWrID5qJhufq5FB0DRKoiyxB61hS7MKoMD0trQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.1.0", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "pretty-format": "^27.1.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.1.0.tgz", - "integrity": "sha512-iT3/Yhu7DwAg/0HvvLCqLvrTKTRMyJlrrfJYWzuLSf9RCAxBoIXN3HoymZxMnYsC3eD8ewGbUa9jUknwBenx2w==", - "dev": true, - "requires": { - "@jest/types": "^27.1.0", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.6.tgz", - "integrity": "sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ==", - "dev": true - }, - "jest-resolve": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.1.0.tgz", - "integrity": "sha512-TXvzrLyPg0vLOwcWX38ZGYeEztSEmW+cQQKqc4HKDUwun31wsBXwotRlUz4/AYU/Fq4GhbMd/ileIWZEtcdmIA==", - "dev": true, - "requires": { - "@jest/types": "^27.1.0", - "chalk": "^4.0.0", - "escalade": "^3.1.1", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.1.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", - "resolve": "^1.20.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.1.0.tgz", - "integrity": "sha512-Kq5XuDAELuBnrERrjFYEzu/A+i2W7l9HnPWqZEeKGEQ7m1R+6ndMbdXCVCx29Se1qwLZLgvoXwinB3SPIaitMQ==", - "dev": true, - "requires": { - "@jest/types": "^27.1.0", - "jest-regex-util": "^27.0.6", - "jest-snapshot": "^27.1.0" - } - }, - "jest-runner": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.1.0.tgz", - "integrity": "sha512-ZWPKr9M5w5gDplz1KsJ6iRmQaDT/yyAFLf18fKbb/+BLWsR1sCNC2wMT0H7pP3gDcBz0qZ6aJraSYUNAGSJGaw==", - "dev": true, - "requires": { - "@jest/console": "^27.1.0", - "@jest/environment": "^27.1.0", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-docblock": "^27.0.6", - "jest-environment-jsdom": "^27.1.0", - "jest-environment-node": "^27.1.0", - "jest-haste-map": "^27.1.0", - "jest-leak-detector": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-resolve": "^27.1.0", - "jest-runtime": "^27.1.0", - "jest-util": "^27.1.0", - "jest-worker": "^27.1.0", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runtime": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.1.0.tgz", - "integrity": "sha512-okiR2cpGjY0RkWmUGGado6ETpFOi9oG3yV0CioYdoktkVxy5Hv0WRLWnJFuArSYS8cHMCNcceUUMGiIfgxCO9A==", - "dev": true, - "requires": { - "@jest/console": "^27.1.0", - "@jest/environment": "^27.1.0", - "@jest/fake-timers": "^27.1.0", - "@jest/globals": "^27.1.0", - "@jest/source-map": "^27.0.6", - "@jest/test-result": "^27.1.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-mock": "^27.1.0", - "jest-regex-util": "^27.0.6", - "jest-resolve": "^27.1.0", - "jest-snapshot": "^27.1.0", - "jest-util": "^27.1.0", - "jest-validate": "^27.1.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^16.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-serializer": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.6.tgz", - "integrity": "sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==", - "dev": true, - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - } - }, - "jest-snapshot": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.1.0.tgz", - "integrity": "sha512-eaeUBoEjuuRwmiRI51oTldUsKOohB1F6fPqWKKILuDi/CStxzp2IWekVUXbuHHoz5ik33ioJhshiHpgPFbYgcA==", - "dev": true, - "requires": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/parser": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.1.0", - "graceful-fs": "^4.2.4", - "jest-diff": "^27.1.0", - "jest-get-type": "^27.0.6", - "jest-haste-map": "^27.1.0", - "jest-matcher-utils": "^27.1.0", - "jest-message-util": "^27.1.0", - "jest-resolve": "^27.1.0", - "jest-util": "^27.1.0", - "natural-compare": "^1.4.0", - "pretty-format": "^27.1.0", - "semver": "^7.3.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-util": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.1.0.tgz", - "integrity": "sha512-edSLD2OneYDKC6gZM1yc+wY/877s/fuJNoM1k3sOEpzFyeptSmke3SLnk1dDHk9CgTA+58mnfx3ew3J11Kes/w==", - "dev": true, - "requires": { - "@jest/types": "^27.1.0", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^3.0.0", - "picomatch": "^2.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.1.0.tgz", - "integrity": "sha512-QiJ+4XuSuMsfPi9zvdO//IrSRSlG6ybJhOpuqYSsuuaABaNT84h0IoD6vvQhThBOKT+DIKvl5sTM0l6is9+SRA==", - "dev": true, - "requires": { - "@jest/types": "^27.1.0", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.0.6", - "leven": "^3.1.0", - "pretty-format": "^27.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watcher": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.1.0.tgz", - "integrity": "sha512-ivaWTrA46aHWdgPDgPypSHiNQjyKnLBpUIHeBaGg11U+pDzZpkffGlcB1l1a014phmG0mHgkOHtOgiqJQM6yKQ==", - "dev": true, - "requires": { - "@jest/test-result": "^27.1.0", - "@jest/types": "^27.1.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.1.0", - "string-length": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-worker": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.1.0.tgz", - "integrity": "sha512-mO4PHb2QWLn9yRXGp7rkvXLAYuxwhq1ZYUo0LoDhg8wqvv4QizP1ZWEJOeolgbEgAWZLIEU0wsku8J+lGWfBhg==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jimp": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.16.1.tgz", - "integrity": "sha512-+EKVxbR36Td7Hfd23wKGIeEyHbxShZDX6L8uJkgVW3ESA9GiTEPK08tG1XI2r/0w5Ch0HyJF5kPqF9K7EmGjaw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/custom": "^0.16.1", - "@jimp/plugins": "^0.16.1", - "@jimp/types": "^0.16.1", - "regenerator-runtime": "^0.13.3" - } - }, - "jpeg-js": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz", - "integrity": "sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw==", - "dev": true - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "js-sha512": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha512/-/js-sha512-0.8.0.tgz", - "integrity": "sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dev": true, - "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "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.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "dependencies": { - "acorn": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", - "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", - "dev": true - } - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsontoxml": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/jsontoxml/-/jsontoxml-1.0.1.tgz", - "integrity": "sha512-dtKGq0K8EWQBRqcAaePSgKR4Hyjfsz/LkurHSV3Cxk4H+h2fWDeaN2jzABz+ZmOJylgXS7FGeWmbZ6jgYUMdJQ==", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "jss": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss/-/jss-10.8.0.tgz", - "integrity": "sha512-6fAMLJrVQ8epM5ghghxWqCwRR0ZamP2cKbOAtzPudcCMSNdAqtvmzQvljUZYR8OXJIeb/IpZeOXA1sDXms4R1w==", - "requires": { - "@babel/runtime": "^7.3.1", - "csstype": "^3.0.2", - "is-in-browser": "^1.1.3", - "tiny-warning": "^1.0.2" - } - }, - "jss-plugin-camel-case": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.8.0.tgz", - "integrity": "sha512-yxlXrXwcCdGw+H4BC187dEu/RFyW8joMcWfj8Rk9UPgWTKu2Xh7Sib4iW3xXjHe/t5phOHF1rBsHleHykWix7g==", - "requires": { - "@babel/runtime": "^7.3.1", - "hyphenate-style-name": "^1.0.3", - "jss": "10.8.0" - } - }, - "jss-plugin-default-unit": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.8.0.tgz", - "integrity": "sha512-9XJV546cY9zV9OvIE/v/dOaxSi4062VfYQQfwbplRExcsU2a79Yn+qDz/4ciw6P4LV1Naq90U+OffAGRHfNq/Q==", - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.8.0" - } - }, - "jss-plugin-global": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.8.0.tgz", - "integrity": "sha512-H/8h/bHd4e7P0MpZ9zaUG8NQSB2ie9rWo/vcCP6bHVerbKLGzj+dsY22IY3+/FNRS8zDmUyqdZx3rD8k4nmH4w==", - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.8.0" - } - }, - "jss-plugin-nested": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.8.0.tgz", - "integrity": "sha512-MhmINZkSxyFILcFBuDoZmP1+wj9fik/b9SsjoaggkGjdvMQCES21mj4K5ZnRGVm448gIXyi9j/eZjtDzhaHUYQ==", - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.8.0", - "tiny-warning": "^1.0.2" - } - }, - "jss-plugin-props-sort": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.8.0.tgz", - "integrity": "sha512-VY+Wt5WX5GMsXDmd+Ts8+O16fpiCM81svbox++U3LDbJSM/g9FoMx3HPhwUiDfmgHL9jWdqEuvSl/JAk+mh6mQ==", - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.8.0" - } - }, - "jss-plugin-rule-value-function": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.8.0.tgz", - "integrity": "sha512-R8N8Ma6Oye1F9HroiUuHhVjpPsVq97uAh+rMI6XwKLqirIu2KFb5x33hPj+vNBMxSHc9jakhf5wG0BbQ7fSDOg==", - "requires": { - "@babel/runtime": "^7.3.1", - "jss": "10.8.0", - "tiny-warning": "^1.0.2" - } - }, - "jss-plugin-vendor-prefixer": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.8.0.tgz", - "integrity": "sha512-G1zD0J8dFwKZQ+GaZaay7A/Tg7lhDw0iEkJ/iFFA5UPuvZFpMprCMQttXcTBhLlhhWnyZ8YPn4yqp+amrhQekw==", - "requires": { - "@babel/runtime": "^7.3.1", - "css-vendor": "^2.0.8", - "jss": "10.8.0" - } - }, - "jsx-ast-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", - "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", - "dev": true, - "requires": { - "array-includes": "^3.1.2", - "object.assign": "^4.1.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "language-subtag-registry": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", - "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", - "dev": true - }, - "language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", - "dev": true, - "requires": { - "language-subtag-registry": "~0.3.2" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "libsodium": { - "version": "0.7.9", - "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.9.tgz", - "integrity": "sha512-gfeADtR4D/CM0oRUviKBViMGXZDgnFdMKMzHsvBdqLBHd9ySi6EtYnmuhHVDDYgYpAO8eU8hEY+F8vIUAPh08A==" - }, - "libsodium-wrappers": { - "version": "0.7.9", - "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.9.tgz", - "integrity": "sha512-9HaAeBGk1nKTRFRHkt7nzxqCvnkWTjn1pdjKgcUnZxj0FyOP4CnhgFhMdrFfgNsukijBGyBLpP2m2uKT1vuWhQ==", - "requires": { - "libsodium": "^0.7.0" - } - }, - "lilconfig": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", - "integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==", - "dev": true - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - }, - "load-bmfont": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", - "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", - "dev": true, - "requires": { - "buffer-equal": "0.0.1", - "mime": "^1.3.4", - "parse-bmfont-ascii": "^1.0.3", - "parse-bmfont-binary": "^1.0.5", - "parse-bmfont-xml": "^1.1.4", - "phin": "^2.9.1", - "xhr": "^2.0.1", - "xtend": "^4.0.0" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "dev": true - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "lodash.defaultsdeep": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", - "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "requires": { - "tslib": "^2.0.3" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "lz-string": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", - "dev": true - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "requires": { - "tmpl": "1.0.x" - } - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "mem": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz", - "integrity": "sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.3", - "mimic-fn": "^3.1.0" - }, - "dependencies": { - "mimic-fn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", - "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", - "dev": true - } - } - }, - "memfs": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.4.tgz", - "integrity": "sha512-2mDCPhuduRPOxlfgsXF9V+uqC6Jgz8zt/bNe4d4W7d5f6pCzHrWkxLNr17jKGXd4+j2kQNsAG2HARPnt74sqVQ==", - "dev": true, - "requires": { - "fs-monkey": "1.0.3" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", - "dev": true - }, - "mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", - "dev": true, - "requires": { - "mime-db": "1.49.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", - "dev": true - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "dev": true, - "requires": { - "dom-walk": "^0.1.0" - } - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true - }, - "mini-create-react-context": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", - "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", - "requires": { - "@babel/runtime": "^7.12.1", - "tiny-warning": "^1.0.3" - } - }, - "mini-css-extract-plugin": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.2.2.tgz", - "integrity": "sha512-eUjQ/q1rQIeHWgIx7ny/DNgXHcMXHdBwgrZQK7Ev8dbR+HxhroFM2Cb6kMiswOYaq05IRJhPuQqXWUABIjjA3g==", - "dev": true, - "requires": { - "schema-utils": "^3.1.0" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "nanoid": { - "version": "3.1.25", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", - "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", - "dev": true - }, - "napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node-abi": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", - "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", - "dev": true, - "requires": { - "semver": "^5.4.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", - "dev": true - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true - }, - "node-releases": { - "version": "1.1.75", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", - "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==" - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", - "dev": true, - "requires": { - "boolbase": "^1.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", - "dev": true - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz", - "integrity": "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" - } - }, - "object.fromentries": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz", - "integrity": "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" - } - }, - "object.values": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", - "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "omggif": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz", - "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/open/-/open-8.2.1.tgz", - "integrity": "sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ==", - "dev": true, - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "dev": true - }, - "p-event": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", - "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", - "dev": true, - "requires": { - "p-timeout": "^3.1.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - }, - "dependencies": { - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - } - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - }, - "p-retry": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", - "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", - "dev": true, - "requires": { - "@types/retry": "^0.12.0", - "retry": "^0.13.1" - } - }, - "p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dev": true, - "requires": { - "p-finally": "^1.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-bmfont-ascii": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", - "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=", - "dev": true - }, - "parse-bmfont-binary": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", - "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=", - "dev": true - }, - "parse-bmfont-xml": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz", - "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==", - "dev": true, - "requires": { - "xml-parse-from-string": "^1.0.0", - "xml2js": "^0.4.5" - } - }, - "parse-headers": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz", - "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==", - "dev": true - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse-png": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/parse-png/-/parse-png-1.1.2.tgz", - "integrity": "sha1-9cKtfHmTSQmGAgooTBmu5FlxH/I=", - "dev": true, - "requires": { - "pngjs": "^3.2.0" - } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "phin": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", - "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==", - "dev": true - }, - "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "requires": { - "node-modules-regexp": "^1.0.0" - } - }, - "pixelmatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", - "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", - "dev": true, - "requires": { - "pngjs": "^3.0.0" - } - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, - "pngjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", - "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", - "dev": true - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "postcss": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", - "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", - "dev": true, - "requires": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", - "source-map-js": "^0.6.2" - } - }, - "postcss-calc": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", - "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "postcss-colormin": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz", - "integrity": "sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-convert-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz", - "integrity": "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-discard-comments": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", - "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", - "dev": true, - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", - "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", - "dev": true, - "requires": {} - }, - "postcss-discard-empty": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", - "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", - "dev": true, - "requires": {} - }, - "postcss-discard-overridden": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", - "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", - "dev": true, - "requires": {} - }, - "postcss-merge-longhand": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz", - "integrity": "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==", - "dev": true, - "requires": { - "css-color-names": "^1.0.1", - "postcss-value-parser": "^4.1.0", - "stylehacks": "^5.0.1" - } - }, - "postcss-merge-rules": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz", - "integrity": "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^2.0.1", - "postcss-selector-parser": "^6.0.5", - "vendors": "^1.0.3" - } - }, - "postcss-minify-font-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", - "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-minify-gradients": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz", - "integrity": "sha512-7Do9JP+wqSD6Prittitt2zDLrfzP9pqKs2EcLX7HJYxsxCOwrrcLt4x/ctQTsiOw+/8HYotAoqNkrzItL19SdQ==", - "dev": true, - "requires": { - "colord": "^2.6", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-minify-params": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", - "integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "browserslist": "^4.16.0", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0", - "uniqs": "^2.0.0" - } - }, - "postcss-minify-selectors": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", - "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-normalize-charset": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", - "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", - "dev": true, - "requires": {} - }, - "postcss-normalize-display-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", - "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", - "dev": true, - "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-positions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", - "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", - "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", - "dev": true, - "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-string": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", - "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", - "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", - "dev": true, - "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-unicode": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", - "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", - "dev": true, - "requires": { - "browserslist": "^4.16.0", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-url": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz", - "integrity": "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==", - "dev": true, - "requires": { - "is-absolute-url": "^3.0.3", - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-whitespace": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", - "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-ordered-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", - "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", - "dev": true, - "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-reduce-initial": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", - "integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", - "dev": true, - "requires": { - "browserslist": "^4.16.0", - "caniuse-api": "^3.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", - "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", - "dev": true, - "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz", - "integrity": "sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0", - "svgo": "^2.3.0" - } - }, - "postcss-unique-selectors": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", - "integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5", - "uniqs": "^2.0.0" - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "prebuild-install": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz", - "integrity": "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==", - "dev": true, - "requires": { - "detect-libc": "^1.0.3", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^2.21.0", - "npmlog": "^4.0.1", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^3.0.3", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", - "dev": true - }, - "prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "requires": { - "fast-diff": "^1.1.2" - } - }, - "pretty-error": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-3.0.4.tgz", - "integrity": "sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ==", - "dev": true, - "requires": { - "lodash": "^4.17.20", - "renderkid": "^2.0.6" - } - }, - "pretty-format": { - "version": "27.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.1.0.tgz", - "integrity": "sha512-4aGaud3w3rxAO6OXmK3fwBFQ0bctIOG3/if+jYEFGNGIs0EvuidQm3bZ9mlP2/t9epLNC/12czabfy7TZNSwVA==", - "dev": true, - "requires": { - "@jest/types": "^27.1.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "prompts": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", - "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - } - } - }, - "protobufjs": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.2.tgz", - "integrity": "sha512-27yj+04uF6ya9l+qfpH187aqEzfCF4+Uit0I9ZBQVqK09hk/SQzKa2MUqUpXaVa7LOFRg1TSSr3lVxGOk6c0SQ==", - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": "^13.7.0", - "long": "^4.0.0" - }, - "dependencies": { - "@types/node": { - "version": "13.13.52", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz", - "integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==" - } - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - } - } - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "queue": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.1.tgz", - "integrity": "sha512-AJBQabRCCNr9ANq8v77RJEv73DPbn55cdTb+Giq4X0AVnNVZvMHlYp7XlQiN+1npCZj1DuSmaA2hYVUUDgxFDg==", - "dev": true, - "requires": { - "inherits": "~2.0.3" - } - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - } - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - } - } - }, - "react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - } - }, - "react-google-charts": { - "version": "3.0.15", - "resolved": "https://registry.npmjs.org/react-google-charts/-/react-google-charts-3.0.15.tgz", - "integrity": "sha512-78s5xOQOJvL+jIewrWQZEHtlVk+5Yh4zZy+ODA1on1o1FaRjKWXxoo4n4JQl1XuqkF/A9NWque3KqM6pMggjzQ==", - "requires": { - "react-load-script": "^0.0.6" - } - }, - "react-identicons": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/react-identicons/-/react-identicons-1.2.5.tgz", - "integrity": "sha512-x7prkDoc2pD7wSl2C1pGxS+XAoSdq1ABWJWTBUimVTDVJArKOLd0B4wRUJpDm4r+9y7pgf8ylyPGsmlWSV5n2g==", - "requires": {} - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "react-load-script": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/react-load-script/-/react-load-script-0.0.6.tgz", - "integrity": "sha512-aRGxDGP9VoLxcsaYvKWIW+LRrMOzz2eEcubTS4NvQPPugjk2VvMhow0wWTkSl7RxookomD1MwcP4l5UStg5ShQ==", - "requires": {} - }, - "react-refresh": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.10.0.tgz", - "integrity": "sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ==", - "dev": true - }, - "react-refresh-typescript": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/react-refresh-typescript/-/react-refresh-typescript-2.0.2.tgz", - "integrity": "sha512-Gevwf67IgOFZW2ub/tZ8gmcXawWnhMuoFjCW85v4LcOzMgD2PMrH2zkr3sie2Y2bvLp/7tpRdhbG0yshxlJYHw==", - "dev": true, - "requires": {} - }, - "react-router": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.1.tgz", - "integrity": "sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==", - "requires": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "mini-create-react-context": "^0.4.0", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "requires": { - "isarray": "0.0.1" - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - } - } - }, - "react-router-dom": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz", - "integrity": "sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==", - "requires": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.2.1", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - } - }, - "react-simple-maps": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/react-simple-maps/-/react-simple-maps-2.3.0.tgz", - "integrity": "sha512-IZVeiPSRZKwD6I/2NvXpQ2uENYGDGZp8DvZjkapcxuJ/LQHTfl+Byb+KNgY7s+iatRA2ad8LnZ3AgqcjziCCsw==", - "requires": { - "d3-geo": "^2.0.1", - "d3-selection": "^2.0.0", - "d3-zoom": "^2.0.0", - "topojson-client": "^3.1.0" - }, - "dependencies": { - "d3-array": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", - "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", - "requires": { - "internmap": "^1.0.0" - } - }, - "d3-geo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-2.0.2.tgz", - "integrity": "sha512-8pM1WGMLGFuhq9S+FpPURxic+gKzjluCD/CHTuUF3mXMeiCo0i6R0tO1s4+GArRFde96SLcW/kOFRjoAosPsFA==", - "requires": { - "d3-array": "^2.5.0" - } - }, - "internmap": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", - "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" - } - } - }, - "react-tooltip": { - "version": "4.2.21", - "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-4.2.21.tgz", - "integrity": "sha512-zSLprMymBDowknr0KVDiJ05IjZn9mQhhg4PRsqln0OZtURAJ1snt1xi5daZfagsh6vfsziZrc9pErPTDY1ACig==", - "requires": { - "prop-types": "^15.7.2", - "uuid": "^7.0.3" - }, - "dependencies": { - "uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" - } - } - }, - "react-transition-group": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", - "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", - "requires": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - } - }, - "read-chunk": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-1.0.1.tgz", - "integrity": "sha1-X2jKswfmY/GZk1J9m1icrORmEZQ=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "dependencies": { - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "readonly-date": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/readonly-date/-/readonly-date-1.0.0.tgz", - "integrity": "sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ==" - }, - "rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "requires": { - "resolve": "^1.9.0" - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, - "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "renderkid": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", - "dev": true, - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "replace-ext": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", - "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", - "dev": true - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "reselect": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.2.tgz", - "integrity": "sha512-wg60ebcPOtxcptIUfrr7Jt3h4BR86cCW3R7y4qt65lnNb4yz4QgrXcbSioVsIOYguyz42+XTHIyJ5TEruzkFgQ==" - }, - "resize-img": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/resize-img/-/resize-img-1.1.2.tgz", - "integrity": "sha1-+tZQ+vPvLFPqYxErwnLZXp2SVQ4=", - "dev": true, - "requires": { - "bmp-js": "0.0.1", - "file-type": "^3.8.0", - "get-stream": "^2.0.0", - "jimp": "^0.2.21", - "jpeg-js": "^0.1.1", - "parse-png": "^1.1.1" - }, - "dependencies": { - "bmp-js": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.0.1.tgz", - "integrity": "sha1-WtAUcJnROp84qnuZrx1ueGZu038=", - "dev": true - }, - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": true - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "jimp": { - "version": "0.2.28", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.2.28.tgz", - "integrity": "sha1-3VKak3GQ9ClXp5N9Gsw6d2KZbqI=", - "dev": true, - "requires": { - "bignumber.js": "^2.1.0", - "bmp-js": "0.0.3", - "es6-promise": "^3.0.2", - "exif-parser": "^0.1.9", - "file-type": "^3.1.0", - "jpeg-js": "^0.2.0", - "load-bmfont": "^1.2.3", - "mime": "^1.3.4", - "mkdirp": "0.5.1", - "pixelmatch": "^4.0.0", - "pngjs": "^3.0.0", - "read-chunk": "^1.0.1", - "request": "^2.65.0", - "stream-to-buffer": "^0.1.0", - "tinycolor2": "^1.1.2", - "url-regex": "^3.0.0" - }, - "dependencies": { - "bmp-js": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.0.3.tgz", - "integrity": "sha1-ZBE+nHzxICs3btYHvzBibr5XsYo=", - "dev": true - }, - "jpeg-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.2.0.tgz", - "integrity": "sha1-U+RI7J0mPmgyZkZ+lELSxaLvVII=", - "dev": true - } - } - }, - "jpeg-js": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.1.2.tgz", - "integrity": "sha1-E1uZLAV1yYXPoPSUoyJ+0jhYPs4=", - "dev": true - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - } - } - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, - "scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", - "dev": true, - "requires": { - "node-forge": "^0.10.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "sharp": { - "version": "0.28.3", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.28.3.tgz", - "integrity": "sha512-21GEP45Rmr7q2qcmdnjDkNP04Ooh5v0laGS5FDpojOO84D1DJwUijLiSq8XNNM6e8aGXYtoYRh3sVNdm8NodMA==", - "dev": true, - "requires": { - "color": "^3.1.3", - "detect-libc": "^1.0.3", - "node-addon-api": "^3.2.0", - "prebuild-install": "^6.1.2", - "semver": "^7.3.5", - "simple-get": "^3.1.0", - "tar-fs": "^2.1.1", - "tunnel-agent": "^0.6.0" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true - }, - "simple-get": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", - "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", - "dev": true, - "requires": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true - } - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } - } - }, - "sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", - "dev": true, - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", - "websocket-driver": "^0.7.4" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", - "dev": true - }, - "source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz", - "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==", - "dev": true - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", - "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", - "dev": true - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "stream-to": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stream-to/-/stream-to-0.2.2.tgz", - "integrity": "sha1-hDBgmNhf25kLn6MAsbPM9V6O8B0=", - "dev": true - }, - "stream-to-buffer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz", - "integrity": "sha1-JnmdkDqyAlyb1VCsRxcbAPjdgKk=", - "dev": true, - "requires": { - "stream-to": "~0.2.0" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - } - } - }, - "string.prototype.matchall": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz", - "integrity": "sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.2", - "get-intrinsic": "^1.1.1", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.3.1", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "requires": { - "min-indent": "^1.0.0" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "style-loader": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.2.1.tgz", - "integrity": "sha512-1k9ZosJCRFaRbY6hH49JFlRB0fVSbmnyq1iTPjNxUmGVjBNEmwrrHPenhlp+Lgo51BojHSf6pl2FcqYaN3PfVg==", - "dev": true, - "requires": {} - }, - "stylehacks": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", - "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", - "dev": true, - "requires": { - "browserslist": "^4.16.0", - "postcss-selector-parser": "^6.0.4" - } - }, - "stylis": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.10.tgz", - "integrity": "sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "svgo": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.5.0.tgz", - "integrity": "sha512-FSdBOOo271VyF/qZnOn1PgwCdt1v4Dx0Sey+U1jgqm1vqRYjPGdip0RGrFW6ItwtkBB8rHgHk26dlVr0uCs82Q==", - "dev": true, - "requires": { - "@trysound/sax": "0.1.1", - "colorette": "^1.3.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "stable": "^0.1.8" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - } - } - }, - "symbol-observable": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-2.0.3.tgz", - "integrity": "sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==" - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "table": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", - "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.3.tgz", - "integrity": "sha512-eDbuaDlXhVaaoKuLD3DTNTozKqln6xOG6Us0SzlKG5tNlazG+/cdl8pm9qiF1Di89iWScTI0HcO+CDcf2dkXiw==", - "dev": true, - "requires": { - "jest-worker": "^27.0.6", - "p-limit": "^3.1.0", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "terser": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz", - "integrity": "sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - } - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "requires": { - "readable-stream": "3" - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "timm": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", - "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==", - "dev": true - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "tiny-invariant": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", - "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" - }, - "tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "tinycolor2": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", - "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==", - "dev": true - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, - "to-ico": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/to-ico/-/to-ico-1.1.5.tgz", - "integrity": "sha512-5kIh7m7bkIlqIESEZkL8gAMMzucXKfPe3hX2FoDY5HEAfD9OJU+Qh9b6Enp74w0qRcxVT5ejss66PHKqc3AVkg==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "buffer-alloc": "^1.1.0", - "image-size": "^0.5.0", - "parse-png": "^1.0.0", - "resize-img": "^1.1.0" - }, - "dependencies": { - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", - "dev": true - } - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true - }, - "topojson-client": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", - "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", - "requires": { - "commander": "2" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - } - } - }, - "tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - }, - "dependencies": { - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "ts-jest": { - "version": "27.0.5", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.0.5.tgz", - "integrity": "sha512-lIJApzfTaSSbtlksfFNHkWOzLJuuSm4faFAfo5kvzOiRAuoN4/eKxVJ2zEAho8aecE04qX6K1pAzfH5QHL1/8w==", - "dev": true, - "requires": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^27.0.0", - "json5": "2.x", - "lodash": "4.x", - "make-error": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "ts-loader": { - "version": "9.2.5", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.5.tgz", - "integrity": "sha512-al/ATFEffybdRMUIr5zMEWQdVnCGMUA9d3fXJ8dBVvBlzytPvIszoG9kZoR+94k6/i293RnVOXwMaWbXhNy9pQ==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "tsconfig-paths": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz", - "integrity": "sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "tsconfig-paths-webpack-plugin": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.5.1.tgz", - "integrity": "sha512-n5CMlUUj+N5pjBhBACLq4jdr9cPTitySCjIosoQm0zwK99gmrcTGAfY9CwxRFT9+9OleNWXPRUcxsKP4AYExxQ==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.7.0", - "tsconfig-paths": "^3.9.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz", - "integrity": "sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==", - "dev": true - }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-regex": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", - "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=", - "dev": true, - "requires": { - "ip-regex": "^1.0.1" - }, - "dependencies": { - "ip-regex": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", - "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=", - "dev": true - } - } - }, - "utif": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz", - "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", - "dev": true, - "requires": { - "pako": "^1.0.5" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "v8-to-istanbul": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz", - "integrity": "sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - } - } - }, - "vinyl": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", - "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", - "dev": true, - "requires": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - } - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "requires": { - "makeerror": "1.0.x" - } - }, - "watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true - }, - "webpack": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.52.0.tgz", - "integrity": "sha512-yRZOat8jWGwBwHpco3uKQhVU7HYaNunZiJ4AkAVQkPCUGoZk/tiIXiwG+8HIy/F+qsiZvSOa+GLQOj3q5RKRYg==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.7.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.2.0", - "webpack-sources": "^3.2.0" - }, - "dependencies": { - "acorn": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", - "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", - "dev": true - }, - "acorn-import-assertions": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz", - "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==", - "dev": true, - "requires": {} - }, - "tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", - "dev": true - } - } - }, - "webpack-cli": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.8.0.tgz", - "integrity": "sha512-+iBSWsX16uVna5aAYN6/wjhJy1q/GKk4KjKvfg90/6hykCTSgozbfz5iRgDTSJt/LgSbYxdBX3KBHeobIs+ZEw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.0.4", - "@webpack-cli/info": "^1.3.0", - "@webpack-cli/serve": "^1.5.2", - "colorette": "^1.2.1", - "commander": "^7.0.0", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "v8-compile-cache": "^2.2.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - } - } - }, - "webpack-dev-middleware": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.0.0.tgz", - "integrity": "sha512-9zng2Z60pm6A98YoRcA0wSxw1EYn7B7y5owX/Tckyt9KGyULTkLtiavjaXlWqOMkM0YtqGgL3PvMOFgyFLq8vw==", - "dev": true, - "requires": { - "colorette": "^1.2.2", - "mem": "^8.1.1", - "memfs": "^3.2.2", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^3.0.0" - } - }, - "webpack-dev-server": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.1.1.tgz", - "integrity": "sha512-Kl1mnCEw8Cy1Kw173gCxLIB242LfPKEOj9WoKhKz/MbryZTNrILzOJTk8kiczw/YUEPzn3gcltCQv6hDsLudRg==", - "dev": true, - "requires": { - "ansi-html-community": "^0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^3.5.1", - "colorette": "^1.2.2", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "del": "^6.0.0", - "express": "^4.17.1", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.0", - "internal-ip": "^6.2.0", - "ipaddr.js": "^2.0.1", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "portfinder": "^1.0.28", - "schema-utils": "^3.1.0", - "selfsigned": "^1.10.11", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "spdy": "^4.0.2", - "strip-ansi": "^7.0.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^5.0.0", - "ws": "^8.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.0.tgz", - "integrity": "sha512-tAaOSrWCHF+1Ear1Z4wnJCXA9GGox4K6Ic85a5qalES2aeEwQGr7UC93mwef49536PkCYjzkp0zIxfFvexJ6zQ==", - "dev": true - }, - "del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "dev": true, - "requires": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - } - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "strip-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.0.tgz", - "integrity": "sha512-UhDTSnGF1dc0DRbUqr1aXwNoY3RgVkSWG8BrpnuFIxhP57IqbS7IRta2Gfiavds4yCxc5+fEAVVOgBZWnYkvzg==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.0" - } - }, - "ws": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.1.tgz", - "integrity": "sha512-XkgWpJU3sHU7gX8f13NqTn6KQ85bd1WU7noBHTT8fSohx7OS1TPY8k+cyRPCzFkia7C4mM229yeHr1qK9sM4JQ==", - "dev": true, - "requires": {} - } - } - }, - "webpack-favicons": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/webpack-favicons/-/webpack-favicons-1.0.7.tgz", - "integrity": "sha512-tOV4fp9MTLQbSuBDYvMpGzueHQRu0/nyr+jUUMTPstZVkV5QfW8pkN1fW7cnKfD2cZ06foTlnilheTw0Vu8zBg==", - "dev": true, - "requires": { - "favicons": "^6.2.0" - } - }, - "webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==", - "dev": true - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz", - "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==", - "requires": {} - }, - "xhr": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", - "dev": true, - "requires": { - "global": "~4.4.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "xml-parse-from-string": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", - "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=", - "dev": true - }, - "xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "dev": true, - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "xstream": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/xstream/-/xstream-11.14.0.tgz", - "integrity": "sha512-1bLb+kKKtKPbgTK6i/BaoAn03g47PpFstlbe1BA+y3pNS/LfvcaghS5BFf9+EE1J+KwSQsEpfJvFN5GqFtiNmw==", - "requires": { - "globalthis": "^1.0.1", - "symbol-observable": "^2.0.3" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - }, - "yaml-loader": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.6.0.tgz", - "integrity": "sha512-1bNiLelumURyj+zvVHOv8Y3dpCri0F2S+DCcmps0pA1zWRLjS+FhZQg4o3aUUDYESh73+pKZNI18bj7stpReow==", - "dev": true, - "requires": { - "loader-utils": "^1.4.0", - "yaml": "^1.8.3" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } - } -} diff --git a/explorer/package.json b/explorer/package.json index 3aae65e255..053022471d 100644 --- a/explorer/package.json +++ b/explorer/package.json @@ -12,20 +12,27 @@ "@mui/styles": "^5.0.1", "@mui/system": "^5.0.1", "@mui/x-data-grid": "^5.0.0-beta.5", + "@nymproject/mui-theme": "^1.0.0", "@nymproject/nym-validator-client": "^0.18.0", + "@nymproject/react": "^1.0.0", "d3-scale": "^4.0.0", "date-fns": "^2.24.0", "i18n-iso-countries": "^6.8.0", "react": "^17.0.2", "react-dom": "^17.0.2", + "react-error-boundary": "^3.1.4", "react-google-charts": "^3.0.15", "react-identicons": "^1.2.5", + "react-router": "^5.2.1", "react-router-dom": "^5.3.0", "react-simple-maps": "^2.3.0", - "react-tooltip": "^4.2.21" + "react-tooltip": "^4.2.21", + "use-clipboard-copy": "^0.2.0" }, "devDependencies": { - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.0-rc.3", + "@nymproject/eslint-config-react-typescript": "^1.0.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.4", + "@svgr/webpack": "^6.1.1", "@testing-library/jest-dom": "^5.14.1", "@testing-library/react": "^12.0.0", "@types/d3-fetch": "^3.0.1", @@ -36,32 +43,36 @@ "@types/node": "^16.7.13", "@types/react": "^17.0.34", "@types/react-dom": "^17.0.9", + "@types/react-router": "^5.1.18", "@types/react-router-dom": "^5.1.8", "@types/react-simple-maps": "^1.0.6", "@types/react-tooltip": "^4.2.4", "@types/topojson-client": "^3.1.0", - "@typescript-eslint/eslint-plugin": "4.31.0", - "@typescript-eslint/parser": "4.31.0", + "@typescript-eslint/eslint-plugin": "^5.13.0", + "@typescript-eslint/parser": "^5.13.0", + "babel-loader": "^8.2.2", "babel-plugin-root-import": "^6.6.0", "clean-webpack-plugin": "^4.0.0", "css-loader": "^6.2.0", "css-minimizer-webpack-plugin": "^3.0.2", "dotenv-webpack": "^7.0.3", - "eslint": "7.32.0", - "eslint-config-airbnb": "18.2.1", - "eslint-config-prettier": "8.3.0", - "eslint-import-resolver-root-import": "1.0.4", - "eslint-plugin-import": "2.24.2", - "eslint-plugin-jest": "^24.4.0", - "eslint-plugin-jsx-a11y": "6.4.1", - "eslint-plugin-prettier": "4.0.0", - "eslint-plugin-react": "7.25.1", - "eslint-plugin-react-hooks": "4.2.0", - "fork-ts-checker-webpack-plugin": "^6.3.3", + "eslint": "^8.10.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-airbnb-typescript": "^16.1.0", + "eslint-config-prettier": "^8.5.0", + "eslint-import-resolver-root-import": "^1.0.4", + "eslint-plugin-import": "^2.25.4", + "eslint-plugin-jest": "^26.1.1", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-prettier": "^4.0.0", + "eslint-plugin-react": "^7.29.2", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-storybook": "^0.5.7", + "favicons-webpack-plugin": "^5.0.2", + "file-loader": "^6.2.0", + "fork-ts-checker-webpack-plugin": "^7.2.1", "html-webpack-plugin": "^5.3.2", - "imports-loader": "^3.0.0", "jest": "^27.1.0", - "loader-utils": "^2.0.0", "mini-css-extract-plugin": "^2.2.2", "prettier": "2.3.2", "react-refresh": "^0.10.0", @@ -69,14 +80,14 @@ "style-loader": "^3.2.1", "ts-jest": "^27.0.5", "ts-loader": "^9.2.5", - "tsconfig-paths-webpack-plugin": "^3.5.1", - "typescript": "^4.4.2", - "webpack": "^5.52.0", + "tsconfig-paths-webpack-plugin": "^3.5.2", + "typescript": "^4.6.2", + "url-loader": "^4.1.1", + "webpack": "^5.64.3", "webpack-cli": "^4.8.0", - "webpack-dev-server": "^4.1.0", - "webpack-favicons": "^1.0.7", - "webpack-merge": "^5.8.0", - "yaml-loader": "^0.6.0" + "webpack-dev-server": "^4.5.0", + "webpack-favicons": "^1.3.8", + "webpack-merge": "^5.8.0" }, "scripts": { "start": "webpack serve --progress --port 3000", diff --git a/explorer/src/api/constants.ts b/explorer/src/api/constants.ts index 0dc59790da..5cff9cc000 100644 --- a/explorer/src/api/constants.ts +++ b/explorer/src/api/constants.ts @@ -15,7 +15,6 @@ export const COUNTRY_DATA_API = `${API_BASE_URL}/countries`; export const UPTIME_STORY_API = `${VALIDATOR_API_BASE_URL}/api/v1/status/mixnode`; // add ID then '/history' to this. // errors -export const MIXNODE_API_ERROR = - "We're having trouble finding that record, please try again or Contact Us."; +export const MIXNODE_API_ERROR = "We're having trouble finding that record, please try again or Contact Us."; export const NYM_WEBSITE = 'https://nymtech.net'; diff --git a/explorer/src/api/index.ts b/explorer/src/api/index.ts index 43c2b52fa8..d0949d1796 100644 --- a/explorer/src/api/index.ts +++ b/explorer/src/api/index.ts @@ -63,9 +63,7 @@ export class Api { return json; }; - static fetchMixnodesActiveSetByStatus = async ( - status: MixnodeStatus, - ): Promise => { + static fetchMixnodesActiveSetByStatus = async (status: MixnodeStatus): Promise => { const cachedMixnodes = getFromCache(`mixnodes-${status}`); if (cachedMixnodes) { return cachedMixnodes; @@ -76,9 +74,7 @@ export class Api { return json; }; - static fetchMixnodeByID = async ( - id: string, - ): Promise => { + static fetchMixnodeByID = async (id: string): Promise => { const response = await fetch(`${MIXNODE_API}/${id}`); // when the mixnode is not found, returned undefined @@ -117,24 +113,17 @@ export class Api { return result; }; - static fetchDelegationsById = async ( - id: string, - ): Promise => + static fetchDelegationsById = async (id: string): Promise => (await fetch(`${MIXNODE_API}/${id}/delegations`)).json(); static fetchStatsById = async (id: string): Promise => (await fetch(`${MIXNODE_API}/${id}/stats`)).json(); - static fetchMixnodeDescriptionById = async ( - id: string, - ): Promise => + static fetchMixnodeDescriptionById = async (id: string): Promise => (await fetch(`${MIXNODE_API}/${id}/description`)).json(); - static fetchStatusById = async (id: string): Promise => - (await fetch(`${MIXNODE_PING}/${id}`)).json(); + static fetchStatusById = async (id: string): Promise => (await fetch(`${MIXNODE_PING}/${id}`)).json(); - static fetchUptimeStoryById = async ( - id: string, - ): Promise => + static fetchUptimeStoryById = async (id: string): Promise => (await fetch(`${UPTIME_STORY_API}/${id}/history`)).json(); } diff --git a/explorer/src/components/ContentCard.tsx b/explorer/src/components/ContentCard.tsx index e1e7cf1407..bbe816429a 100644 --- a/explorer/src/components/ContentCard.tsx +++ b/explorer/src/components/ContentCard.tsx @@ -20,14 +20,7 @@ export const ContentCard: React.FC = ({ onClick, }) => ( - {title && ( - - )} + {title && } {children && {children}} {errorMsg && ( diff --git a/explorer/src/components/CustomColumnHeading.tsx b/explorer/src/components/CustomColumnHeading.tsx index 00836a2d54..834c2aac2d 100644 --- a/explorer/src/components/CustomColumnHeading.tsx +++ b/explorer/src/components/CustomColumnHeading.tsx @@ -2,9 +2,7 @@ import * as React from 'react'; import { Box, Typography } from '@mui/material'; import { ExpandLess, ExpandMore } from '@mui/icons-material'; -export const CustomColumnHeading: React.FC<{ headingTitle: string }> = ({ - headingTitle, -}) => { +export const CustomColumnHeading: React.FC<{ headingTitle: string }> = ({ headingTitle }) => { const [filter, toggleFilter] = React.useState(false); const handleClick = () => { diff --git a/explorer/src/components/DetailTable.tsx b/explorer/src/components/DetailTable.tsx index 8753c3ec07..9dc7d34c74 100644 --- a/explorer/src/components/DetailTable.tsx +++ b/explorer/src/components/DetailTable.tsx @@ -1,13 +1,7 @@ import * as React from 'react'; -import { - Paper, - Table, - TableBody, - TableCell, - TableContainer, - TableHead, - TableRow, -} from '@mui/material'; +import { Paper, Table, TableBody, TableCell, TableContainer, TableHead, TableRow } from '@mui/material'; +import { CopyToClipboard } from '@nymproject/react'; +import { Box } from '@mui/system'; import { cellStyles } from './Universal-DataGrid'; import { currencyToString } from '../utils/currency'; import { MixnodeRowType } from './MixNodes'; @@ -27,6 +21,18 @@ export interface UniversalTableProps { } function formatCellValues(val: string | number, field: string) { + if (field === 'identity_key' && typeof val === 'string') { + return ( + + + {val} + + ); + } if (field === 'bond') { return currencyToString(val.toString()); } @@ -51,10 +57,7 @@ export const DetailTable: React.FC<{ {rows.map((eachRow) => ( - + {columnsData?.map((_, index) => ( - {formatCellValues( - eachRow[columnsData[index].field], - columnsData[index].field, - )} + {formatCellValues(eachRow[columnsData[index].field], columnsData[index].field)} ))} diff --git a/explorer/src/components/Footer.tsx b/explorer/src/components/Footer.tsx index 60a84d1cd1..1696def9ee 100644 --- a/explorer/src/components/Footer.tsx +++ b/explorer/src/components/Footer.tsx @@ -39,7 +39,7 @@ export const Footer: React.FC = () => { sx={{ fontSize: 12, textAlign: isMobile ? 'center' : 'end', - color: theme.palette.nym.text.footer, + color: theme.palette.nym.muted.onDarkBg, }} > © {new Date().getFullYear()} Nym Technologies SA, all rights reserved diff --git a/explorer/src/components/Gateways.tsx b/explorer/src/components/Gateways.ts similarity index 80% rename from explorer/src/components/Gateways.tsx rename to explorer/src/components/Gateways.ts index 8a004285d1..9f05ff51b0 100644 --- a/explorer/src/components/Gateways.tsx +++ b/explorer/src/components/Gateways.ts @@ -1,4 +1,3 @@ -import * as React from 'react'; import { GatewayResponse } from '../typeDefs/explorer-api'; export type GatewayRowType = { @@ -10,9 +9,7 @@ export type GatewayRowType = { location: string; }; -export function gatewayToGridRow( - arrayOfGateways: GatewayResponse, -): GatewayRowType[] { +export function gatewayToGridRow(arrayOfGateways: GatewayResponse): GatewayRowType[] { return !arrayOfGateways ? [] : arrayOfGateways.map((gw) => ({ diff --git a/explorer/src/components/Icons.tsx b/explorer/src/components/Icons.ts similarity index 60% rename from explorer/src/components/Icons.tsx rename to explorer/src/components/Icons.ts index 5ba3c23c1b..88761b9d21 100644 --- a/explorer/src/components/Icons.tsx +++ b/explorer/src/components/Icons.ts @@ -1,15 +1,14 @@ -import * as React from 'react'; import CheckCircleOutlineIcon from '@mui/icons-material/CheckCircleOutline'; import PauseCircleOutlineIcon from '@mui/icons-material/PauseCircleOutline'; import CircleOutlinedIcon from '@mui/icons-material/CircleOutlined'; import { MixnodeStatus } from '../typeDefs/explorer-api'; export const Icons = { - mixnodes: { - status: { - active: CheckCircleOutlineIcon, - standby: PauseCircleOutlineIcon, - inactive: CircleOutlinedIcon, + Mixnodes: { + Status: { + Active: CheckCircleOutlineIcon, + Standby: PauseCircleOutlineIcon, + Inactive: CircleOutlinedIcon, }, }, }; @@ -18,12 +17,12 @@ export const getMixNodeIcon = (value: any) => { if (value && typeof value === 'string') { switch (value) { case MixnodeStatus.active: - return Icons.mixnodes.status.active; + return Icons.Mixnodes.Status.Active; case MixnodeStatus.standby: - return Icons.mixnodes.status.standby; + return Icons.Mixnodes.Status.Standby; default: - return Icons.mixnodes.status.inactive; + return Icons.Mixnodes.Status.Inactive; } } - return Icons.mixnodes.status.inactive; + return Icons.Mixnodes.Status.Inactive; }; diff --git a/explorer/src/components/MixNodes/BondBreakdown.tsx b/explorer/src/components/MixNodes/BondBreakdown.tsx index 186ad2ab59..4332b182e1 100644 --- a/explorer/src/components/MixNodes/BondBreakdown.tsx +++ b/explorer/src/components/MixNodes/BondBreakdown.tsx @@ -14,8 +14,7 @@ import { useMixnodeContext } from '../../context/mixnode'; export const BondBreakdownTable: React.FC = () => { const { mixNode, delegations } = useMixnodeContext(); - const [showDelegations, toggleShowDelegations] = - React.useState(false); + const [showDelegations, toggleShowDelegations] = React.useState(false); const [bonds, setBonds] = React.useState({ delegations: '0', @@ -43,9 +42,7 @@ export const BondBreakdownTable: React.FC = () => { // bonds total (del + pledges) const pledgesSum = Number(mixNode.data.pledge_amount.amount); const delegationsSum = Number(mixNode.data.total_delegation.amount); - const bondsTotal = currencyToString( - (delegationsSum + pledgesSum).toString(), - ); + const bondsTotal = currencyToString((delegationsSum + pledgesSum).toString()); setBonds({ delegations: decimalisedDelegations, @@ -79,116 +76,95 @@ export const BondBreakdownTable: React.FC = () => { return Mixnode not found; } if (delegations?.error) { - return ( - Unable to get delegations for mixnode - ); + return Unable to get delegations for mixnode; } return ( - <> - - - - - +
+ + + + Bond total + + + {bonds.bondsTotal} + + + + Pledge total + + {bonds.pledges} + + + + + - Bond total - - - {bonds.bondsTotal} - - - - Pledge total - - {bonds.pledges} - - - - - 0 && } + + + + {bonds.delegations} + + + +
+ + {showDelegations && ( + + + + + + Delegators + + + Stake + + - Delegation total {'\u00A0'} - {delegations?.data && delegations?.data?.length > 0 && ( - - )} - - - - {bonds.delegations} - - - -
+ Share from bond + +
+ - {showDelegations && ( - - - - - - Delegators - - - Stake - - - Share from bond + + {delegations?.data?.map(({ owner, amount: { amount, denom } }) => ( + + + {owner} + {currencyToString(amount.toString(), denom)} + {calcBondPercentage(amount)}% - - - - {delegations?.data?.map( - ({ owner, amount: { amount, denom } }) => ( - - - {owner} - - - {currencyToString(amount.toString(), denom)} - - - {calcBondPercentage(amount)}% - - - ), - )} - -
-
- )} - - + ))} +
+ + + )} + ); }; diff --git a/explorer/src/components/MixNodes/DetailSection.tsx b/explorer/src/components/MixNodes/DetailSection.tsx index e3c235ceb3..6ffe7af34e 100644 --- a/explorer/src/components/MixNodes/DetailSection.tsx +++ b/explorer/src/components/MixNodes/DetailSection.tsx @@ -11,17 +11,11 @@ interface MixNodeDetailProps { mixnodeDescription: MixNodeDescriptionResponse; } -export const MixNodeDetailSection: React.FC = ({ - mixNodeRow, - mixnodeDescription, -}) => { +export const MixNodeDetailSection: React.FC = ({ mixNodeRow, mixnodeDescription }) => { const theme = useTheme(); const palette = [theme.palette.text.primary]; const matches = useMediaQuery(theme.breakpoints.down('sm')); - const statusText = React.useMemo( - () => getMixNodeStatusText(mixNodeRow.status), - [mixNodeRow.status], - ); + const statusText = React.useMemo(() => getMixNodeStatusText(mixNodeRow.status), [mixNodeRow.status]); return ( @@ -40,17 +34,11 @@ export const MixNodeDetailSection: React.FC = ({ placeItems: 'center', }} > - + {mixnodeDescription.name} - - {(mixnodeDescription.description || '').slice(0, 1000)} - + {(mixnodeDescription.description || '').slice(0, 1000)} ); diff --git a/explorer/src/components/TableToolbar.tsx b/explorer/src/components/TableToolbar.tsx index 29f6ea5ac4..05f6b8b651 100644 --- a/explorer/src/components/TableToolbar.tsx +++ b/explorer/src/components/TableToolbar.tsx @@ -23,55 +23,53 @@ export const TableToolbar: React.FC = ({ const theme = useTheme(); const matches = useMediaQuery(theme.breakpoints.down('sm')); return ( - <> - - - {childrenBefore} - - - - onChangeSearch(event.target.value)} - /> - {childrenAfter} - + + + {childrenBefore} + - + + onChangeSearch(event.target.value)} + /> + {childrenAfter} + + ); }; diff --git a/explorer/src/components/TwoColSmallTable.tsx b/explorer/src/components/TwoColSmallTable.tsx index ccff977285..6f8d8e059d 100644 --- a/explorer/src/components/TwoColSmallTable.tsx +++ b/explorer/src/components/TwoColSmallTable.tsx @@ -31,23 +31,13 @@ export const TwoColSmallTable: React.FC = ({ <> {title && {title}} - + {keys.map((each: string, i: number) => ( - {icons && ( - - {icons[i] ? : } - - )} - + {icons && {icons[i] ? : }} + {each} { const apiRef = useGridApiContext(); const [state] = useGridState(apiRef); @@ -46,7 +41,7 @@ function CustomPagination() { onChange={(event, value) => apiRef.current.setPage(value - 1)} /> ); -} +}; type DataGridProps = { columns: GridColDef[]; @@ -55,13 +50,7 @@ type DataGridProps = { rows: any; loading?: boolean; }; -export const UniversalDataGrid: React.FC = ({ - rows, - columns, - loading, - pagination, - pageSize, -}) => { +export const UniversalDataGrid: React.FC = ({ rows, columns, loading, pagination, pageSize }) => { if (loading) return ; if (!loading) return ( diff --git a/explorer/src/components/UptimeChart.tsx b/explorer/src/components/UptimeChart.tsx index 993568f454..8d6c934775 100644 --- a/explorer/src/components/UptimeChart.tsx +++ b/explorer/src/components/UptimeChart.tsx @@ -2,8 +2,8 @@ import * as React from 'react'; import { CircularProgress, Typography } from '@mui/material'; import { useTheme } from '@mui/material/styles'; import { Chart } from 'react-google-charts'; -import { ApiState, UptimeStoryResponse } from 'src/typeDefs/explorer-api'; import { format } from 'date-fns'; +import { ApiState, UptimeStoryResponse } from '../typeDefs/explorer-api'; interface ChartProps { title?: string; @@ -17,15 +17,8 @@ type FormattedDateRecord = [string, number]; type FormattedChartHeadings = string[]; type FormattedChartData = [FormattedChartHeadings | FormattedDateRecord]; -export const UptimeChart: React.FC = ({ - title, - xLabel, - yLabel, - uptimeStory, - loading, -}) => { - const [formattedChartData, setFormattedChartData] = - React.useState(); +export const UptimeChart: React.FC = ({ title, xLabel, yLabel, uptimeStory, loading }) => { + const [formattedChartData, setFormattedChartData] = React.useState(); const theme = useTheme(); const color = theme.palette.text.primary; React.useEffect(() => { @@ -68,12 +61,8 @@ export const UptimeChart: React.FC = ({ } options={{ backgroundColor: - theme.palette.mode === 'dark' - ? theme.palette.nym.networkExplorer.background.tertiary - : undefined, - color: uptimeStory.error - ? 'rgba(255, 255, 255, 0.4)' - : 'rgba(255, 255, 255, 1)', + theme.palette.mode === 'dark' ? theme.palette.nym.networkExplorer.background.tertiary : undefined, + color: uptimeStory.error ? 'rgba(255, 255, 255, 0.4)' : 'rgba(255, 255, 255, 1)', colors: ['#FB7A21'], legend: { textStyle: { diff --git a/explorer/src/components/WorldMap.tsx b/explorer/src/components/WorldMap.tsx index c20d868fe2..3c010524b5 100644 --- a/explorer/src/components/WorldMap.tsx +++ b/explorer/src/components/WorldMap.tsx @@ -1,17 +1,11 @@ /* eslint-disable @typescript-eslint/ban-ts-comment */ import * as React from 'react'; import { scaleLinear } from 'd3-scale'; -import { - ComposableMap, - Geographies, - Geography, - Marker, - ZoomableGroup, -} from 'react-simple-maps'; +import { ComposableMap, Geographies, Geography, Marker, ZoomableGroup } from 'react-simple-maps'; import ReactTooltip from 'react-tooltip'; -import { ApiState, CountryDataResponse } from 'src/typeDefs/explorer-api'; import { CircularProgress } from '@mui/material'; import { useTheme } from '@mui/material/styles'; +import { ApiState, CountryDataResponse } from '../typeDefs/explorer-api'; import MAP_TOPOJSON from '../assets/world-110m.json'; type MapProps = { @@ -20,35 +14,21 @@ type MapProps = { loading: boolean; }; -export const WorldMap: React.FC = ({ - countryData, - userLocation, - loading, -}) => { +export const WorldMap: React.FC = ({ countryData, userLocation, loading }) => { const { palette } = useTheme(); const colorScale = React.useMemo(() => { if (countryData?.data) { - const heighestNumberOfNodes = Math.max( - ...Object.values(countryData.data).map((country) => country.nodes), - ); + const heighestNumberOfNodes = Math.max(...Object.values(countryData.data).map((country) => country.nodes)); return scaleLinear() - .domain([ - 0, - 1, - heighestNumberOfNodes / 4, - heighestNumberOfNodes / 2, - heighestNumberOfNodes, - ]) + .domain([0, 1, heighestNumberOfNodes / 4, heighestNumberOfNodes / 2, heighestNumberOfNodes]) .range(palette.nym.networkExplorer.map.fills) .unknown(palette.nym.networkExplorer.map.fills[0]); } return () => palette.nym.networkExplorer.map.fills[0]; }, [countryData, palette]); - const [tooltipContent, setTooltipContent] = React.useState( - null, - ); + const [tooltipContent, setTooltipContent] = React.useState(null); if (loading) { return ; diff --git a/explorer/src/context/main.tsx b/explorer/src/context/main.tsx index 4a5be5be71..4663cd2644 100644 --- a/explorer/src/context/main.tsx +++ b/explorer/src/context/main.tsx @@ -1,24 +1,17 @@ import * as React from 'react'; import { PaletteMode } from '@mui/material'; -import { MIXNODE_API_ERROR } from 'src/api/constants'; import { + ApiState, + BlockResponse, CountryDataResponse, GatewayResponse, MixNodeResponse, - ValidatorsResponse, - BlockResponse, - ApiState, - MixNodeResponseItem, - DelegationsResponse, - StatsResponse, - StatusResponse, - UptimeStoryResponse, - MixNodeDescriptionResponse, MixnodeStatus, SummaryOverviewResponse, -} from 'src/typeDefs/explorer-api'; + ValidatorsResponse, +} from '../typeDefs/explorer-api'; import { Api } from '../api'; -import { navOptionType, originalNavOptions } from './nav'; +import { NavOptionType, originalNavOptions } from './nav'; interface StateData { summaryOverview?: ApiState; @@ -28,7 +21,7 @@ interface StateData { globalError?: string | undefined; mixnodes?: ApiState; mode: PaletteMode; - navState: navOptionType[]; + navState: NavOptionType[]; validators?: ApiState; } @@ -50,30 +43,25 @@ export const MainContext = React.createContext({ fetchMixnodes: () => null, }); -export const useMainContext = (): React.ContextType => - React.useContext(MainContext); +export const useMainContext = (): React.ContextType => React.useContext(MainContext); export const MainContextProvider: React.FC = ({ children }) => { // light/dark mode const [mode, setMode] = React.useState('dark'); // nav state - const [navState, updateNav] = - React.useState(originalNavOptions); + const [navState, updateNav] = React.useState(originalNavOptions); // global / banner error messaging - const [globalError, setGlobalError] = React.useState(); + const [globalError] = React.useState(); // various APIs for Overview page - const [summaryOverview, setSummaryOverview] = - React.useState>(); + const [summaryOverview, setSummaryOverview] = React.useState>(); const [mixnodes, setMixnodes] = React.useState>(); const [gateways, setGateways] = React.useState>(); - const [validators, setValidators] = - React.useState>(); + const [validators, setValidators] = React.useState>(); const [block, setBlock] = React.useState>(); - const [countryData, setCountryData] = - React.useState>(); + const [countryData, setCountryData] = React.useState>(); const toggleMode = () => setMode((m) => (m !== 'light' ? 'light' : 'dark')); @@ -83,10 +71,7 @@ export const MainContextProvider: React.FC = ({ children }) => { setSummaryOverview({ data, isLoading: false }); } catch (error) { setSummaryOverview({ - error: - error instanceof Error - ? error - : new Error('Overview summary api fail'), + error: error instanceof Error ? error : new Error('Overview summary api fail'), isLoading: false, }); } @@ -95,9 +80,7 @@ export const MainContextProvider: React.FC = ({ children }) => { const fetchMixnodes = async (status?: MixnodeStatus) => { setMixnodes((d) => ({ ...d, isLoading: true })); try { - const data = status - ? await Api.fetchMixnodesActiveSetByStatus(status) - : await Api.fetchMixnodes(); + const data = status ? await Api.fetchMixnodesActiveSetByStatus(status) : await Api.fetchMixnodes(); setMixnodes({ data, isLoading: false }); } catch (error) { setMixnodes({ @@ -126,8 +109,7 @@ export const MainContextProvider: React.FC = ({ children }) => { setValidators({ data, isLoading: false }); } catch (error) { setValidators({ - error: - error instanceof Error ? error : new Error('Validators api fail'), + error: error instanceof Error ? error : new Error('Validators api fail'), isLoading: false, }); } @@ -150,8 +132,7 @@ export const MainContextProvider: React.FC = ({ children }) => { setCountryData({ data: res, isLoading: false }); } catch (error) { setCountryData({ - error: - error instanceof Error ? error : new Error('Country Data api fail'), + error: error instanceof Error ? error : new Error('Country Data api fail'), isLoading: false, }); } @@ -164,34 +145,27 @@ export const MainContextProvider: React.FC = ({ children }) => { updateNav(updated); }; React.useEffect(() => { - Promise.all([ - fetchOverviewSummary(), - fetchGateways(), - fetchValidators(), - fetchBlock(), - fetchCountryData(), - ]); + Promise.all([fetchOverviewSummary(), fetchGateways(), fetchValidators(), fetchBlock(), fetchCountryData()]); }, []); - return ( - - {children} - + const state = React.useMemo( + () => ({ + block, + countryData, + fetchMixnodes, + filterMixnodes, + gateways, + globalError, + mixnodes, + mode, + navState, + summaryOverview, + toggleMode, + updateNavState, + validators, + }), + [block, countryData, gateways, globalError, mixnodes, mode, navState, summaryOverview, validators], ); + + return {children}; }; diff --git a/explorer/src/context/mixnode.tsx b/explorer/src/context/mixnode.tsx index b2d0464f8f..c71036e61d 100644 --- a/explorer/src/context/mixnode.tsx +++ b/explorer/src/context/mixnode.tsx @@ -7,12 +7,9 @@ import { StatsResponse, StatusResponse, UptimeStoryResponse, -} from 'src/typeDefs/explorer-api'; +} from '../typeDefs/explorer-api'; import { Api } from '../api'; -import { - mixNodeResponseItemToMixnodeRowType, - MixnodeRowType, -} from '../components/MixNodes'; +import { mixNodeResponseItemToMixnodeRowType, MixnodeRowType } from '../components/MixNodes'; /** * This context provides the state for a single mixnode by identity key. @@ -41,24 +38,20 @@ interface MixnodeContextProviderProps { * Provides a state context for a mixnode by identity * @param mixNodeIdentityKey The identity key of the mixnode */ -export const MixnodeContextProvider: React.FC = ({ - mixNodeIdentityKey, - children, -}) => { - const [mixNode, fetchMixnodeById, clearMixnodeById] = useApiState< - MixNodeResponseItem | undefined - >(mixNodeIdentityKey, Api.fetchMixnodeByID, 'Failed to fetch mixnode by id'); +export const MixnodeContextProvider: React.FC = ({ mixNodeIdentityKey, children }) => { + const [mixNode, fetchMixnodeById, clearMixnodeById] = useApiState( + mixNodeIdentityKey, + Api.fetchMixnodeByID, + 'Failed to fetch mixnode by id', + ); - const [mixNodeRow, setMixnodeRow] = React.useState< - MixnodeRowType | undefined - >(); + const [mixNodeRow, setMixnodeRow] = React.useState(); - const [delegations, fetchDelegations, clearDelegations] = - useApiState( - mixNodeIdentityKey, - Api.fetchDelegationsById, - 'Failed to fetch delegations for mixnode', - ); + const [delegations, fetchDelegations, clearDelegations] = useApiState( + mixNodeIdentityKey, + Api.fetchDelegationsById, + 'Failed to fetch delegations for mixnode', + ); const [status, fetchStatus, clearStatus] = useApiState( mixNodeIdentityKey, @@ -72,19 +65,17 @@ export const MixnodeContextProvider: React.FC = ({ 'Failed to fetch mixnode stats', ); - const [description, fetchDescription, clearDescription] = - useApiState( - mixNodeIdentityKey, - Api.fetchMixnodeDescriptionById, - 'Failed to fetch mixnode description', - ); + const [description, fetchDescription, clearDescription] = useApiState( + mixNodeIdentityKey, + Api.fetchMixnodeDescriptionById, + 'Failed to fetch mixnode description', + ); - const [uptimeStory, fetchUptimeHistory, clearUptimeHistory] = - useApiState( - mixNodeIdentityKey, - Api.fetchUptimeStoryById, - 'Failed to fetch mixnode uptime history', - ); + const [uptimeStory, fetchUptimeHistory, clearUptimeHistory] = useApiState( + mixNodeIdentityKey, + Api.fetchUptimeStoryById, + 'Failed to fetch mixnode uptime history', + ); React.useEffect(() => { // when the identity key changes, remove all previous data @@ -102,19 +93,22 @@ export const MixnodeContextProvider: React.FC = ({ return; } setMixnodeRow(mixNodeResponseItemToMixnodeRowType(value.data)); - Promise.all([ - fetchDelegations(), - fetchStatus(), - fetchStats(), - fetchDescription(), - fetchUptimeHistory(), - ]); + Promise.all([fetchDelegations(), fetchStatus(), fetchStats(), fetchDescription(), fetchUptimeHistory()]); }); }, [mixNodeIdentityKey]); - return ( - ( + () => ({ + delegations, + mixNode, + mixNodeRow, + description, + stats, + status, + uptimeStory, + }), + [ + { delegations, mixNode, mixNodeRow, @@ -122,11 +116,11 @@ export const MixnodeContextProvider: React.FC = ({ stats, status, uptimeStory, - }} - > - {children} - + }, + ], ); + + return {children}; }; /** diff --git a/explorer/src/context/nav.tsx b/explorer/src/context/nav.tsx index c40c2a1fc5..ef28108be4 100644 --- a/explorer/src/context/nav.tsx +++ b/explorer/src/context/nav.tsx @@ -1,20 +1,20 @@ import * as React from 'react'; -import { BIG_DIPPER } from 'src/api/constants'; +import { BIG_DIPPER } from '../api/constants'; import { OverviewSVG } from '../icons/OverviewSVG'; import { NodemapSVG } from '../icons/NodemapSVG'; import { NetworkComponentsSVG } from '../icons/NetworksSVG'; -export type navOptionType = { +export type NavOptionType = { id: number; isActive?: boolean; url: string; title: string; Icon?: React.ReactNode; - nested?: navOptionType[]; + nested?: NavOptionType[]; isExpandedChild?: boolean; }; -export const originalNavOptions: navOptionType[] = [ +export const originalNavOptions: NavOptionType[] = [ { id: 0, isActive: false, diff --git a/explorer/src/errors/ErrorBoundaryContent.tsx b/explorer/src/errors/ErrorBoundaryContent.tsx new file mode 100644 index 0000000000..ff35c27d44 --- /dev/null +++ b/explorer/src/errors/ErrorBoundaryContent.tsx @@ -0,0 +1,24 @@ +import * as React from 'react'; +import { FallbackProps } from 'react-error-boundary'; +import { Alert, AlertTitle, Container } from '@mui/material'; +import { NymThemeProvider } from '@nymproject/mui-theme'; +import { NymLogo } from '@nymproject/react'; + +export const ErrorBoundaryContent: React.FC = ({ error }) => ( + + + +

Oh no! Sorry, something went wrong

+ + {error.name} + {error.message} + + {process.env.NODE_ENV === 'development' && ( + + Stack trace + {error.stack} + + )} +
+
+); diff --git a/explorer/src/fonts/OpenSans-Italic-VariableFont_wdth,wght.ttf b/explorer/src/fonts/OpenSans-Italic-VariableFont_wdth,wght.ttf deleted file mode 100644 index 0fea34ba24ec13e9636f3ed04d575da62586be26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580468 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

KDPq=O;8gv5j; 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

b${M zYQu{I`NiGX>#+E%Ii5mdB3^E|k^=)x00ZS@2pB{NLskK7ieO4w;`1(~>7&^{@Fs*b z$NI2hR-V?D$4MnD6FK^kLHx%6{-QX*Y}QLO@nKTw=ueE|6#p-orz~vO>uY2l?i`!H zW!cz0Tw=+jG)3aP_CP)0_~xn>wD}!Q!F%cHQf|9c>L01j4AsPIso;v) z%V2%}3HXR7mfKJ-FP*rL_Sl{e2zgoo*jTU)F>Wfi|4Q7Bbz?OsE5cSgG}Ji`;_;%zV*3Cc&ql|~{}Mwuoxb z?s%o5{SS2fXvSMa@>e=uifI3%qrI8*cfRq^{wJZG?W5yBIwY?xw7-jXDHr`OGWrX` z+X}6ipR~%RU<}7Q1g#%9##l?o_(YK8(T-JMt5zQT{<))n7G0}D5pH1O+oIz;+tI*B} zxObcmXa}zncnFVS9LK&xJG@sYoKKg%-6a_-N} z!;((4RPuXh%U$@^7m~lArHbD~T0}JxIh>C^MN754g7!Hs@nK$(yp7rW#y}mcH!^qI_qE@)ZBz0b}i@G!OfZsA*K@uBck@GG!lb~FU5cm;ik*DE5t6#o7moR5!0 zH6rr%U=YeMgZjFT`#VxUOE@0-1&{y6cUY!YX&&;4&oJ;=mS*y6LIwiMA{O*p)rozx zVzd*#5vX1epJ%GzpCn^hJMo=hM$hm^#|G`gB9#1l0A^_#GU0ScC2yHAgw$oF1X@&u z{Lz@0#7d1N01g3+sF%-V4%^oOcCT}c`v_hr)H4?^SQ>CaBJg_sGm?F7^(=0R;WKsS zIg4Y|<^_Y%pw%g!OTCnGez)Ii0CErQx4nI#7@q zX$|sI`DbQvAD9+TO3#lB*6ZX_l`)c*aUH7&}T#Hcd`l) z4IhJX?3^;{;Q~GUjhymynh7vU4K8SWO|eoUx9{1FAAt3;q}^D{ypbJ4C@3+ zB<9n3h3IC?CL0prRW&LFhtV`Qo$#rT?VRYooL9 zT0U=Au}kb{96TkGN)axKFH!=#g6B#+R%g@$D1AKtkb{ih0iHaNf)FW}`~+Th051jO zJQa}VMwkga>YZta@lR{|*6gP^58Otx})5dYz>$&+{CR>Zgd z#%>gEME&l?_Uh4l&_WCrM)6#XwZh&odM|Et$fE2r@oKazar9yB|716dN6<20?;zi@ z|Aank#EWt3+w5I*9JT!)>>lv~v?SS^Xp7nYceJd)Tubbgv?UjH&7Ky|N1tT$xf|o~ z_8-_0G8dbIKA0VL<-fDT^jiat*-5s!Nr8>3bj& zLn`unkNjPP{!;qc{~huf%5kn#@(BK}v6Ii?_+C$0A|=MLRJ@607E*;uz0xmMX~>Rvs+xIr_xJ3S?kCd%+%@Zq8It+DYT4Er&qY4uCBw_iIWc{4XCh1lwm?J3uFtaOri;v1qCv@b{@&@oLqKW zUH$x5m+w8%_2>xy9?N!^HZu{kx6aEcsVy&DI(5qJOS?|r(eQ#)&|vb1#J3@1RDuXz z0g+Lp0JBIRB7>(i(Ox2Ps52?9(*W*J#*K%fQ0tKkC^S7WOh-|R&sCK^-&?b)F}ifk z)MdssGf&R6P0wsOIJv6!#Z7lV-gtcZ(k&Uo&+><&!hRQ#Wu3gBaO%>mZRI<<^QOh; zr4D4(o!dFE{Wm*OQwaaQQ#MJgo+6cIl+XN5Q* zib1kUQZNP913GF>|rQ+ZgCAQ$lUQA7w@kicgHz z@8L&K@8?|JU|+1RteEK5zU5bnzkqKgsq*EmCMXIp7(`k>nWI(|#ggOZgmC3>C7+-Z z%`Q)cPKew_iBr*F*$1c!|6S0$JwcfqPoRtC!Y9_b%H~mC_j&5>l78 z{`1p`GE3ju3Z!I?tQoqip?at;df|d8>zb6Fih$H<>h72J&AD>wkU?_ZM=^ayFc0CTP}jVUPDpkZU73QM!)=wQL+H zpgT}lK6asCSAcLyUOuQD1RpdnXS8>?;F9K#GD!4%pzk8)ovjZ|YkzPkxh8h;bIaG= zRoQX-jM6z-*~5>|@7-FI&{5ugWO{!8OT`PSA_qDv7U#98JCAqIJ+>kyys5up**!C+ z@2;PFV3x(&vtfGu{{DikRVz!2=S`0YY+Tn}K0A$lQ?=6V!?O%RZ>GD>+r&nTk#pIQZF^l-a zzCMSP`m#MA?@y?TZoX$|+Oh4kGI}rUp8Nfk*UM~Ws1W$1tt~&eF0pP+dH$k3b;~yr zd4DM=Qw++8;f)$YC?kT|gyTZNoI1|QoV3gns_)X*NDk*XpgA1Sj*RUbIiSV0VnglN z^A9{>$Zp?s|AN-7)1!m(x;EY0RI;SCBu+E4w`ib!QlhSx@g5QDS6@BPU+($x%h&E` z$ys`4!HS>0xv;-sN7beWF1*uygx=aOKx{Tk=2l$-oD`3!xBI0R?7 zl$$b$&vrNwh##YWuThiFkKmNN9jBy}t7XV%Ts^&q z5mCtnlY5nG_zV6nS^yr;qknJIkk4WGdmy=oxvAfh&rZrqxhAR&`Go%p_wF#ghgDba zM2}Mb2j(-jo!-L%q{V)a|2Lb$4$ynpgSMRIFR|(DAiam_w*dFQaW~JV_i!-n^DO@j zo6pXq_pp?68)Av{n!Stu3?gD!Z8nFfTx>5M#h!o6w z%u7<;_?Xb|I?T%maHbnw(Yw9O60rayZ=J)uH|Nq%Yi2)QGvx^k{dpf5vzhN;{MoxO z<|6xKI_42}2m2WJI3#P;!!ilSDKHNnU^wH+)sk#Zwk6yAY<^}xX6c6?_I&suyW`8A z&p+?^5~8H&m{`ONi-;Jtn zzBotnaLwWQA>|Qc_pqxBHtn4GIIj_*z`iT_6J$BHC|i`6rwnXkxDg6c}f{IJM{*)@&F}G8s9c`K(Z|*AxN8C znO)RMas)dg9#b&WR>;d*+_HFh{)-G0w z>%}W^J}MD^x1ak-;x8GNd?r;&3#9GRAvmmkAsdq2Bm0j$LEa_bDnBFt(aq$R`W$10CIJ)ZJ-%j1fto2TA0%kyT>Z@t32 zR(oCa)_OnXBld~%ndNiP=N_fEvQoKS`L!xv)vtQim+{T>?e%@g_Y-xXx)+si!2dx_gr-sRlGaaKqMf0gseM;_DZm&|7O*nlwSeye{;dnqS#{HN z>vWInF6n;OyXy`59{n=?R{bsd`}EK1|77qtgcyRF!Pslu7sv(r2Sx;D1XcyM1s)3W3Ni&H1{DQ02K5FFoBT|{CY!0))M)B8EjMj7 z-D0{gSQ8u>oEcmd+!nkrcx~_#At512AtfPAA$=jkA@7G=4&lu{<`8p|InP{aZZ$77 zuQl&6A2UB%>eiwE&?1iv* z!~Pof?{FsEH#{u7GyLK33*jGze;01IC@p47tR>x2VVP>_vJ6-@S@u|Nv%F^c#PWB` zScF@IF(N)9E21o7NyL$eGZ9Zmyc+Rt#HEOmutq>t5>})_bf^S>LdJVExMapJ=z}%;;?h>Ax@feDpifUq$~X z#yut|CNZWsrY2@a%z~ITF?(W;#yk>pA?D99S7Pk3%Gi+D8L=ngJmZeUor!xo?ya~l z;=YUfDLx{;F}^Q;Z~TMtpCq^?WG5_5IGFHZ!ru~pO!P=JB_<`7CAK6kO5B*ZBXNJ? zeTk1GKArfIO=~mRB5c*RMq8_GlWnK%jO`)YXSPeWzbBO?O-Z^f>4Bu@lm3|Wb<%&5 z-I9&TTaquQgruxYc_USu+LU@W^^?@Uq-CUar@fu_LApM@H~n1tj~NLWvofB_^v;}? z`Do^=nIC0-mub&ZW`$-g$=aCpR@VDjpJn}!HJaU=eS7wwv#(^^b0Tu$b7ti%$XS~6 zNY2waKjv2FuFc(>`(*CbJaL|To^PH$&zxt?v*q>Y4dt!PyF2g8e9!#6{H6I1=U*yF zDA-=`O2ONOX@&a=zb+~(no{(q;>hBJ;)3G7;?u>SmB>qcO0*@Wl8BP{lC+XNB}YoW zD~&JRRmPP~DZ8ue+erzN)=&Cy(s$*}<#Wm(D1WT{eEA>BKdfk|I9Ksx#p@NHR$42| zD!VHOD>qjjuDqx6>B_e&zpVUMm8>eDD!3}As-akU zO_PsIJ~8?E$)8TXJcXH(J!RpPmueDgcGq&XEw#_p$?KZx?yNgo_k7(S>%Oips9#XO zwf7>1!Eo+0k-G%Y!piGiJ>=*~+%IwLaGR@3#21 zHEl1q8`|fzU+hTec%!qsb8hF7&X>B>U3Fc%y6)EN@!gzPxw&(DH4|KN+$PKYmx+A?&@&}SBrs11nHYIJEvuXLJ z+cxdo^!%nbHyzz{a#P)A z+*-HIxNX3;@NG%kGPbSWwsG68ZTq&px$U!Uziq49#<#m|@4MZ$edPAU?X$P%ZePEB z`}QZczq58e3Co`*-ykyWZUO(XL~=e%;lw+qyeycgpU0yYqJ6 zv3uw4XLldm{pRk^cK@*Z!tRzm>K^w!);&Y_jNX&HXWpL0dzSAxxaYk+7x&ccX@2e5r4Pe(po z`1FaV>z|2w=Amcae5UEyjA!qD_LJu#pS$_FqtC}YzwY_BUr=92e&P8SI`(<)v+j%8 zH)UVOzMOq)_T8~>+rB;fp51qF-<$hB+V|DI-}YVDSGUi(-*vy={-FKg`$z3h+dpgn z;{7-7zhnRA{X6$Ry8qezFYkYS|J(aN-hXWWPy0_D=yxFSz}N!|59AzJbzsAR7Y}@U zpzXz|7ni*F@r#`=CB1aROWR-i;-wQWwY}{7a`?+@UM_k0>6eeZ{N2knFSnG^QrA+S z(t)MHrQxNqr3t0!r87%2OS4MzN^dT`we;@N?WGTu?k#=3^kC`VO5ZL0wDjxJUrNhM zFPGLIj6RroaM!_#R|dbb`jzirsd+Wy)prhg9O`pu(4pW%VTT-t#vV#NH1*KjLyHbA zKU8q&mP2qiqR}pSNSgO@m_*0?}geL`LH<4$I zpORJT9efAIG*A5-dBl(b7)0h_pU6DJ8l-O~8A>Rbr-V4)!)fgEuIt|T?aVkQ!%5yUtRnl=<>Y8HV;n#2xo$i%@nmdyOnJyhYZspZVX}YkV}@!ONA;h`*Yv^jALPhXwr_|J`{N z_;Xxc$uFzHX*ve}UJs4u$Royj@E-cdpaVMO zZ+EAKPC_p<-TVs(eSIA|lP>gD=nh~h;80D6F?atf6uK_-O~{uvw^HYY-U;3B36%tA zJM@fp&AX6yA#*}rHJOoPW2C**>1h7QE}sYWG__NP_+B{q{>VDq4Fw=1jI z{WMzig(n<8;>_!1Ml+eNd_$%i!^m{Q5E5z3Cd=@wYlVgnc23wfO|LL6Vc!g&;@d1S zm#}Z5PM3XCZTy1ZH+V2l*f}+lpA~!(G#Wa{9%0)IRpfK6t)TaQ=*=T!j3zq*-!tT1 zk*6Nu-?2lm9|hnu%GuK-OVm*p!M32DCMy^CgX}7F?g7*jdh{!qtL}oHJcIZF*0K{7HIb0#5Fz{WBJqSB-D8fZ4g8oLnMDkWVrTgC^%q{O`M&rBu(Zq|DGXgDLhARARCOc$bRFCI2Zm^vdI`pwn4VmL*_p<_NS`BK|aA6xB)h8nc*e!uu@Gt z&{r{@Zf{oaB6q9X$bIU|ko&vnPWBs~QGH8Wu{WA8v=vj8uKdyBOJDSyZC0c5%aw(wi5 zZFpKp2u?v3G7s65b9l397Wu+Bnv`H2eL!77<{QtT{BF$MS6FjmFpvL4`hD2?Dewip z<9keV;Mc4~c>;fv?c&b}z1DOLvaQM2UF3bX3wkRdjyinAJQ8E5Ksof&^b~p6mT)z8Q@4StHBz`&je+aUDQU_>2%GR80#YtJmc&rpE$7f9a=_#I$x*y@ML2gZ+} z|2yHw341H&v?K~T*(9-63EL!~oU`j8_|RME zyRc1~?p_CljS_YOx}CwmCt;(6oxuF~u>QP74dZ**_pm3h`lyh*YQ$(Xm-G1eK-b*u-5F#e7@l^^Kh z!~btk^0kY<|5vE3A-W#~zlFD4&)@$!-KD?(Z&2Jvi23Y-Qs2Au{y)Jkd;2H&jM%^4 zaRFhrgcYzI*eTN$IvVIcK8N1V&p=n6gdY@tJx!3ySYdBWqsYtZLRtlzcMRcYgb%Qm zi}ifDSkncBY~0y1Ko{m2#C_9R?DQuztY=W4#_#!Z;Ll#={^~JaEqp~$SCa+In-a>) z1Rs>0`~=pHV*>s!L4ECy^~E~Co`8RJUHh&+)ff5q`kDt{7JiH7YY^Ov-Kz%^PB1eW z5Pyb5Lk1qe{6vd&Tj(p&KZyAfWj%wk0XCqMWSH;`z6h$Y3HLz968I5;OZY_^6z$Mn ztkW8uw-HaQhwk(^@ieH!OL6jlFv4$D*70NX9~j$x{J1)v|H8)ef2t~ZSS=^s^aSax z%)>ozIq^ccjlM@#u?q4SJIde1I{k*IgWc=D(hvBPY$nIAD9CuE-&EfuH>!`38=$vQ z>U`L+1H6niljku16AgW^<_Op$Xt)LbzZ?U9Lz%}v(ed+Bf4~pi-FPL=zrrWzfSef# zagM|{K?@csCa zI%`pebO)YII3f3B1;ReW@qHk-AdY7ePJH$1Jg5h<7N2cn7!`u>DMAo(*w^qWZX_v)r=qU#BWe(4 zBIF@tA#6c7fbb85bqEislgTt@fb5*&s$ccIB2R-XY3J`)3%oyt_^gRLaF@!e|fRBHKP>BG#_?HOZ<98q( zbSu7@F5#yEUFmk7sT?9tAnaG(><31{EhsbM$kx_MYHJ!x{E$X%V-s?#dm%FO01HpyrcYE`CK`n)H9X2 zvtIbd&&Gzb5_Uh^&GxY8*h}nX_BMNmeZ{_GKVkQsyXv7%S7)dO%$} z!@Gv}3?CW(ZMYmj1I7nz4tP4?YCwHJt7WR?q}2`Ij0ISOtRdD2d_OkII>wq}U1Pn? zy1}{~-;(Xb_hkF5FIry-Gz9tt`UP48g91YW!vhxwDM7}dUO~Ns`UDLK3J3}fni#Y+ zC^z`%i+?{jyIpOMX&=)*u063mrG2s!uhGDFvEt7Iym^-VoxBN(qv$gHe0mpsmcB+W zgW@)&pQQLxQ2YxhCd?=)4q=->@lH_uFna+MmxAJV*|!?S6cl@c;+Z&!aH)E)x=nph z-DM~P#UFy=ZvsfbxPXnI_}PHEfCi0XV)e21wOTcbqpb0g;nL6*Dfa#Y#W|q(4Ny$lhquRp;)M3(_B2o|-epC3BR>l{uR~bRKU7ToL;e~mBQHRH z=JAP;nnLQw?{jW)-s>#pH&9pP;J4(Yfz)+=-T77LG3SGwUv_@sT-$lH285|9cV^S*+~;AOF^od$g9DWP3gJzjP)n^ZN+K zHEM6wNA*=QXdSIr15}GTP#vU1D|WV4aVRmYSS?c5ss-xJim$p(U85GNx3a}bKem-^ zW2Fg`_CEILBU`s@-gNIhcW>Nq*PVCVe%r0LtY25Wwy5ytH3h3z<==E;-pUorb91tn zWi4H@c+m|D7i4D4pNDM|GiOYnHg(G6N$C?Oqz$!rxw?#?huvJ0ZOOT=VI#<4S2sl6 z!bZ?CV{(~E%PgB7YAs8cnGra7Rz_-ye_&vyzb&vVp-c@<6(K99B)h916J4Mc+M+7`09S2I~H=u>~1r)}_lcC!#h{g3Gl3*++=Oc8eZgT4v3*TFZ>Vwq-LiN&?I1Qk%a_ z&&mMDXqJCTpe@jvnR$eNI8fBK1)?v7BptTVZ8Hxi&~399WB_TIb=#bb*A=QHFHOok zJQ!seN35hQLCaM{uE-QstRg`sQ_Rfkidn1ge`0XqyZfoE|!3A(T`w!&*|3Vm+Lo zhGb=DiF8UJ^u9zE*-}!3(ss2-wU(46WMwZ!jnqu7a@YtAp(NFoWzB){0J-4YY#X8r z76>eJ7G#vT=h$*=;BZ1hNfyZVw`OPhmt{15S+an7pTRu zrM6{yhS1LI^HyA+u^hE}=Gi6*bQtU;F>1h)Nw(A+)DR&nr;I@g1Fboky2y|jn%(%1 zmC%I^0-{y2VotTrOT0!4xe+OpYbhk~UsAT>kI9wY$uty07}Vf!T~^A}5FvRPfn_)P zm*r;)dC{w6m2F%GFT~3>$|f$FoJ~OKgr#MM;0a|Lv$H@4Y!YM-8IzD<%~%FmMu%xj zOS&Wu&D4-?Ol7Mv_dU9VNu_guS_u|hDBC#0x-`?ebSZMNC>%+Yf;ETcIrx3glmA!V0iFE7ukXSnypi4%T9sxMY_=8p{?z z+YG_pCA~|m@g=ZYi(qioknDL&u`F1}nreG=4jE3GmT{QKVIkFjYG`lNSO{^>W5Zv_f>PU^E|1x*&-zB)r9E^!B zQ!xg;*d)m5>Qjqj(0UsT3B%P1Kpd#VIw$@$LYB&e8Vt6hKW%9g1c;eW$b!~q+5C_2 z4`#qdE=6joEi+S~$3MhQw9vXP(K{CGLeJ*EWQD|}BXB|GoYVNGu}(B#!CS>dKuM+E<@%Sc%nZ%ZJ2UDa-3p5e%bh(_ z^EMVj8*G6l*fDSb2F+SFI~0qEM%z}cMF>P(SO+1MG|fiRAVV^Ot(|4WHj#=8foj<% zmMKVf$84|Tj2yEqP5>8M++l^9VC`XpZC)PkF!UwaOLO#v8eArE{$qrz1b$$m@sGJ( zCrs0v41>QaGz%J4wqBo7s1^7kDs-2xhb0u;(m81sWhLE(f{|Kd!ELCfc3l^0Mt^^9 zRbu|%kU1|qCch*=EmKciy$1WghMU|bcQj7fqN0~igRE-A^*f`_%pQ)sAr zh&S?kgQj?p7B6W7Z|(ryGX!>w0R(HwIT?a{Hwb|yJZ>oP0v|urMcWO9ULgEK7&JNV zBRD|<43xEX)`7q1Pm^<5tSN@*Otf1cnu%DN2uo2bO$4b)ZcM(VOGpza>fHB1C1$K?nrY;1OAYC%*Fg1n93Xn)IkU6TP#LcEJDK=sL z-y$S|XwD_cgmwO7M%kU1`jQf}$6uG2udnZ+H4w^=S@!6Lq8F(SuE}L?$-;lZ1eUo7 zI~0!jz4H?xZjcJio#?R~YFR=RdoGgw1n+T7rVjp(Q1HJ>iqPD zg9+k}%{9*76=UkY|9UL+zZGL~N}dCIb%d<6-4ZBxafB?k-3oUh*;Zz?-Tkk@;d$pb!?&tut9pMKDiW{eEc<=7U zyB>JO2uivTA0aFL60Hz9x=>uTe~r{51go)4ABY+vahKdsvH-V>fk#MyKrhE5(w+l_ z8P^81TMQ_HKQiXwxesUVNgZj~omyzwm3q+fP%5`Pn0n0eKnl0)Oi8uuNamLNle{eV zC2>nhV!UO0VxeVQBDZW!JZRaHxWckIfm=3>b+g<%*4J{+cy76S>_N-MvD~s@>@mw- zqZ^46p!MTwQ++iMRB_=g>l?+ zGvJzdZYhXAXjzRn#H@84-HW5;}aWWq7zX;D%w=-j<;jZW$6V$r3U+#u7X@*fKbP zTWpbmmW9?)0jUdvM9d;$g966~@C81Rz2|yIdd=;f>6Pgb!?vvol`D)3-r*5`bI(nHh&wwlg!S2q(?p%*`S|Eh-X7>bd%rhF<%i3^gc# z2#9Mb#6^ zcYE>6PCx8Rd6V=(98VSvZ&C+pR0t>n*^kd7`0N9FHz2;9>>_Ug^`?kpuK+vXvUJcx^?F=;2ZF6k6*2+>UxB=<9Lv zG_br%ZX;XpPU}Z;rdTQZ%_XbR-v-opj4a15Z#JTI2iZfO#8c@5>ETclv)NH|&*kX2f40b(miK6+Y?*lN@%LcSQ6z*!_Q z4*QEyq@!*YTIQj*X!IGOeMXZBs5>3k(cNvj#vO(?rd@0ES9J9(pNA0$YVx#kS$p8< zYWctSn}>d^7_Alf3juS`_bR|bauf0jK)V$qzQzktcQtBRwOY3VE<+0|>gQ^lEJ8nG zbh%ocJk+&<3nE9*r>AcOuf@z3p^o6uT1iO}cr{g{sQ`JmYMi!$Gh#eqmR92`(yP(t zuWF_MkKoD*4eK1Fve33?u0E<|=-c`im;~+D+6y{F`|xgw(dA`55ub2ixyF^Aa+8a( zkHiQB4F!k^=@s(!$JVQ^qw`u1f`i2xX9_e)*JmhAt1t9mHe$#$NVupw8~mFB*d-}ea;@hn=t<0#knUW(;mnHnQT|cVB0;wZx(@yo z-mcMPVHFYcosa7>O^d7;v94*lyrq#u>^l(gwcw4ln@?SOS%k3&DOrPZAsJ$3@&Sb= zuK-`CW8_o1Tj|{W-`aH1-lZiyb!$E-?y@=a5zEmyCpgn(hkDkYjoPbFmV{B|qppz7 zYkK_Gxv5w)bzS@Ga$)=QdDG`X^!lIh|5e?dBlxTG|32owYVp61^Z$*u|Hk>S9#sDK zdb7aw70?kOTZP?{{8zIX26_ME4E^_>yD0tdwf;=yf3N>%o?e^J|7*+tYyJNl{eK?m z|HhF&xBD}X{#>VPY=179rfIpb`}sYj;*aw_6*DW=k78(GS5IA|?Sg+Eg#u5#0pUsb z5`XchZX`Hfi()GVzA-dl---#_k6m!?j~jeD58{ba4!npr{8t~`2lT-s&%UG|{KNq` zHwkYy!ke}&(AGelHg6+14S|HopR-KqPQS!`F3?80`LwBk{0* zqw)5^v1A<1lSzPGOo9iLLQ-MjCg4orbTWxd1|O!9X^{3Au$r?#@fFUHfjV`#))j3)9t?gc)FzkdjpI~(^FIk+>(C7;1J|C)S>oz`EGOIU%vC*P27 zanra0JA57@Kan4>=V&FlLaK02aU z+)vzrM=Q_a9_23Fo!m_-Nj3Q=b)({IRZrTBdXY}zq?(!n&ChR`8&C>=(J<1P|k#nEs&QrmeHMWaa@wNnR; zp|LnpBA$+-qv;qrmX4$2X#!28N#qPUOOt5|O{Hmcg0}Br5}iz^(5ZA9ola-anRwKF zn9icJ=^Q$j&ZF~b2F;`k=t9y?I>0@*+eVjf)pTzsypQg`XAJTL5dHMp~NB7eM^hNp-eVLZhgY*^pDm{cfN@esgeVx8R z|3;pmf2VKKf8gf-E&5OTHhqV_OW&jK(+}u}^dr2=!sn`sMerERpGcF<1h#Evn79R@hINl_I8PA9=TYZMp7 zRdG|qH}#%MFU3po#t9NWim%c~@l*O@zg2%_0QQ*;R0b&liUpew0+k@erVLhsl@Mi! zGL*bd-cW`q!^xZEALL`~PsVOF@(K3Qe1yB)gXB|Xgc623y!VxG{6b+QX;vbXNF_?_ zc~Knr&0Y-lbH(8toKg5S#be4C+>`GmHMmpXg}dVyaaX!#woo9W67Wu`JqnXSxG<|^})`AP=%#w}15;=G(i%3@`S zvQ)`ZmMPgvj*^QLGFB)nl|1D}{=SsaUJqu6LRhK*(8*m#z}5?K;U zW+^O{rLhTYB1>nJ*km?^O=Z*AbT)&{#0gZhao)*XHjm9`87z}6U<=s|Y!O?`mawHP zi!Ec>EQjT??W4aR~?ks&QH0E zZD1SO-RvHAFZLO3W?Qs9S=+J8@;>Z3+<|?E53mQ>Lu{9}=kj6p2z!)0#`dzu*%RzZ z_7r=XJ;R>GUd-pQH*p`^&knE`wSAeT>>zuEy~+-;*YMTWVfH$EgZ&M^JNi3&ll_Ao zAs>(r*<0+N+WyUV*?a7L_5u5leZ>C7K4zb=PuaiOXY6x!lzqXzWXG_>^K14E_B?*a zzGpwMAK6drXZ8#GmHoz!v)|bXc9NZ9r&&2W!_KmE>^!@`F0u-CiCtz_SS71s)vSiq zva76))w2fH$eLI)YhkUdjkU85*2$cVWB({s6_u%~YEbb?6xFP{sIID;wyV@r-{+?9 za#Q=LerjK}pW0s?p!$oQZrYAFs~V^VsWx@68mxw>L)4)-Pj0vxs*X^@)NpmA8lgt2 zQEIemR~>4M8mq>s@#-jbv^qu|tBzC0<7BQxHAziYQ`A&7O`V`lRMXW->SUa5GgY0Y z?Q5N>&QfQqbJV%&JaxXBp=PQJ)P>mXx(M%FUV{CfS?V%1Tg_2()#d66b)}l8-l*QB z=BumJ)!2KtM!gyP?!-R4V(h_Nuim2Gs@|sFuHK>EsosUh!W-4Qv1|5Tb(6XoduO*| zFX?u5+T1Bquyx5)ygDx;A~8b36qkZ^xrIg91%JSD zorUgzdmgHKj__xjHna>OJOaz-_`c zZPK-V-EO=V*T)haBVnxjO)Cm>b64kQtoe7~?d()oPtttFzV=6s;{R zShF&hrLJDVa#yb~O_$^qNb;uZ(tz9SYbjF%T6y@8xqlWx~)hmiz6UA8cYFXV;Q(~%?Wy;FcpxgAK{H&stdc5FTT=FJP z!g#~lg4G2@9yxirg}Fs}MOw-=F@MdkIJsoSLLqID|zRk`X6u^G+b&@?%FKFgsfGovP=?>x&T=Wcnot^ zBBlyNhRIoL)?`7@S1rrQQl=Iw(~6ahJcyu%S(%Z?X00qR%+6b}DvQm@DmKYcuo)}! zSTe$lqC9uePuB=~$qHR**Q{>B-E(_TV8#G+c8Kw7G2ddnysN2}Y0%oM%TV30LJ(uf z$<1GzWs-fVx1oTE!nGPnqBFxy8cF#&Nvn&MTk=c=Iz6m#Wq~$L(aBMUB8{lEAW9-; zYd}yo0>)t|5FB}lYm$T>=C-nvq$L0-X39> z`MPP_M01ypa-b zq{JI3@kUC#krHpD#48PeJyPP0lz1akBtD5hQsR%2_@g9#Y3uD#5`UD$A0_ceN&Ha~ zf0V=@CGkf|x}zliD2YEx;*XN}qa^-li9cH6kCyaDOZ?Fif3(Ce?Y})*;*Xa2qb2@m zi9cH6kCynOCH`oMKU(6qOZ;|;-!AdnC4RfaFP8NW2b-*CFYai-X-E@j4`4hs5iUcpVb2L*jKvd=7~(UeX&MX`H{J zFbht~dL7Kytfg_i23+QMsgle3u9z`XuXw8lgf!utO@~ME>Ky4M;rK6)n~PyFh3`{X zl$&E*mA6_f%0;=^1*>yha&O6orlXeLHa5*AYk6K?L|nW*(zqtK2&O?zEiTlwJ}NRo zqdO{6*8@PE@6n0zF1bZ(;ZCg0&2fQOm7BL><=U0*YgfV-(BnmJ%k$QC#odcAmesOA z(}3uByGQn|g?ah;dD+?`=cO%>*#)pz`l93ABVH&>UalOlHYHIJvHH*=VzsG2TAPZf zhzO0ffZCJ-YEufRO(~#kFG-8gO$hR3KM`I1Xj6)OZAt;PDNRdF)21*jElrzRKwYFF z)AT8glKyCPiY`*oDY{5Sr)aE;Ow~mnQ0pf$RUa>)UOy@=+Aw`(LE&mcfp(p%U5mw4 zU0G0Ylg2%}-U#+l%CketlS8IsWI9I5b&Qnj7%A5=Qm$j9T*pX#!W$bkyBj0rI!4NM zjFjsbDc3Plu4B6JN%@YE@*OMj$4dOM5`V13A1m?elNe!-mH73^L|WpHmH1;N{#c1W zR^pG9_+ushScyMQ;*XQ~<0Sq#*>9ZeH%|5&C;N?){l>|D<7B^avfp^wPrRffUeXaS z`4}(hh?jhfm-yl(zIcf*UgC?F_~IqLc!@7w;*+;Q_C!fXqQsvl@h3|Bi4uRJ#Gfef zCrbQ@5`Ut^pD6JsO8kiuf1<>nDDfvrJ|;>0^5)B)B=ILn{7DjjlEj}R@h3_ANfLjO z#GfSbOJ%VqN&HC?f0D$XEb%8x{K=C3WQjjn;!l?NlO_ISi9cE5PnP(TCH`cIKUvbB zEb%8x{K*o3io`FK*)EmYo+9z5Nc<@hzpmsF_7sUfMdDA9_){eQ6p24Y;!lzIQzZTr zi9c21PnGniO8QeJ{#1!SRpL*T^ruSvsS(5`U`1pDOXEO8nBO+0!Kc zG>Jb=;!l(K(pssKTYD-jc9~j8c}iP+&@dr@j51_^$K#f0u8h-$_@d0Z50o3>dsErR$;}4)VK0s}L0JZr6)c6Ca zjSr`zYVrXn@$34Dw8XFLC(;tXuAfLt{JMT3E%EF6iL}J8>nG9@zpkH1OZ>WiMyBfe z2`K5;^%H4HzpkH1OZs*FL|W3X>nGBZeqBG2mh|iTiL|6&*U!jQT|WUO{knc4E$P?w z6KP3**CMRzC-NnJT|beQ_;vk6TH@FB6KRQG*U!jQT|WUOeqBG2miTr3L|Wq4^%H5y ze_cP3mi*WC6KTnRT|beQ{MYppX~}WMsAFB!(``u_fqcYVDc z{dL#V`ZMGCS9n(b+Q_a*R97Urmp1f>NT3o`<7666@E_8mT#(hXTu*ngeo4XFRau3a z*BP0rdnbvpx^)4xYyCz>Cxz!1Wam#!oT#Vmj_$O4=&GfsCC=+5pM-X&<+I1`w0wls zl{Th_7lA_KBn`NwYmy}6nviL6uk>resbzSkcik?@x|)z_ad-JFR2FCgDGT(cW?I5m zj%$ga3**)@d!=_j2Gi1}bbVM}Jsy?nT?qk$ZR?px)SI9rDl#g@Q#=CFo_A>3E+VPL zyhZE}gLfBGi3c6sogoq1GjR<~ggrSzE79~ILONwp`b|2fOEW@=Nsef?e93YH!je4g zn(roX;K8zxCOM_a+7w)y(wOeFe16_FMZM%h?e4UEjNF};Pb0h1#ueHSy?Q+9)-v2y zT$>9Q@zh((H7*Y?DvF3QW3XDpRU7rSXnt35UROlVaa*2WfCrNzQ&$GNBU&55)X6Ct zh4$!3Ej@cyl1%I6*V6Xu%G3UswnufP^%+V|>t=magnmB&D2<7JKY+Ame*ran52%?g zK+SXk>ZZ#f{Z5DUI~~&RbV$F`A^lE=^gA8W?{rAN(;@v%hx9ug((iOgztbW8PKWe6 z9n$Y~NWaq|{Z5DUI~~&RbV$F`A^lE=^gA8W?{rAN(;@v%hx9ugx`|Fp(w|EKYV-nX z^a5(@8=$tn0&449T9W=;3Q${L0X6>uP+MOCwe=2A6Kz0^-+&sQ0X04YYJ3Kic=hK| zNK1VB^QW{V{rMB1>|cNGgtY8ef8K<&>|cN0gtYA6p5)TK*tvACf|@!;M?|@FuXQp< z8@;f}GOc+9!XC@CzOY40Z#7zatI^UsjgE|Rhn_6U%`aHrwXQ|ro#c9B`Did&J{pYf zdIS}xu`0qIr`NN`X`~{p55^&H`5f|=&mnL59P*aWA#eE{(z-b0EuTZ)@;T%!pF`gA zIpi&$L*DW^(?xa^-ohLgqX*lwi8wCac(SQDOv)+6Da+B7#fTCxV zi+)kA_lk(#Cn{(?<}cUByt;T*p*ChMBKi~&Ic5>n$E?Rh&ssgvw^mQ@U5o1dYZWyN zT19Ql1x3qEV$cE#41g~Bun{wBI(wc4qY61zU2_&E< zuz;Gt0%}?UC~c{HmgCUxP2jj`wglx8>d%Id)^r`^(&p;VkdQCa`m>*?DEUAzN`KZ5 zA6YMtjEe9QPf8<&R|U1p&n+tI&Tz;KPr3NXWG~&N5MKx9im%B$K{y0aEPv zGh?5h2QlF!qh4AXC#GpdPZEN2MiuPK8;m`A6npcMQ9A|u?I?D*<>R^zAH01GAG}r; zABsIgJ8<2FU(-2u6+1+5eU|OR^#D77>r3n)uCK5%qF`SLaIwF! zcW`}|eTbZo*hh$e%09*QbM`r|-{IZ!6gx5SYZUCY!0$w`XW>rdY*06VCt|MfYAFP< zhjS@r#(=#U18^RhRUL{`$3oRmoC+7FhT*)p2(<2n8h9f;K17=-ou7(Ek*d*R04_hg z6K$Ys!Ol)#P{VO0*l*{6XxI_PBTPleM94*0kFW*dF$A1ROK}dGf)Qa?7*SFXRwCSw z@EpS12;x0&Dnby#JqS44iQyDHoXbem0E7aBZ3w9EIRRlQ!mWh#LZ7`RA>@GI2tq>g z5pb$r2ylj=ZAdL4L;MH{#W+I$O~{Bl2?=`x;W#1T;8HkFrVPi4w&B1R{tZH#cqf?P z#|PMsbM0^FD+w|oVqI}PORw4UilgCBOV82k>v3&fC{dkaZyp+ppmK`cR)U!#&uDYX zxPcfM-dBcvQHm+-z>eEPKWnA>_FJPOyAerIT{ZhS_2%HD-pJ$l$Exg*5hF@{1WMFb zMT_IDZA};JJo;blbm>*^di>*7r)ui#WX$PQ6xz-?Wt;=*1jB`zJ}q7TcU4N4$4;tV*-5y6iFyT(e4 zos=2Pw6mQVTrM3q8eOiOQkCvHa?G^OSaphab}&Yrofsx~i31a~euUg>bTv7h?yAN+ z@hUBusTkFc78j6*6;jKqi@L=ddj8e9yDdE2G4QE@iAJ9&D}ednqTl$%?e zE|-tHHD7ffF~aj=rG}zsDg!`Y8124+CZt&=iArYT+JHCyRd6? zSES@NwYgs&FqRLnYFs~|aYnBr+0grxTb-}4sQTEt+4HYHpNuxQVlTJI@8$wAep6QO z8W4u7o49s(^dHo zVTVLtV#0_09B%iv@Z74A6Pvx9m#ZhNz39sm8|?G1^x}6k4~n3i7qwW2HTUK>w+0St z^yN9Nkz*?d@j_={q|*c4hz^B5h-n5h$=m0WhV(uq3%W3&fG@2N4DlF1#W8IrIRHug zW8q^vvreD>x}W)Z7q7%0TiuR_E0sTbSbym27x;5#!F}G}pZR4{cDhBA`l@pKxSu=BQ2=!v=12hE<`xT}aAR0`Y{vU8jg95;Gd3FB!^=nI zz3lPJ`SQ_=-!(QimycWYs?tc$I2OEXY;6Vjz}(byCU(KQhQ{VI8SDPm^4>RR$L9Rw zV($^>;)@QMD$kxvzOjSWHJuL}Ro0>!&ySq)dP`f!`N)Y^4DA%4!C2P<(BiCaI3GFV z9dkn+zxEH^UsdYrFHBngWAl}^iz6ny%bMFY&?3Nl z=H@1V_f4%L^?{+GK>%ZG+eQ1_0~A%_m%Mwyd&tGH%ilihJ@n$_2`o?yXdu7#P4Lt$41^CA?Dp15FW0vkYR4~qrp_bu zYS8c@l><_*h9{n`bsq{~uIUvfK&=Mc>Rkt4wa*j1TusQ@U++G=&VR(E77q(R@1|Zh zfIe-m1L`0Juzq#Xvm4FlzN<^je!j*tv~FhBo`w_k^@ApCuItC@LnqAW^<`;&*rX3= zM{5Ja%WpgD8~jI{y3%JDfKdnLOMSzTa;xe+xFIy{Bd5u|A$;mvXI=X>#Akp7gB#)( z?7h@$c*Cg7{dFG08>VDFT6dg3wY|A-u#vX40GMcNbFrYUpjVAYK%0-{K6KyK$A)eBoo#&vUuD&&02+)}eg|lz^%ZS?!}m42x?%-rH2?l# zTU6GBUxH%VCKWwgdG1Wxl;S;=XUp4L>vO!Ds@vUr8lr(J2R>KHgU=4?Q6NBHFGD~f05Ia9ORx3061hxs>rkLBgE+2#kp z+g*AKfFFzihy@?Ot;J_>CpDQ^XL~2(ovf2~G6P2pe!@kN(&_GdukrHlogRITw0jTi z9G4r%qm4rn0Ss=xeh3f-L2~x8jQAm8jWcD@wu&pQ z&S^`xUac_k4x9$As+<`rT~8easE0%Xv>2+&0fMT>WMc{34nYCf3z-3^bwN$lSnqQ7 zTLD~8eg@EDy7)6dr=j)&S4|H$4;l&ZXj4!uz_V8!^SHrWi)9p`q0`lyyY{yJI_gGx z<;s_?tdUlp>M+6ufjmI*An#4aD<=V(jg_ZqN87LM-u_URcGgl4z%iTD+2Lb8{{!XD zX5-}(SoiCUSB_J&8Rxy?ou;n5oil272cR_8@$7N;G@4ZO?fI&+N=tpcsp1!mqt1Nh z8-RMH`6}d(!?S@jcCdy@1q;4%^$dW4)?ZMPZ`gdgvO`HJ{^4B3NmhTQ6V+H#?Juwl z08R{&HDA?0XZt*l>XVqsmS(dTfS6H$UUhyUjJwcwF_SJXowS)TlV>aTc3-XNRN5L< zWOh&pNyxWn`bVqdXKy=MYXG>fyhc$I3%@y2ea>+Cci!$d7=U(o_A%6)>rh%70kBit zWTmSP=B{kaPfd9eB3%9g37^s|LI}eXPcyAhoK= z)i^Zn(Q|5FfW2po{+P)&)>LC^Z}jGkH7480$IqDqOyh6(^33@Q=1a#fG*fm{7PJ4b`!AaO%(jtx&$w7z-h3jkzk3}V%udC? z;LV+bSpc}`;S;3!b~U<-r)9b|_Y-AqEqZ2)p4p;hdNlPLhBA+4fGeju;iS1Zoz7+j zLhpqC<^=GBX?5|l?l^Dg>-yE9UPiwF*NR`M%D8Krv*n7b+12Ul+MqPK#-wdJ(c52=UKm5JjXfk>FkK6opXiBg8nnznZ>b$;tqZ1S6 z)llc&#GAaDTh$A0F5ch&t;1k8dY}G6r5!E3e|*=+)Ox|^!p|KoMiqd!8>lY^-^Mt+ z&lc|L+NYzV@{F(54});Jxb*+>V80HJUIW{%2A(@r5!KjO@$Y_v<1J%55BKtmw~TWh z?$u{XMbk~sIL0m+5DLdLc|KPr9POOt(XrlJ%Jqm>X2*1u*TjA0s{*h+_WB9`Uk>>-Vd1n8#OFk~VXyC}R{tkZEppg~cgLzV5+&RAyd`a-g`ew>k z4U0Qx4&sAGPC8>Ar~%i3eC)(qj|E2Z(Ni{j8ED4{^>@zco+vzCQp(4ln|AdAd6>I4 zW}I{-_wgmp$-j1z9ekQH@9SPC#QO&8FOq+sUiJL%Ew$wJbFr3|Kn(`A1Xc@o zIhgvQUB&DjFn;8Lnw))=rz!I6Ajch`;+6*!f=VdmbNx;k=qcXOagO@s= zFI!aHCulJ@zd3yTKzqLPqjzj!K|>ZgKYnM#SWD0>=O^!kjkQ>3ai4bshWC$M!xw#U z!=2vF5T5vPQdWPHjVFDaoYl`@=irIX`mcih zU2Qk<1z*i5_O0sR3pLozCw}b}=szfuPx#g=uzx@lpYh$Wu>;zT-0ge37J2YYKJWY3 z*(UcPe9rf=b6h=!aIf#Dk2E#Ua9;S)!^6)vf{*%f+)UNo&c^{V_ZaT`hX~At|lLzemruz+3CU)j?cWUy~CGJ`+dMr_uj*}-|xY} zivKj8|GRw#^%?;fGfVXx&cjYb&NB20&`^ZXy_lu$DNrpvC@#v7oYXZQT&^n$Ip&TZ1o-GeCq7zW#@;?aP9{@Gk6-Ge>Od* z))dZHo*S9yRQmH3=SJsrQWrk|+>}Mmt3G_)xoI03I!#XJ`3{vv&*Br$TcVBB)w$z* z;DYljH}ItM!xB3N#PSK}V17GWzn^ ziZR)hKA}9nV%Cb5t3FPCsj`yUXF97dHMct9A|+h%8_fGfa*s;^;SE6(oChxj+S*2} zbiO8F*o{2x((nYQ+MB0e3J>Vyc0T!1)T9RQa6a`?)Z~WV;e5cQ=-DmCKF)70jmf+O z{&rmU4rmIU#c#UoAJ+nX%DZeC)!y66r(U+j8SqZ6ipxXB)D0ZZBQD$Lwo?zDbj52x zXTWIQ>q@`i`e8Hqgew8D%;dq-u2^E3!JSXPGAy#rXB>B235#qshVfxnMowun`f>Y} z_}iPTR_%z=D(^~lk6y<+)->XDPK_>bm=)gvcg z_8-IVsE(d@xlaUNS3Nejt=|wnx_a#L8pWI6T0L&L)9k@-sh(3<(K1lLqKbBZlrPo%2&47_@y@U9)nn9!M28KB=*943{ADzLc1J?B$>a41 zv+GrFeoM`$C2fAe{PvpBOPxkHKDuW7%1X@3%{9sMYZ|?HaLt6Jmy}>0A|MUs18XMa zUt<1z5MYHm5be_MY^pep{-&&|YwOLY)=bT)sUO6XYmL_W__;i_*5ut{8^Z%@O@mxq z6&_LRV{Hl;#qEIgLCJh(?SQEI{^2~g))vzU2O}2`0&r8u`_{%TxH9QBev^0<;9=uA zcoxv+YjwU^J8s2^A+z}U+SJUNdQZNtHhoEDT`xZK>VT+P^t0;fz!6o}WIp`rAe%Wp zlTQb%^R@F?fVDnxd^X_Kexv!+tAnEI17bvZRD*9Y+6RT#`9$&DtG0wjcRwC}b!b$* zM+9GZb$Cq0h?P9&YD8ik?9b$@_Ut-5uq(crys)a#ldrv+y6{R%G7d)ImUSB{v=XVvu`-q1gc&k?Y1C?8kXFQf+YHS_;r@6E%iy3YU6we~)Y0-`7a zoAEFm5D^3s6%proLPf<191w>XV~jDzB-U?Ytxb*1R5R4tB(*k8ZJHQsCToToYZ9j< zCK@GZ9grv@BBH`szt8*b0sFiCeTRGhxX*o_3(wm7o!46Le%G+qUVER0sOam6E?hy?!xz{@-g740}hVm?GNa@`e5C?ur?;HM6YHmYHQDeI(HM=1-x3+6J z?0X8YhNh{qhV=aN-4{YWz5lh~WIi|e#dxb5(#Kqk&Q%K=vc@$V8S37K9uw<2ro&Fo zq{j3iYG6bD?8~kYoCnUn5TU0edl^& z(dn+^yt{F(&KRpa*OSt(b?mLiUQf!n5?SQ^(e;$R^#L(z?sZSzojXCQ z*LBaJ>llyu91sTiuEWqTsN(D0Ml_}rLB89F=BTcU?v}9_q?TUK9MzQAM-^S~U3LZi z)8gv|(=YkQtD)EXt*P^AQ7f(&PPlr_Pd$ipT~mk}a(&S3i(0%|etpQQ)15P5cjAOA zwQ(xC(dBB)n5ZT+`h_)N0$k7-kkOQoq^36p^=yofQnMO^yEH{+sTqyId5v)fn3R4sAWM}sCS_hqD^ueeJp=B9 z8fs!=+MpXL{ndlGICQ7I9E(a=bO613;dMPuO>NAd{e#g&NCWHLr2P!b|nRYFuOa zwE81bRow6oznnEet-2A?^>Rj`_uU)e-Ku(*t7SLB`>HEGs{BS&YGY`UT0rLzx2nXs zDL6qbWO@qm(;7qF&`;?vTW_lsSg)YP{53dxeFM~eH+m1RZwycao3!Mc(NPMWQR>aa z1U0$I|8_&lG}W)kzguHsqN->L4R7j@3_L8M!N^sknXM@F$GO?)rXIxkPDq4W zjNrNx7OUnqC3mk6NK*5gl6%z$Ca8y+k_){4A!;?wEs*nT${l~Yb5C_|Q?KHSL22rN zrar^3z`uDnz0J+B1#0k3EvY%)P`z$yX^qJVYRFAj+I5_l+ziR7P0LkTH$&qaqPwfi zo1qEUqchdyn;rYsJ=EH z#^E`^O~mayoY4=eIXB~yFC>?%r8nbx&|(hGIkzx%p>t~>u0PJyj#lB^64FK8gVjE) zSkbvBu7~%ZH{<)APbvhSkVpEaWnbmzsz)$+qNT5;%`x4ny!ST8WMNHCl{Uv_U+&yZO~<(o{nbOwSi25Q zR)NjkhktMMQ=^-6megY0nbbUT;H4j9y(gQ;&O97du9h^ejQSeV!V9D{H~&*fcfyR(^RkZnEd!Dj56Y zola^2&X;a=Qgdz<4Zm6!tft-?cwbdJLlxZ`_{fQl(Q5GR*4XCQa5dw0yUz7S4>c3# zhUjeI!I4*uELCzlII2D-M`hm*9)7ZDuv&dPc-oo#WHsq_NcN@dLEb%BgY~IDug2nx zbyzh9jp8=qWX$a@DRiECyNl;)=QNxnJXbrVs`t}3%9S9mx;MBT6iZZ z;zE3dntmr~(8Z3i>Y+O+{V)56tI|831s9ACbgsM*8R9*5CnMu{`f}CjPTu|B#U!cd zJNeVj>tU+LopGbi-0Y!-w%iK8fqrUOi{F^4qC7RZCBRdI@&vU62b{~Ctx{To`_!hm zm8T`7@1>LkwX~&ur-tA-b$?4(?%A}yYI;k!`^WH1^*~EZ?vEW})r^*uj2g@7fIMcilbIU+@cwZ`QBkTyz%x5nn4P93FY zw#M~27ZQteeBZP2ebj{3_yOm-B&&y7QwIF#-$^ZO_2m8N8>jlTj(PM@Y)^Gx>%@D` zpKn$jy}sU>w5h5S&X-aqs`g&rpxXG}L=UP-8>zww_lzKZ&_&>pIG^uc0={4HrMP?* zPUqC&%E0-2W{FDicIvh8S2^N=UvK+EdNNv(n1}@P{{fz{RLs$ff4h`o*Z}-qev7L(qP3 zzJPOtH+%7McUR<}Q+y8hgE8LR;&Yhq4)XT8=i5j;xc3&_a~Ss#J-kEup1Ijm1uL!T zVz*h=8Eb2dmnlR*%(>J7s#qEMXVGp-RC2$IK{4JfDs|vz1JwRAV1{6 zqcLf!uN?mH=ZV=WQw!*Fsn2{BtF`y9N}H{+wT`i8;|f%Ftz+D|xV~zJ)+wzzxu2Sa z^SMOCt=6gE#fXk-rgg^eb9Fz1b)LmqM0QnTZ&jv63^?04Oik62`<+F-=V_?}kLE8{ zBeZ^{r*MC;P>=Oo#C(1g&QXF4Z)t6i~q$5V!Re{jY2`Zjfl>ftI_a5$-l%BQnC zi|~bqldulu>bK}{Y`Q9T72SI*BtcDgEq%1A=Bk?O^W*aG$K6!LSnO}eovgay8N%hh zl`7Xq54zlIwsQLf=v5ihRd=5NpYymciSr2#IE8r0_X!YB z%a!h{nyRwOR8L=}|Cm#zQhohob=oA=)z`1xnbeW0+}AJsd^Em3?i=9qefJq^wr_B3 zRcw}8;hQ_{(zRN(66c!wS~bGA=crRYv8u0czsfIRf4<-O%9ACUO7y#3SJkspb@THJ zs!koDGW>!)TnC`SrQ?JI$+-{I%QP=u=b*&eiFY)l&cDURCYl)x9{M z4vP0q^Y32#Y2JJl6X36%=w7Dc1HBDZnKM;PU`)+>ysd$xU$o^(1b9cNeaX-@{8sf31pmpImYA}D3h;kdru?}JhY7n$YeOj`)OlM|bFw_ThjB)vAuE zLyk)yIuHFu4^R)|{I!3mit9LZ&Qag-YIRs*zpwl{^7$K_mxm=5e&yF*4eX?8hkDIZ z%R0ps9LGA&>Q0IMj*%SBB)_s#V&QS0cHRSBa;AOWE<%lu9MR>=j}z6yvF#K8H1ZLw zfZHqNv~h=4$e&ZAOOLhCd3@U=8ZoB6=wtDD=XajCcA9o3Qcl<_1!;cn;Qda#df;~O6fT1w^Jz<#S&H@I z>N_7b{&*Ze;TZbihWe{_@RdH=OGmqEC^u8;FW$>9u5`;BvBz8c;=_qIa>U!-#$T_D zYfTovSFUZ#n-zD|BqHz`Tj-x*<1g~;#!Rk1H3CtI402`(F_{4l%qT!YxGR#nfvULOEpHGpdY;x}q|_57yVYvLcO;>_SPT{ROp zo9P3s`_B~LY;F~=d1sy}J{J)$-d26j6kl&WE!L?XXQtf-wy^U#&4O{Wiv@4fF_S#&%+SX@*S>IPLueI#nI);PF2@+0w{ z8dkUT{MnP@3Gacc*}JD{G<(*o`*rXkZJfTy}fPx2?Cu?{G6Q{lv{{i0~nIMtu|9 z8RZ#tXVh^3FJYcvdGh=#LZ`&Z(=vfx4G_N1s%!02X*h zpSg2W{KWew@7P0~d!Tua^Ok+l+74dLQ8O+#DLg0~rIq|c4-b3cFOP41OZ@%vnANYAdt1eeSAS@@ zxYWBt{IV%>>Q@!sH1Ug;jpp!#?2+A+?{A~O`~W}j(4hLi;;uep z(q1t@+bjF3o`1Yq=M_(ivkJc%q$l8$vFB98UvzH_J{J3}YX7!NMq@Mk8Sl^EZVDWV z&tZPA!glGc5!mQ{Om*2UwRo{r>fS4VzuDl6&$xc8mLL1PU5eNtqrC5)ICIU5ACgdN zRCWEaKjL$u1JsO*SI+Ojhh`6}2WyWX*2EjqU#+e?{^_T%_kvndf9;*m@nPB;@0-^? z2f&KC#h3&qPSRy@9E;-!)3M-B0d?<;o=#RorMK#w)kcop4Tf%uQQ%HIwW z`_a?gKV$JPccDy_uNkt|#!+v*_(1mbt2seGeBt82Hm^Egb5$z#%Vh7kEICOn5XWSa zcYJKiB(+3*EIWBe#rjM`RZJyPHutsqh>PfT^VOq=4Cy98x^}0mF1}T&$zuzGEodzF#_gSF93VcCU;Je8JU+)$8>ah^mf6u>r9ffl`QXiy| zNTo=NkX9pYM0yeFb)@%@4hrcLjg)~@fHWGkY9#FaCr9AD1L-pZ32$}ytV4PlX$R6? zq_2@`1wQ$V6pjQNz60?t$q%j(sBtL1TkW@2;P^Wnb(!r@{h7L*sM??Kn>K;6L>O`e z<9!()itkyY{}H-3f$==ymRp(sYsORX#cN4;tBHq0e>%(G%Y0vaADj7NJmL86v?0D^ z`C7&=0B<2&EN1*T^g|e5&-i}u_cFeU@!i1RV*DY-w?jVvF8=f2?`C`#^Vd_%F#aOr zEAd@#v%Ft1UV-|Vsj)c=H^(8!Z*YF!1sH7;~*vQMRB&Ge(CMRxFPzJ zRiAzipX;KvxA-2RgRjXoxN@(^w}h^K;b=}_&RgJoCu{zNQ%pATwdrVlMLR?6l9|8` z;;ZMi_|=_I84uYP94mcDR_o&A=R;OeHoN58?UKn7wz^YLeW~Vwg!?2|e2<`5)AbCC z@3F2*G4frGFREwaH_&zbwvnwJ%hGNO?68Ul-Da;SW7u+ci^eja6JB>KbcFb+!D^PMD?YDqP_IdwahGN4LsP5fuzPz|_CXo>_}F zdlV7A$e&6<^$CJ+rO3y-OaJv7R2aI<@83dS;QRCf-=G&_4$^X@bx3#v30F$sT{nR* z#0$LJX7+ZFm+&Nh5l~3z$V&7GgTbRR1c;7nQ4?8c;XTZ@rM6kPA%+uQz2)F9F#d@8 zo8`%~zzuPmsPdZn0MsmeTc2B~CK#vR$Kflbo@1Q+b(OSaJGQk(eQ4Rb&Q$V}F8{1P zVrmXwbwf0;>=w&Hm>^w41~GM&deyRUo~YsiQ=e47v8ZR5+RW57>RpRkPgEJo)ce$W zi~3KNy~EU})M1NS!?KY?#W+T7LT?T8zGiX%1bTw#Ok63veL>|n;|Ny^o%TvT39zod z`Lc;vf{_JL&`0>lO+F(L1^@M1a^@JAg`ImEMr?W?Qt+FQQT!%kF24iWliz{NLsa|% zzi&YAKn@c04&+FF2XdjP#{VXM2l6R?2XZsN1NlpS2l6?72l9D-2l7{V1M(WQ=^e-y z`0dB5{Ptr#zx~+2Z$Gxu+mHCY0KEMubLj0y`82)#D4(IXALX<3_M?1`-hPzN)7y{o zMSA;DZl$*$My9$48B&4X{{|BTD z@c_&I+dfzP-UZnOd64=GNr`&Sfpnh(j((SQ|4q-V-JIDmX2(p-UWCZo7qcht2tmVE z#2n~#fuNZ0Vro)X$21Eud0wpl%;7|fjfnNc<`d+pjvekfPEfD)u~U0JA6p6Ts@M&& zTZq=PK6XbQ0U|puc2D+Dg3=3O52TNd{SF!{V`~aqn7cBzIeR@prQW#wDMRD@!QCGh z(TgqP=S1`4INyxIxLFw+NUrCRxTQU-2`b$a_h_%CIP@e_cg1a;iTs6#+Znev4t)ur zs<^tsc!Kit;=K7>g3{3VkkU0o%W8^`&Gsc|_PqGa$;efR_`>+H@#v%AgBRnM_Sr$u z_@?+rC-}xAkJ%gJx0ZN_R#sWIDt;$H@q6RHj<03tc0yoUN`cu;|U`ZN(oAzk+3LzNy2Ije;X5??H^6Fgx9-P_F=D04@r1$%94bG7@)={oE%)n z+}ecOZW_gYN1pLcI}?v!J-QJ6$=+~+lF+-GkY~LO^;~8{sjuTrarR_VA>s%U z&=@Pkl%Whwb)ZTIT4h6HH5*FWfcM8anv&pSGfI+Be+zocfv8llggj77GfI+90lUn! z79o;@2uhAdd+=u{!+{1mP_YBeaUhh+)EJ!wZxoU4uoqzoC4)C=gfQbO8Rat}&+|4^ z08d(6lz9Ouh-8%6f>34?DtOI?l2Q6(*u=3J*Bv&6NP(3pOBjl9Adds(+tApKHk2|P zUTY$a{;)Ew6YEZOAk@vIjcKrS4Ca)R7Ji?aHDdx-7Xq4(;E`ErO-hY;PkVTnQXs zM|zK;gMdylREzS#55RBRSHTl#(>zfQE#09N*|fF_+pe!?JLnvp zp4|?#-+`(D)st=-QZGaWpira~hVlRnC8!^+Pe0Tic!?bcX%!B%(uQWg4vF?qD&3GP|q_Spakk%uoxXtrEeM2;ElUEQGf zAnpv<>N=3+in~^JeUzb1i1DEWO&@GWd)KWtt?N#Qw%4H@a%fesSI1Vo=#N7P%7{fm zd2q}`+QCpEps@_0&1ArHIKp?9+!jEl+#ZZ))yzGB@#0yAnr&J)f1B3x2sFMUZo%V# zYW`1hrLfm6g1DuS?gl^Ln1RT_6$4a&R7}vYeSqc=)NMJ^28OmEiYpn~X}9TapW3uB zA3LB)&%7=b@w~ zZ8d0{nY+y%x4OS+_u1X|fs0b$h!$b?j&x*Q;_l)8Vaa{p$b4N8CnnM zd4{$F+Re~@K*t%nAVe;D8_|rXuVcKriHnH%yBjQc|hBVR*J}`_EEUG7w}%YiPmdB(s6>a zfoB7Q+#b-H7z#D7OyTDIaLl$+h?bv+G?bu$8At^LwOzsN3%K29ZZ<4TL`{MFB5|pD zz>4XE9w}%GeV7Y-rpBzQ9wj|0n6|RV`X0|Sv>jYT0BmWFy)QsJ#oWub<(#0L=$sxz z%Nc0qkyG5(ujOn2eJgX(0&?~;bO=xtLDNI*ULdCtx-O#Sc0x*GC>PLRhDre~VhGWc zyOE(6?Rw;*2hM$uXtQ0p2WLYc-WiQFhoIb(kSk*dZOimQ&p=zZXOvxnp6L#4q^;35 zZ|b=gw9RCt=QcZDdcFy4AJdKis%EGjTmnR1C{jE_S%8Wd8V{(9p=Cl0X<%rr5aVJA zqS(mWOpqO?z_%g2NwmCuNJki|22@W_FG`^V*|7^8*LO5u^C4~_#uN~@7m76IEJH(W zXb5n#1ieZiQNi4mb`;xj-xj-&LHYjo*rge0uM4Ex7Q6Yrc8&gB?B*l4e9kQ&x#h1X z-Tdc~wllOF(0+!F1G>Oa6YSwC3enpaDV(7c%!Hn1C=axu43z+?Ac*EU=IpTdO30yOr^?2Yy;qc{4sG10^wG7!)Vf~aRTd)q$#4uoE>A4g{&^mBdC z^Wlizqt8@^Dgmt`s4d26gf&Og!Q<`O9L-tHnO2`Ym=|)srCIRiD{SQexZg2UgZrla z3^fbU*Po!i5%9}WhCIOX85#~~DnpfkRxz{zx&(;6Tab1zvQh*}Sc!qHG2NyAft8d;%jSmHc-T`fc zxa*nwJfQ6i?FO`;p;Le^GlVNY1lJu$H&PFV1_CN(Xbzy|46Ot7G()cddW)ft0UcxL zET9I0hH6NtDUPV?P}CGh)O9FoiX-YebQMDz0BvDtC!oCy9RgIvP#qvILBm3jVj0Q> zG?<}DfaWo@0?^|Oq0briIz#&a9bu>%P(4AV@Qc|#hQ|vr9KOMk66iR_JG3G|k#3~R?z2aB5@KW$aYyz+8p%)@pk)lL1+RJafWb}N8%a_ zF$!0CR5U{wfC?BI4QK{K%K@!p2xS|E(&C7#V$OF*eQl3DZEH7BwO1=b?KyDUy2a@6 zb}uj*o-|h`Mz4X~2V{BllSnT!^oB$G0?;X@T?W)b(3l|G2V*h-6)wA0N+97N8=Az#3o1&@w=48A1e)NBrW52sTIE@raP|7ns&0!~|c0CWIrU zFq8*qC_^QHDi~S`Xgx#E1KQ5e2Y|j{=q#WHf{Hbyjtsd0^wm#7ftOwHu0xBkmMytu01o0ec5z@PS-R+@EPHP{ zwEYh4ltV+UO}WVtfH;rIg@8B@nirQ0r&{t14>bj61$3D<8M&G5ZSu1Y?KOwC%b}sZ zmfQh{_MJnkacIppt;FA^m7r9nZb?2M&bMSLph_xB$trucL^G(84MgL+#it44x#J#! zO17AHkbrjBcPu5~&|M{H2OQdW4z13nO>x<@DNzm$Ex^>Bf`~QOF{hw^n8Nu^c?A&X zI|Y`_namVeo(gY*Q{&K@ZQ9fjn>IDpq2XGXx>LtGH28ihypAJ0J{7*k5q_TfDMMca zI>%5W{8vfPG?(2EO-ll_jcK`n_AxZrp_Mu`v}8+etwY=F&=5_Q?h!!MY^5GvC%_#2 z;u*@a`<&7uK=2KY;~iRsLqmUR_F;4fR0@CL2w#=L|2TSa6;WFAT2ALoro%%P4W+ke zivX==xs8BcWC#&4{XK>b0y@c1Euh;3%?Lz_VkjLDdK(=3I1ox|(aIcXJs|W&IKF}O z0Yk?Con;8^Xr@L`+ui5Pd^?I~PPMN`dC1IF<){Jh4KugQ+`$lPZqZPG3#ziAS#302 zRg*glrMIAX8!AT(&B`NtZO|;lwE308zGac!#tw!aUzzWMJRn(R* z0<^k(BcN@7-Ynk-=s2JYdX^Irt?CZK)u zj{v#=sHwuYqP7C1ugIt<090Htr(#vbhKj8fyFmN2;_Hgqe|IgJ#&N~a9Co1Y6YjGc z&x5h}EF#w88Lv-;g}b%BjE{Bjmk8IFIrw_!H&}SO2q7H5F8@8-bDO&iT<<&bA2a_? z4*m`&^67;8_I2=V!u1SW-mITb zf^AQ}!2Intu0^r_ObbuvT~)f4Z0&4vYti6iD+@{abaQf9K)CBw+loBN_zN~JE)uSd zbV@Oua9@9$uf4opKcCI15{+P9|&}~MQ&lnq*g~XRvg;gGLn&p2a{h@Wj zt>qBzGun}#Ot|(gcKih5+tF^}PdI*Cp5)gFkEkU4|FV97KP>= zM*uf{_bW@ks|Y2&q~4HPtlQi>s+C*(1dG3z?T3TUvEuS|4Uf#nPE_4*uvPwa;R{RH zrcd^?&s@VJYGBb2n+bP)Nm4^9;LB0Wf1T`!{je9reD?K_q1cy15s4PY^0ec5+gs z9C!uuBYnPND_w+(`9H_oMilK`ct?+)xwlte;P(`w25}*?NQ!Zia%&VPhU{)pH)V}w zsW8T;`i){+Zfy)niPcPf(C?H<71WCxW)AYU-Esu&yVvz;eoq-&BKHHjPF4aI!H-Lc z;|fGsIvLMeP+;UMBG%k}1kNTA7`PFo%3~XMSThTCZDzc!e>E8Yfh~YPiMeY0lp10nESO zs;9?{bv?#6fjt`_+OuWC*|U;*^8hmzAQdkH`f=voVGcgmSzL4i5w9kjn$9OM$Q1Ni%l zUnYIO^}u&AzMEpX=sR3*>OFMb*m=l&^yJly5?p<{n=#$K3z!mj56f zE1nB|kC^4xI)iGMy{p#fGsmQgJxryZQP)fTCTGqA-7v=oy}i#x5!jpZGTZ$UFM6M% zO5j`zc^~75B{`4vFH&rUx1inf$e|sxudrAJet_9~=qLQB<%Eh9E}S+!?bKgAw@WDmmS1)Fd6 zq-`_0pAr8q{byL;dtYaeMlb7DMk5rGJmw+WD)3d68yP@ zYu}MCQAfA9WbsWexaGsZ4e=XG3SP)Z>l56Lv|k`7m^oQv0rbsSdCsX-ZCn3D+JHW-ZgLYthcT7S|Rdn~Y~Z&s}Kz z74^Ukv5BbW42G!`F@|`OsB*d8>q~P~K0|FZaWHIgAEUQYoNGgYQ;l@(D#eY4cA&k< zR%yHqOe{sOYxZB%f17>EKIZ2+9^TISUSVA!?e~Q1byT;$ZrJ-B<30}G>=Txg{SK$V z4<){~gY0*sx<#>kux(#nAzZ!)-wuWiUE?`yp97HWL>w{1jvZObn#(DIwbiKEkF0qc zT4oEIO*nFj7l9q~p&v=O*lzI+X^yf6muw(nm19ABj7pZV5_l5HOONeY&6jX-%EArt zcfxgp@|U+E?h0U@JwclL039bt_plCTrSfam@%Wnau>_t87(6oR zG6Aw?O}K5#pWC>6m$YOH&4>{R2_gizA-MkHv?XPTjU=TXq4^QTi}rJtTE)~zXVm_J zsiT>?o1!Km1hV58KSoi*x@J$kfT;$>4pGHlS+{_xjegfHS?Zq+$^DC7K(iB)Wp5bb z9hT*pSo~$=vyE|#@sPp@Cb_2g7CLH{e;YWrU)N^x7hZaHOEX$tBOiy(LkVWFes|`t z1b;E%m>Cd%Fnsb;=8vFj+bABKk7F#o?R%;yFiu9`pa?@aGebpJOmrpFHOMoMwB`W8N=ny6-M{iTpE^^=*4@ zjoX!Tubytr_}cD95?H>?pWIvM-JSC05?|hcZEgvo58=AB`SLjPZGXAt`^^8f%{T84 zwHc27=fu~J+k9;v;qo^&U*q~}ryTyH%>SLke}r&7mhOpSyl81R81L!H+I(S{?e6_Hk=%1U=^Nr*~lbWm@@(ZAF+Z_Dd@-x7Y`H zjKicQA9JKWB3xU_R+ghismy=E=1c0^bZwjC0dD8`_y#<{{rGF(8#0`w&ajmXl*MfQ z&BCmaN0_t0511c>T-K4iTuSQ_>2zoCSJvmTy$8kt$uMYzD?Mnm z3}7oi2-|P{*$Thm)nhyOG$YbwKZpM-=Kq!T*MqMJ*Hal^iBb<@`Qu!w!N5lm?kZ+} z32^g1csk=lftz#kujoG9z)F+39wrV5vpj~FNBVjo@uTXI--nC`Q5z6Nh=#q4cVj#Y zcoO0Adtuk-Ip!Z_KE@foKQzP-M5W(TgcWS!H}BT<;nXst(DGzCYu#tJWbrM__p#*N z;ydP-Q~&Q@3ad$s$J+85#pGRgiP~DiwcQrqkcrISEUZ#${*3=%^F=!0s?__K2=uH$ zoW4Z3Yno%i{#}sFJ>M_3cT#Y_M9~wd5rl-gzfdC%e-ZoyIPa-NGwZWVgD&6n3m-nG@XFSih`S2+AXGd{xMe@wX6!Qp?; z{5qR2x-;Kv;~KXL`I#-RC9`~6tE(j3<=nZ--!cC|TVDPLVt#u<@erxkJ^LqN( zYjj#C@Pn-0{yj&EqfC35da!P^N-%=0yk+qXv)|T+F`q_pjsiW}H_eLO>yQtztbV~- z=$E7)r~&3YQpeK-*!EzBAp}%iPxcML{T5cvtnq3s^Zn6pbtb;X-$Ti02F?*J-)5`S zuZ?4U{=N#{Q1MtZxMGVRXO;r*j3d8{J+Oa2$;5>=)2)<(Sb8Bq(h*Xl-hO&G<*3SJH|Aui7^#4w{e94Qi z83g05U*sh517)eM5Z8_~%@z64Z)v#XXWw zHC8?7jrl0T)q~ExS$o3ujZ{m#cjhr;O?yR{Uhwd$uCDK4eglH{Gc1-E>I_1kLA zzLh5}eYZIS)IR0<($gW16+9!f?e}DRPf}ZI??(CNGtMhQX{f*8-pg9`Aum$f!WXbu z>as6tMORQ84BRkRW$zlVrm)m7pP#anA*if|s3oe55@rbuUd`8W=lzt3)q>!Q*HG4U zVOLkYj@PU<_tojXsr z{D5(O`T?&Qg6d<4_lc@~Y3Cw_6Yi?C>#ou4yMu5MRjU?u-4x-j#Z=ZPY8^ad)H^!- zpAcV`w9?bDcwC`E#-}q**YOT;LzWO#f5gsP<9VdUEi-j5_*@owRG7JX%y;^Adu&g) zo-4P_P*`63n4&fHQRMn5*~eA2^&cXfp2nG_k~bK?Zq+q{*DDQajwN`Wgr`L7P}Wr} z#cMZ_bSDu`xXT`~)6M=-?5H=J@}kAh zHOCw68=q7&`a~@9!>2rO)a8eO%uyhQa92;;cQT)Ft<~mRy>L%11xhW-nLozni+c%o z<`o{%i*R|};(N^Jz8d#`DNE6EIr^Rc&ttAgyX;*b9+61;TCJm>K)61c@=tDnemmwb zarhz3Uuc!zBc?My+u_e(yo&U>jXwY!H7BZUvZUPFF9~-ob*zjbT+g%k9x;~jKX56Q zpcHcn*Y-L53g*Z99=3d40NfDki7Jb|r51H2QRO(IY7h8~XDUWQmVJU{rPo?j5odMr4|}&%?}L1e_yVkFrYXHlJ|G z)$9f8D=0DptoY$sN#ZML+dNAVjg}Oi;IdQ)%1giDN6$X9aJ}acu63ZwyT6{WJq(wTyAS=i&+Y@I?lxq+|%lrw)c1k zk1jWQ!S}(cr#bsHS5w@J5Zf-+@8WI89x(W78j`85FehHQ?Ak{1ThKxHiF*&7*MrwV$&7R_KQ^e=J?MKw6#Y!usiU{-PiAKNr>&k@pa;&1U^s zh-ALb&TJ$>xQMTN9Q}cW%YO)4|5?JdGtPCVmf&k$_Z60uM{v)qkF%{vu2tI|o7~G* z-lkH-)BLxHaOsp%j3iuN=jb;w|2Exc%Nj%{M}&5o^|wI(CFZ|MUZS2-+yrh&uDgD~ zv2u%~w9Ue<%WcB-9&Du;S}T}8(&mfD33u7M2;J7$8%=SA{?#p35?_Cp^*aK8m~gGa ziYqsNtH+R%rGDp>qKT!J3cD2N7(YQ);=Vu|*iE>+=I}o!-0?-a)kC@{Vz{n8;N$m2 zNy=R7i~AU5SwOfP;z&`ChHsg%)F)0^{=iawc>Q8C@@^&ECAlm`z=K)-GrG?a$ANEV z{Gg*hjP;)pc3p-ue+=tW`yWg=RurvWbYcwQdfPtC)r89@t@RTR?+`R3Th*Q-E3xk( z*H2lhgi3*Lhq<*LY~{RN3hg(9Ycr{(iW2bOV16X)uf~|*%lcJZ3q*&u2Dl-4KBiB$ ztq6_=`2|~nlq_Z`j(?4N?$}IF-(*|M99!WmHJGUSc*oYWglmz)@{4$e@tstn7{sr5 zfpGbEhyOm|`XonxJ9d>&!7muy@fWO=@qkJ*Cp!@T;>Tl`EjM)YI0J$Z@bwUN|5 zaAy)LT#WPmb<9-MDuZyj)vlF%9=IU~5!F>h>r^~aBmoaIW60&9@k3jVelU=voHa4G zNFZFkO09(B(+wQo<0GoJjyw>30sRg~qRjOAu~Y)rzz`3zt#Yf}9v)S6d4kLBhTlGB zE5BhY+tAx_B*=MO?o+_IAJJFa^)}a2<#DgH%2Ew|L-5R9`<|^}l~m3rtMaFIyOq00 zN(!RtPdK(tvQ#U@hc89tIKnlaoke#7PAv?pT3nX#!2iVhBOQH%`5$v1g($Vw82(13 zFun$!#r!AiYaj*yH)MaJx)L3abR}GS$?EAm+`k)=XE{3WXf$Zw9=qkd1 z8$659^?BCybZcbW5EDpNkFw?iZgG~WNlY!FJ3Cmwm)@9a&e?c(nvQ#S$t}y}?Ax~X z_k1PnxZlQB_EH^bm0Wv;aC~{s;%lalO6(HJGVsH!Jrif05`7J-!E;UQRJ8pmshqmT z-`I_M7JTkk<$BAuVU|sQk7}S}rYc`%`7Dd?mj7h@6S_CWcmFzA5!t5CBeg4=^tBrJ zG==4VZ|QqPcfws!q_5S%$L*M3W%0Y3_dI$}za;PvA^-8jmv35pxBQ6ZH?sat*yrmY z$69=kn9ckur@k8D&fSOG+ykKTnoi`i(9a>hXtw8!{Di}0^#q^$;%UF6`NOYC3TwBR z9R@!Q{HKhc-r+rUj=(S3v1i= zraeY{?Pb=dp6!pUUnXq(iG=IJ$sdSoH-GKUuzIHo@=6dr*OV~HabM^f4!>=@P9FEZA<8Z}sk61~NIo==3=BbWOL z7k_8|c+5v=?xJfaEd8z`oNzgg`B`XF+-I7z)$lhlY6LMqk@>V6hN2_E)Y9zt4m{Q_ z@z;c1mno#B@t&;kMeyr+wzA6NyJdUAb$dU6TV^x=ki+Meh25$4y8!!{f6?KaJ%PQm z&8>wHU#qtH8rygEwe`)t_*%Wq7r!HUmtlL6znHCS|8)3#UG>FuT|2*y@|#{?=kU## zZg1<$Ze$PR8RCLsT)eA|VkQmy+Jk66S~6Nu`X?btd+IQmaJrcX2e zM=nb&;-VAb+Q$~(V_pl_v$nqY3(L>2_-^xiqxyN$?^K1lgt2~$!{-Rlf9~iXV*VtD zznk%+tiKid6w|t_arkc#uFrS$?_v2&hrfjJL##gw`rNC_^A10q`9C`P4-xJ>xp13% z-nF@`Pxa4aep`PzmT+87Qy|I_7drbRpBahX8l>rr;$1eIQCPs zm52O(z};<))nRQRPz0G{m!9qW81e`d!R8366Q3hM`wz%t zWtX)`%8ZN0fp@glOgHg=cCiPK<_y9*;-{9ZPDg*U&hNxz0Ki|Jub~!?=-5(qL zyIZnPkgQCwWIwWGi5ehWOnt$Bg(bTTxFG|XI@Zs}lATIaYwfzNZuhaQIUcpuZ91s! z&AQ#S@2Zk5VrMy9j1?W(;zFWgck^p_N;ViC;1S*2Z_ah68G~Wnp+CV=u^7>ONK3n6 zN1!xY&|->(fLL7n)y%&`vEafkOUV(dkEFeSuCu_`F#kC3CT>QA-y$6Q$uRoL5LmvA z>z^b$S+qcjS%Iu#9pVH^JV%#iN!L+KNP6b+ceW8s(I9&OAH(>Q6bCXN_z#RnPy}EG znTM1U3H-SG1{4>mdj_TY2@h!~!c?Y+o8TlyYKg|3<@OeCz4OC~n20r7F z7W+e?A6g512Fbgk$wz)PFTFsx-jU_^!1H^UA7`}}!+HWA>a-W(@Tq0Q^7S>$aRB>> zP)oXA+DDKw%$@D79H+fRFtw2^;EAZ!UNq{b4D-33tDnR)|GricL&;5#+zug3eG})+)m^t%wG=v>&$Ok4`N@+k<2d! zzpH7F^n+;r_bB1|0IH7*eCf~p-*J8DdE8pyhIp2x;<;8de+gtN$E>tljobRN`dTY` z430L#+}DK_C#<|9QVkwo4MD9y*V@*-xZE<)UYC;GKisv;n&RCMmq`mh_GhnNQA^kL zwtJf{Z1q=MyN;;sUzyMQ@u`K%SAZKlN7c1lT8RsSl-Vk@ujpQb+wmV*ihF(eEJ?Ma zI}Xyd*7Mr!hLz6=mrn@u%62g$!^fU8dd!)!3%v%c(hiFNlGnQV(F(vu=)X+3_|)PX zg6pDnXZ~97Z!-TghtKmEEsOcf5TAUdL>s?^m-k*ZToq5U$a_aPzHC z9*-F}TM6|OhBRC2z19e0h#^en8LBqhYK;c(MK!Fo?xDU%*yjeX_#4)2zTBDz86uY~ zh((mUSV6HJKy7j$;dpCmtfkwFr8weUi=8@f1j`Gw*AUk$)f$t>uuJf4`lUc?S~#Eghd z!t{V)?R4Z(&yQ9kxv!J_?xWull%gG%f}hY(Ytd+i6=;n&KT_R^DybI<6D}O72Jt3U zqw5`Jwe3Kki%g9bA)t1$`T=@JkS%B&W9C{H-X^#2un&+$=XZ>vEUhih4)G}Bi$4jw zHe6btA@-Fs?{s`SJ3f~rucuk^9n5L)gV-Ypf_mBnt0g_h zx|`wYd&!pkqcCgimQOOi8P5dFc5n;0Ax;ui>%?00X8SUhN*A`DRx%#0y=-Zn25tzm zXMB*gl91O@mimRI<(3;6FSGOFyHCT~dwd^J@$QCOKFv~d$%?BAR_78fR$EpKb1#r; zv8@QY#)i3LSsw8zGvh&i394J;9zt$oTTer34cpr7*!mB~+iNdc^|%NeBR)~J^Q?uL znfxW;@{X{5wuAZ0v}BYRW32o+;}=*y1Nah_Z*k;*%KVL1iQRHNa6^30Qj=oa>4qyTU=oI+rsj;_$Tupa=aG`+%TVSOZJ|&2Y5M2-Q~Ue z7_a7BhJ(MDt;BLJ8-Tw`xXcx{x8G!Zu$4L-W}q2 zFPXL2mUbU$i7M2KucZ8`ttB_Hm2ykV;61yBI8Ic33Ty3vmYZ;&6RvN#MBTaG>DK!E zJ&vtGtkq8LH9afN0XM9jl8^YzvTC!Bsl>w*56)pIa!4Rt3m0}Qa9^YC*S46pWD@uR z<_IEw##*89WB{m!cn!z9-zm-{Ts~-xhlVgc!TpLzu|_jPbZ0GoUmN{>2d+~W^NQZ3 zn*ymobGBfvY(UoFJz?f=o|(U3CPj%>ApSeQU>455;u(jsO3*`{AkX9gVM0yeFb)@%@4kDdIszthu&l3eAMIogl^+6hmREo3+X*JSD zq-{uVBJD%MZy5jozrQKg3&h%5iktuUet$CzcZBAzL#_~y;~Kvy_KQ=ZLHf%GnJEX$ zNpg`~E1$=2YOS#D#ogN5D6@4hj^CK~aO=q6niyv5X#ES%S!>br=~O@OHERx=Y}NM# z-*{;4!fbUE^E2#wbsonI^Xb0$wRIQ+z^#w6RH(@0drxZ} zM*PycpD@g)sNTuGw4y_;^mQ&dkH+354)q{YXHmZ1={|2;vb%tHGRF#UvCmP9TE((- zPl|?vgq<#~ZU6E+!Abl(!5{GN1Yf4#36{|`pGN-Lm{Eh{MZv`4f$;)u5x*M@AHa&Q z@Du*%%R0da;b`d*xDSs)X`@99*7V{;Jj;@eHre+7Bk8dJMA`+rc3JfQMp^Ebr{8$~ zugab){0EF5KU|az8ZaqdY#K6UNWA!91W{_o3>Y3SBgTvy9WRHD9Z(W4R}_yM6E9zJ z%0s{Q{9oCpvj3}Z0{@fR+R~b1x!r$5y3OxF|0C((|Aus1NkaZd(xLw&=??!R>5l)2 zbV7Ogk`>~>+`0EG6G!;?9Up7>*uck@c}wrTNBUPRFP|$zmMmOQE+dvKec&D$yX4-v zOJous)A^Xi$2>k3@Npm?hx2hPA1Cp#6b6>dvU|x+#l6etEtN}_5xo3gy;AE;WQ%cp4CP}GA2F8zw>=**M+9uP`~Zgi`54H@j(nt9 zkHn0Qjxl_U$5F%YN~SP|o*Nt!PG#6^0q8?PPvBz`#*$*WM?dLG!v9!&Pw-LS5Z@yF z&+&cScfaoiKVSTN{EG3v#_xiEiGQyDKpf}!zk>hw0e$`=capipg4-SfW3rZx(BC{y^WOAH=VW{z3m-|3d##tkDnaNA#omFZHMOXY^!iE%C-ryqclG!5_whTV&*{(WztUgSU(#RJf2O~sZ`9wG!{rG4e(7KJZTkOW?LFYC zIJ!RIv+dr6z4Rg?f`B0Q23Ax+#okNQ*jwx-)@aml#i+4GQ;ac2O=66_#oh}xL{y53 z0t!m+MLM(Je=lly-sk=5?_>Dio!yx^bLPy|{kruVh4oQhv_o?JuW7kuUXx^P3dig(tv7TbtzMPJcRY$vuCJBS^{ zPT+e4R!|#KGipw4s0a0-zSNKU(*PPsgJ>`frD52S_z7*H?`SJ+L#uliJ*t=VijwFJ zrJ!e(O}SJ^Mf8rUsG8Gpdd`h&z_sOkxzXGNZW_0MTg0v4wsOC5yYcPUyWD*)oQu`I zXU%2dTdt@08$t`A6~5p)Q|~FhU>s}MIWIrH<%mA zjpZhDGq`!+YB_ogYq?F__uLNfwvRi+o#4)Lm${qVJuVWvV0dx9_&I*R5EtNgp}3gz z!a_)~Gk6;m8P84Us%@27KgcMH_XXCCN@~JygKUtgupNqv#Vh?ek zI7OTbo)(Eq2;YnqB8i9WcHsA{xDsQ9Rl?Uo2+E?JI0(P?;$Zwbh(qw}h*b-o>WIVe z>m=eUu~b(afnR5FB!26OpWxR;90l5)#WDEx7eB>s7jZ0pyNcuR+f5vg-vDs}egnmc z_ze;#;kUau8NWTmDfsQI#fz|r7hw@E!XjRTMZ5@$co7!yA}r!XSj3C4h!?#H1uOm9 zNlr`L*`ci$(9Sm?3mO7rN%>SjR``yvLN;%=H&$ ze{kj6ez2j=eF*#VqpiSXs|h>reb_l4TsfRTGR0;NZm>fNb-M#WJ;nF64BhGQf*Lz9tE1pb?uY^5J;BEr`^6VWccx1s%cZ$sPj-iFrd zy-oko2F+}GW`=J$KNa2xDMG4{A!G_!LN;RgkkgJNf7HjDg|nK@g{%Bg>!Ivvnypp{ zOA(EUJJ3&(@Lh?ZrY)~cAOOn}yg&W8PiWVAYP z`QNq#E;{P-ueSalK5Ml}n$Ox=zn0H7&_$RlQxGO{16{U--~Tb`KxIn59pm5 z*C3NLwJ|CDqmS_6d6W0gU62zT+Luo6@88o`@r`dh?}_%$bW#O(TCLVXYc-^%Uxbek z!_MP*kB@X+-qXQ*(%`0PQY|-m=z^iRe#lwmJ=#(9Q~<4%H8k}D{`Ggv60{s~7&)MoCJy~{t}QSYm=C}|cLs=rGFkzg2U0PVKt2d4qe1`> zPo!TDoCY2NRXCjYGk|*o>W9Ty0Df$qV*?<@2e$se7+^aPg^AYwRX@a3pBr(f+hwt$Tr;>ZHrB zD%0%R6U^gkPkzq!>T$o!5-)MWQ*GGv{(0Hjy0PcW61*>d>$a&{pX>f0wWVLnusnC{ zXoC3|TcPhQE!V& zj3ilSwi%LC_wFA#T_z?LR_cp{#MH)jt`|Er{K=|8*NQ{3%as^+>;iQ$N zGm?JSI_;Apu8K{4k^Gsiuf+T!M#`|QmXRLnGgk|ig>K{IJIXkBMM@(6!T^`n4 zB5^sX`ahb8KF#~EnjlRgW0&N?8NCA8QN{oM=;iEaegFHtmb2@vC*SbZddu2KSDO(s z`DWwjar*tK>=bSG51S84HCnnRQy{aHKFh;0U&Aj4X=<(?Gn>ABIpdb_4@S8xSF$Rq z#LT+pM=K~ONj03%kH^NHX`Y@zyY5Y_Vsb-T8$R@mT|pu351)Qlt}v%_k@Lemj)$18 zp1AIe9$!&p?oIn%O^P#%zD8GGEqrYrA4X?h&%39@U8lpzGt#ZY_tQ7&L%yl9tV5eD zhh$}(3!&4kgR;(N{-#}X&f$8hQ$WVC>^*d{bGOW+IeTfLiMJ2Mq((|{2kk687tdyU zFSO|G*klw-dSpIa@o&ohj1FF&-EJmZ6YJBp!gm(i7TbF%FWIs0an*~qEdFVmnRy+? zu=&qNj>)&3%tpoynV45+EZh8|`%=}+mhDLBG%2sqK=w_NE+}WjRQ2nm#=%lm72B88 zZf%d`&TG8=Sf+tWKtc-wd|i^}XgBHg9~i^etEwmsXEIcUNwhtX_o zwnv{7-{Gtv+iOD1fQ9UNc8~cbo}E~6cFzS>)^*voS?b+ek0k}xt<+gcbu=*&u!Et$H|YK&22sGtyfg}pnwliPKAapUeRIk)GSymDvu7S{^ajIGHNJW5@hOxH48U*^HTgC{$k7dR&l z=|7Kae8U0kWr4%ECu6=~6@?Doxo(}=sls-n6WxPZYEkpqcSkH|=ZZbrB{mz)&KG<5 zziK{|UBLBalOgOPu1QS?v!lfg{o`AWGhGwjUlVcNRopbVxJggex5RB_OwZ10-4c%u zInXh`mkwS0%%&?lP&#IDwAfztDzDo(-K8_@UEX9|wBI0BSnf9_*{%`GuJD}@+o&fC zujoDdnbLwqRSa7ct8bXXc1ayN^JSXK#&Pi9VIG@|YgGH0>;l(z>YesuSrpfH#cqM8)WU=^0NPY zcEi4^-s{1ivwHUCgD(#ptPXOltju_RlHGCi9T%ZEumN?Z&p2u}iT%{Tch139ebvrg zgI4`yRfj$4RbU<6cOrW@Bh&1{;Hl6ZnjWd$G)Qy?+Vf)MYjv4@Rfl6Oo>OR(o@0zZ zv^8lOO?PTqNo$}a%$00sRk8Uy@jz2@|2paDM;ylK6(1W6%PZDCKDrfcr2A}LQnVlX z&)S-v<{8cRd);-4Yq0eOa~VT-xb9oGy4|~JvV8Ax?>dEZ1NQvtc6SP!&^9!UM25|*n-2QCe}2zG@D6v(GGU&wYqN1Ji@Gn zN$1vRwi?HcEa2O*0ocsHlMVWQcKdQyTEn*PAKZku;+C*i=jLSw+@-^8_q92^%V1bC z!)9eRnF>o`*sN0Tv9PFNUn(|(=)OAe?n*i74V`7j?+wlf8b*6rUU*CCGx-|S# zv)nvbR)l|QnUf34*WsVqXJ^qh78Cx(JE<=1W9mV=jGmZh)0Wn%b7H&JFHe4N;gV^+=?V9mPO+l6+0Pn(N}Ji+7fp+N8*mP6?u(W8 z@zJS`s`RpNkwXLeoh84V8ry0Pvh#Kk{DN$@C+e7e6Ycu0O3~k?~`4 z^-bt!wQKz3iXt6iKOH|crrBIN$>t`^Ow&2RGB06fwp540SYEX5|c8QB~xV-lBVrC#4AXeA;~ucl4P(s!bJ>}1-K zYb~b0awTm^wD%{J$9_m#^4y%!T9%qVw7iZtw&v|g9|pBWKdQ^pKT&hi5j-zrFkfCw z$Jwil#gSG)bho-!cE^KrrqMC>cXsbPeLv-_*~#q5cbmO~c+X_dd1`MCR&8@WJKuCZ zn17NpD>XBTzE$Vv4$XR32JtS+8&H~jjW)1*c|)Vx&8I(L`RZw*Cp~6==YM*+XJ1(U z$^SI6V^=z;uF9X2@iv2Au8~W=UYQXMNhHDkUQmRC7EzT{LrW8ysQNf;OrB*x+c%22alM%^&$V(N*@nu<8uo4D#uw3x23@ zv{iM`efpr%k}k3g^EpxR5zrLg)^mSo(u=lLpK=_syVD%Hp^j|ddzT!IIV!CdYU-w@ z8;W|!`qR2!{inEguTG+ezYgkV(*yfsQ!e>da=~l_=N~bDZsZcSiZ(`mwlvC{)uUgc zeTStE#9qfUPuqCJ23Jp`b5HvXN$*w7=)v<2tzHkUj-l`u-P(r@s(wa$;sd`<9#j2- zzDwva|5>l%+3Y&6?XN3!k8l6$cO^j-dtMYp(kiIYNHviNhc)nV}MZFxrd}w2Zo%^GHtTAnX zCAvQt+XqYdD0P`Sx3b`E$7AdkZDY(LdK8;ZYq;@WJ!=BX1KG?fZY~>68_jLquk>dl zXag*_2Czf4MrqXXasYcwM=h$o&o5yX^jF<_b&mCer^D5i3-m^hNisQz!o9o@~ zN0@A3>+45EVyDg|c5S^OpiO=Mx~8$?9VuT;*$wwN_ph_!<=to*y`$5He*H<_hv zb+&s8bv}!|-dZo=C%VbCXAiapW*R7y`%~@veab71vb`$psC(fZ-RCB$%XYoUPC{5K zwe4>Ojb_trZn5gL$L#(ZT1{E%#C?`#_VgC-!cW~-apN%k$hBjC|7C5BzBQ$*%l4~} zp3!5R=r8`8#ffwT+=m`65tBaJ-cTqVVT+CmRukwD-<3^1adznwI!sU1Iwu+&ji3nZ z|NQ%8be+cZ6D6=sr{7uhqdlA>OF8Xue?MK|0+{dlyS@vs>+=#@f5EDBIYM-28!zWZ z#nS_>G0VG>o@i#W6;+K;^a<=*Qm2dwpEvd{=Q>vrd9ekNPu{jc zY%Q7JqjQaCLAo#0FCIt8o+jI>$6=L@w2RZR3sITxByj&!of};d7mk_m3|1CsNVKZc}f0l`_=^o}9uyfCo^D0fYOV3~DltSXq*y9(a(7Ug=uh_RQ9^N_v z`Q@>kmyhyV&?#<=y7;9<_^-4F`gB`-QnD{{%afJFXI=gc()Ct@<6mBUg#5jvHhq7BYRsvfjQZuA<#&96o=WknKW0;HxQnQqFg?!fMiH z)h8wYej>{0MYTz4dRPI-6ZCZ%nrK=?TvgOtwDhm(1GHL8PcC zGyd9MO64Z7kjx8ro`aVMEFwEH6(`y0ggPYq=~H*?Tgqlf^RHMpH`$KmU$tsRzoT?s z%s**q0jd3lo_K7$8||Q6wNYXG-7EAD-njFs@Wst^R2`4S!|=m^iXY~ z&WgQwcgy<_T1ahzLz}tKQC9U+3VGE1?h@L%~hjUqouTd+QaIr^!=q3@jbXF>{oS4T8GPDpn3h2Ru|Pjzlt_g zr_xX2sv_t2VNDY;A6gd{i&B2%_U%hf)g=_eHGg?KE2_ExJDn=cgO{ymnr3Tlm6EpG zG&}e|=0MZ{VkjND4#j=dzElbIM2*S@sRKDX?kLkWO0DzWYH0RWQD<;?;{j{hg88Yl zuxNFhH4)Wz>U^#x_pthgW%VcOQaZ%VWpCS6|D!IaKha@u=~Zc?eodFS=B&C+>~oXs zKImOdmYO6PcI&@X=O^X-f$3lIqgvKPqY0*fpTV}OfF;Vd+9o?OVrt?>+R$k@{a6#bdFZ zuymrY6^AByo!TBtSVrW^P4$GjLp_K|-C^ou+M~{4H`Jq8GJi^+p?`OdeXc%1lX^g1 zhAlnmY7(~U5c#ve)GJs3TMaw@)D$%qOYq;rIvL8UgSv-$K|zeAdo&qgmaE@jBG*w2 z;X){chY^kDlCoLi6(=iR4ArmEf1_-ZNDL8w6!2~>N&Igkt`Wb%_6Hc*PWj0YD-V$; zDu2pzmGSa4d95sa<(Wz^rHSFP(n0w{zsX$DZ&JRK z>+3^hcWjdwA$L_qD6;aiTt_h|7KS5=qHK~K<*{;ixtnaG3^hc`&Wg^kOKGO)m0!e- zayxMYCO|{P)si4dve8bI{gnOk9FCNp=9ohkzr)P9UI>v$u~Y2K4RQly=2~%!Vkb{G z=M9GpTMggJwuabR=7Ky?o?Bz=gc_sl)6($4fYxvF%o?L~kb4`Bf%kvSJb47tP-6^8 zg=T&*rC}`60fX>kWak>A=;a=Y9jSF39tg z-yj)KwhpykqYE*Y&Gq7D{W`_p+(OxE#~YrC>y#EsQ*%*qG2B=D6mQ6Eh&%>T`9mHp z_d|+u*hA#>$@7-^z2%jEHlx++QmjhI5vo z@)WZWB|zCCHv~Wa8b^kBd9Go%(pzZ`6QKOA)R#xsaD<%gsBF3kFrtO zV7OuUS#gyIC?ge1ln^IbFOO7)no6C8;kD9Tu50)mrOZkG)bQMt16nS;&k4>belLfJ z-|CGptMzNm(PA0CQ-YOXUNEe)-k`@BVtt4{#PFl|liX5RBdoFIB+g2(Fe*MW$+NMX zvcd3!VYSsdo>%%<@D`jr%MSf;tWFx`FXRR0A>uY=kAX9oYM)jE(WR(mBoU*5TK9@U zzt%Ryu-|Gea&ePZBkUyQ6T>SzogtY*kk8GLLTBvX2$4TgM5T>lZTMRe48K^1SZ}si zZN1UbX!y(Uo8hJ5A4q$g;e_Fq2J5xf>tuVShh>P>dQ(_8dARZ`#x0!Ti4rIeQ`#xR zA=wFr2Znuyoz|PI)+oIVHw}9X8+dXA8zN9nb|XJ`7&aSD8UB=;$Sn-_ zl#U87bB2S~-@x@l{YM?p>bSDq@J53cO5;VgG8|BvL-T3SYUOTuoCbLk@_h?x)O*O1 z>?4I5!VG&2+qLxA8V%uwODHR@(5pL@^~zdHGTgBy>#f#Cj- z4d3qjz{mf?>woE^|DmHk=pYl%wY5oYJMve{UDpLnl9G%cc+yVfo}nqBm{21d13b6>W_)z}56q7;yHyMQ#cg!`sFM+&hIIgUghe9)YKoWE91bL?6wBZHt zpXLni*VjCkXB)PBbcIh@G1a_L&>A6zHHJ{D5G$h`0B!3iyCYu>sL=s6Mv)Cht5B=e zhP8%o4AD`Vx)B~cmu zznK3e7TeYOE&8qc&HC@e_2PPYwYXL3Yi@3*J8KTT zV-pA3oehW4jESyxXUk!qt%(X!j`0g*r^Tzq#o23X_a-XZoda5c8Ym-I~zHEK9 z$F=^neKCs=;to8{!$=2f|MCXx1Na>K02utQLiU482kZf;gEZHPByxI6RChU%^A>Eo zX@N~Lpy`Ht_ZT8CHHh`xAAv;e#<#QmahqQ$d_mIR>`cLg$uz61|nl@Wan zzKx*22K3g!?*@e3nn?6Rf1)3c5N&@!v;+1XptTD;?cPuH`($j+I8B)NAUb%S=*S(S z<1*374n(JR6P?*aboMII1#=vpav{3n2<#xbex2y%DIl9DtT)jeq~-oeSnwVPxy8>QN;pB3*cZSxc?r=QXQC7yC?QHi8Zv=w4`2;Zt`mSkPJR$k!6Kp} z#D%#SdiNtyNkiZwQ91ap0F8<*M3soE@=E~xR87X(c>@4^sz{59=V~TO&ln&Q)g%Zw zi``aDP~CQ8ONuqH8Ym`ChnO`&0mNcnl`a8{xeXzEL~i z2ys3QfFFr#jGcQ;or!CKcv`}LOZaaE|E_YyY@ybS|y!;t>r zivYwoVmuH<+{oSl_B?&!3&8&<@Gxozaij62kI~@eQys7bK$x*e&)8(*#tj7^gYgJ6 z9=uF|d?r}~;CWIRag)CUiiw*7|5Ly_>J>LV8=AfZ2l|knSucp2-5)@D=ClF!WBU>4 zF9Pkw!+{9mmcV@p;#i9GE=3$)Is-ovw+#F&gM62P{_Xnh6weuXeAAfpwaxzd-o zRY?ZEGBd`mH9lZhYaIzC{hqzO{0mSzYo?~5=I~@#w z?ipJE@twa&+y&&@1@L(hX}Ht`*h<{x)5Ki?uUAruyV{>P9J=MM!G0a~TT_7usBWb3 zt~mhN-pwcO9{9PJNZkG50C8lLPUE_yq0&mfx@a8Fo3+$+fWO)KKw7892;mbml{ z#ATEbm)j0N8VbN$5#lPTBCZ_qRKg#_eoAf;b_{wGue(gV`F7&bS>TlrpqO~W4B##C z7TAq$-50n@yd5Tv?Ck;U__t3d-T^z<@s)AD9`@PS-$J}A+G$tNbXyDL67P=i9ti8P zpZJCci1&hD@6*ILaVEa$9pamHAig==TmC_OD;byygcIMo6##x(R}tT4GV#7=iT49< zexTiM7x5id6WC0F3wnuZbVBg81Q}Kk7%Ig81>c zpMXCTg*NY6~fHOmD+9J3OMpWOpEM0gP`FpKyFn}}b8w12st z_?70whv&2PyI|sfK$?D7Mf`RjK)XU7KaT;f6Tb^|_QVjs zw-bP{zk{DY5zoH0#Q!x90Pp+ZcYg%&e}mTF=ZQZ69uI)$gH8bWJOuYcyGeWLAb$k% zI=YMaWBZ6dewFx>i0>cxKb=YZ8AklMBiKrqO8f<+;f4+XotvO@6Zv#2jQFsw0K(lt zeD@IF1K?2);-e7Hv+=~gK>UfI|9UI&Z{R1TKL8$6mk^%@Ii!JJ7Sfr0llYv^iO=0Z zd>-iM8;CC&Nc_7M#Fsk~UvZ51N~F80g7|94L&d37oJbbX4haIzut=xyHkC~zm_7f$ zhIum*%tQVgHpL{^P6T2|u=6LuX+H_h*(A7)1j0#Z5CmK%!Mz0u9&btTMtn`$kkA~P z{IKdRv<5G2oB__=(d)Gpkxw)5xzHg=#x)EfABppfP}$_ zXV_E{MlK*>^gI$K+#_MyX%eR6yv6i2B+PtE!W{US?@huN!vXNKpa*cBgoWUBDP-~0 zE)qh0NZ5ez8xYUNF(hmTovjT>*mj469f<$8BP9GzBoEOZ%JU=# zT9MdsH;MkB)kOwEfMOE6BCf88zguq-0})pb(C-2IJ@E$ho?8hAmjKWTPA9R~KmdMv zHvvGa50)1CtOd$Q>^l#5OJct{XgMd>c4)7*%pbxfVBkkx1h=XAtyqCmb<|K|- zLEIeU1A0mP4Kn-<>HaO7#NEiN-A_r}(-*i-;$G0&3!1;1o<2~MdD%bb$Bm{M;rmr zIKoIg3K~aKNjwG`#}MCf&^UgU#1ja60yIv7ual77DPI6I{sABV>?83sXq?_c;u#$f z0+f+>b`J2G#B(Eo2olft2CkBLp&f9H#EXdk;%*WzIRRTqylf7v22fV6%mR{0ygD2} z*lUpG4V0f-pnWHp#QXh8e9(-SUitK8lS@dQ}F!^ex8Bf=Sau% z{Xjg4aq~!wM_weZAu$O&zeU_B;5!9$Qjm|SGk`=A(-3!BIEm>9n}sl0F(l@#BC+ru zi5NPFWqV1iY(rud{Hte4;*XFd{Ya9|0IVem!$(QK1jr;wo=B3}dXf}JU<1HNGAshp zNwOFVJSNF97`RH3RXgAiN!AU49VFRU0tjo9OOow!Aekh)kpTSKw*hvNf zLfmz~1QJPd?m?29KX8_$2CYc)1`kcaSJNtznk@hjcWcDadKXD;Y)SH4LsCcZ)(Nya zA)Ze8B%z-!1q=nkNeT=C&XW{`IC~-vj6bD5a{%x&0R9G!2cD8Ns4GcB=8-h?G)cpd zmXV+}3jBWxe#XU+G@+2B$&l5w$t2BiA!#O_%|Y0?kk>rK`2}b%2F)c%*Oz4^t++?h z%6O7OW{|W7aelLjr1gk*(|(e+M3D5ofu!wl+kxjh5$-pH--9&%iM0Oh3hX86fFp2~ zq=S&bLGXB}KM+RJVP61rPzNN`0SR?LItt#8CX#e)FmRou<4EuEeI%WLpA+zN0z93Z z1%Rhh@N)`u{^<&wAnCLRupKBN>CAB86iH{T0nj`PUe7rL;P2d1lFlRU^WT$naRu;# zq)U*?6;}ZFSKxjXVXnO<>Ba(*Zh~GI(sT#BK0x?~nIt`yNqS;QQZ(qqBCStdfOL|c z+maOLPtr@sBOdeyK&d>qaPdW>{bH!pUP(nJ(>A+LcSp@^|YwZnu zPdXa{J_iuib}(?2bau^vU8KVXH=X@*Ad_@>)3>e;{MK1PI;VT2tJ{Ng&Tw}=Lb`fB zz#pV@k%4)nb8ARCk9^X3jsz}~t|87(d0i)+cL$>D6kq~jK1suM+-Zg=L_4jdgT=Il z8Gv~K&98PJz-j(W_K*Ozw=pz?nD)bKKO%nqzlYR=EF?kR0fH8lDUOx_yvCc!?v00D z;K-{MKi;+Zv39y0nNw|HVNsG0b?w@8WkUSFINb>YH=d-2)&P@BA`6K8p_ zoSYo7ap3szD9%E(c;m$zHu*)$7-(;HC6ltVNqoLB$k}EGS zD=WiGJ1j$Os;ev{wX(dtyn^G+%*^l_2qRT!|FW5-m4kzWt=?jdWNDV0RVu8O^{l+0 zpx_-P8!69d$SW^TD=e$1sNi&Rd8mz}uAr<;uc|8c5a3}2#TrR68l=L)^vW`w4#(_m z3PVFQiCRFScC{pGS4*OpYlOQ*7PTa5QA?s`3Ay{vakk+v>7a2V*U&Q%3-BRgW=fCl zAp9L3wf768Sc(*%MK7F#N85}W&8|gU2+MkxoNu}*%daY`EK=WL9KX@b+0Lbom4&?} zmEopSt3JW?9GW$z&x{*Qe4;K;a4kNAYw?MBFA4^q{cG_#wici6<~Eotw>1-W7B8O( z`WMkjsmV`YzJ42Tut|!K7Hm@}(HNq)vr9{JcFxN)a)3TB&)GRG&CbrKv$G@3A=Et~ zCaWOhesX$ZT;n$PF55bDRl0`ef@PhsvtF$`MV@veJ*cFocj$2czMGqo1N3fg_wRS; zke+VTrKgkT5bAzn|KqqjzubCo<%D04ONZL`bhh;xqv)4(Llm;rQDvFY1W@h97 zy_uOLiK40+b=X^>IfPoZYv<(V>tElqL#I}a7c8GMHGtOeUr(Qci(%EYsf(8Sc=;?` z)R>lnR#{nEnjrj}3xbfAR#s-zp^j({p~}KJ?R$Ryd8gj2JKaG?Mnwe(abz!B3ttJrMh~4s#Pw_7XrlJ3B8gB_%D*$N~Daw3L**yzFeFE<2kv zhfp$=w8bcCi)xj$uWOaGzfsbbprkFSRnnH!Drp^^ovjQuHZpJP=32+r*4D|je!aZ> zynN?0oS&1Ims(b@b?eq{!aKW0cKI(}yvUYGH5#p|tIKbMM@HJ%T3J{a z%q8CFiEm5jJNWzhWoG0S<`$J!s`MZ{Dy3MmtJ~m(U%O^?ElSf~hqkv?%HKh^sO~y0 z^Vzd!Z&e4I2A++*T8WI5rcDDzjvP64U>*0Cjv3+M;W35QZp>}K)TvX4`G$tH%g!mN zm_1|gfcp_~Ipt*IQco0Joa`-+96frpYZpIP*|ItvZouaP*A8E{&TEn6UzyZ~mb6L8H0~U?|nlyfN=K zA&9=!jIgi|`5Q&{`fWjRAT~UOwp#M}jqq3Rs^tbPnu}tS#-6S_cK-ZpP%B5BSn($I z1^Z&*XphqL$P35E{=EHAg5Ig)u+SiNwmL(dC;WE$&L5h6mO4k;a^%dJGrK3LE7iGp z(nam62B@y8LDj1^YFpfORqL@bma7@nOl^+Z5TJHeJE;v+oypj#O>j3KW{LRS@4x^4 zLx8#x)#R8lq+LZ>S#d!{aiN)AU3)B~DY7V!`<3Iayh0FB1xivNF;WqN1V_v$C=? zlAqkZeLM1X_Txv-(osY*o>PP|#JZ%cxTq+RpFN8zeZO?P||ty}_Usm6n-Nab|j1)w`04ig%?& z?^L~|bwRn#(Opsv2CA$U43748)>c{87JPAT7AjB2KK+LUHkmSRRPUf6qlOM0I%`Jv zp1ywlh7a_1Ywp+C&9h_2j*YxJ`}#Na8!%u%?`|D?1@>(1=H}L{3oV0$Wu3XbuZLpD ze0J-4ct%Nnenmx5L1x;+gq$4vHX}v_`#9KH^48Xt_8u#hSOgrql#ta#AxfDKE}c1j`t;*;(YswI{54qmNw;p@f`^Qm zIAKvwoaNEXCTyq-QI;+F)W4~>mzP)Im?goqo&LgP*g=!o8bT|i%sx#nsODRa7%^f<-)^m2Sf)O{gZ|E&N|)eIr%szTtLHw{*&s(~ic4Zr==$?BKt zbajL}SRJa4G?_2t^*fK8IC}8l!5^luOE~k!n~YvHM@7tJPtfXqV=|%m{f_O2pMz`% z`+@z$eleMUSOiO8*(@JADbr+Pp>XCRSqZnoUu2c7c5-dqxSo|nMMc#X?!NvW27`fR z#Dv{^T4a=7-G1`6uuAjdQ`bU-mnw?}e%%_vOI6CF>o=Yjg?3AgO)4lXLDha&n3rEv zn3tEAUszOBRG5>I^7if9jKX)&7y>@C@FW%mJo-^Y#FHlvA3l8aBq}QUNyNRdTNbx& z-Fp)A;#Ja{H*ezTKKNoN2^_cDNiw&zG{@#e*}~S|QWDW+t>$%liI#GA&oGTsdPzw`PqRw`kEKkj8>Fym_d! zq;jZ!U~ zRm-vx3PKwT=1!ir)uL$OSP#bzMKmcTlC`zDDBv@i6)9#qQc_a*A~H7`%}X;%IaO86B%QF@ij%F)(A&HF zD6Is4?~0ACF4hzo8Jkk*RnM$AGIjR>r&;lgEx2b0e3l7wlE?@Qma&BM8SiU~E^8?$p{M4J9+f#%Cau z$Z!erWo1?hQ3>95jfES@xe{E&9_ZH=y%pVN{hV_VuCJ{K!^^_a25 zr=gRS_5AMc-MbIoeqA7k+6`Brm@XXnZTG2Dr|uUT+y~5=gCktuqVM>(VEr!PNe^hs z!#Lish1SboZ-^;!o!Iit-T-w4pKUe0J9MdLHrmV@+C_YH{A5 zw?&I)&SFVHM25OrSDlxbmJ}1+gZ7#fb0~!hQ=4$*M*ip96lBuIYxRA-HvN9zqVN1b zoU=S=*`s{}ed^SAb~IsCS5+a{_@)jn!drm`^T z8O_A1j;b%)z@{=k)`;0K4;IKKurHXz+}T{Vo#m;GRCA0E_Ongs=k!sR@q6~{8I0~y zu-X@$Axo&D%O+E(x?!vQWc6#4nH~~QU0^iUk2`eaPHIs>QglKA+O0ZWhmGl|RNGs# z@^Zbd;+@eot&}P&Syf5)%Zo=YglAN82A{xzeOp;sS(PMZW|xL`dzOd>^yS^_kDzQK zZ(O;41>LoCHy-@CXY)7T{jlrrLx22w_{x*GN7s)09-fH)OkqaCz1tU095`^`+U*C= zlaiA7Xj%{9R_n_P%UH3fn2W2epp68zqN2PcD=8@rT_vMysfxuOyt=!hthAbgP0$%E z6-h+_#c}0|vQQ_nuDQ9nTl;S9>({UE+B~3D;MlQa1HHXxLip=xleFOTsbj`2$MDr{ zdSC;mCc)E|xAIak#xJsH(X!{{rAwDi>(aWeEX$4=wp1Pf~iTQkX~sZtKH=qWQ- zuIHeX6y@a=mh+0y)y+W3$r)7!*M{Ep3>9g~R%WcE=v}$1tE+eO#tj>W>gskHIB?*& zMFA8lu7oC8){DNUohU3P=%UH|#Lb-0pPo`0m2e_n!Igxz_8MKpW>W3-NbC4P{ig(> z!M{xLW{Z}6(xy$D?nCA+45lCG9Ns6dnRB#7w{i+J=`^rh36@0zm8+7z%uCVwASG$> zNxX+o+qM>Zy+f0Bos6zNdMYU?7458DS~j-kOG_F!>+@bjB}0~0?mmugHQESoHYKxK z+Q_VyHqzc9h_BVa{ok1(vs&6nGR+x0G_I3Oa|J_TG0hOPgr%@5qm-_|Qkqv;fH{kG zk^!68FvYP>vbXf|puWa+rcqjR#NWJD{GDpW-yHEbNBqre#oxMC{0{l1R8vsy!~4$YaC8qjzqo|ndi!LV=)LxPfvgSG@6dXb3y#0d*PWDZnn1dl)RS-(Mc6+9Kz#rtE#HhiuBl9 zFEHlJ%}suEn?j5seC`=2qA%5DhGW@=(o%iSBlw_p)8?&76O z7nyQHtt_pe;(~Icz7oCbDoHP`F>|!Hcc@dRj=i0IA39H0=>}?!W^UodZg=SB``l2= zip%+&D%Zx1-MK8h2?d{|a?nYYd1+~Bc~xR{(VOSbpT9^<%{JwRP0OI(-5S<)Ff+5Q z*Q85u$NIt=hmz9rO8k|TloXe$7)h8L#4_@PfTe<%>$jh#A>y?%82P7-Ii#vw2H z#f$j(_%}HP$#D-ba=w1;Zj326%5mE8p26Mfv%)nFaW{@1M`!=m^Q0FK zPW|=QU%&l!;A!*;-}%> zO$~f|FU;0iMsJU(O1N3iM=5uzf9YCgsBk9E?|6W^T)Ccm<#^WsOB&La3XOC=Kpky3 zSrYcUXGgPa_eR@y#G^zFQa|JF#003*xRTsnXx!SV9_l#uH@m0~SDT?Xyx7>Cv!bPV z`(PZuYH$}QU5>NrfmZndRNiK;eyDYRSrtZ5jH>y{iegopk+O7huyU~BICHf^uB{PF-n+(Qss>0Bs^I| z-qy9`ZTqjh^*RpSY5eIb)9UK#rZHW5U5mQuMWmBz9HeT;u!Jy2sqxe5r;Q~Y=kr&@ zUq1D9L07A<2I(o7Wvau}(dso|7<;B;f|Y>deY*Jcw|Q^VlXR@A6z{De-Q>PO&4T() z(D7=i%A27L_(7UCsoSJ^%XEA-#%dNdHMkzq;ascSc+^S<_9Wt+ToSp|N{7q8=^z7> zbfS3q{G~7)Fa8I*!c3|*3Mys@*BA=(G0`z($dF;fhf{wzF_l}5Aq2NZ%+F0tdfgL^ z?s}Z9+JaVZTZlFT_^%H`^}C|NtS67660`GZhta$;JF}>;@LgU(d1a`uT)KFMb&Fe+JydXE9 z%#7ywvS-JB{rWZ07w6aHrzPZISxXLW77wiU|(O3!{SX_q6*0^L;b=Vne#ci?`X?*(pySV?rwobNq^>rBHY*?eb!%Gx7gHVkT>bp>-ygVhZ6z#4c>&rtetR;+V%j?)e^W(MY zMx_vQV6UKQ1=;=mI)>ICQEJJg_BzJ@ZN3SHh#U04xK0$Rm#;z%*=k(J3C@8y?{^#; zAlE2lJ2+&AN)-v$o?#_LsFWmR6PI6YOR`arDl4T>smMGn8vPcbT*mr~lvR|GLc89( znffcEz~6{k{4K7PXWNixpP*cgs#UHg*UGbyCI$%1Trrr-5?@_`p){JB(y9{9-m_%~ ze}8{3v$Evq2lw!ouFWIsvXjyZ%Bs}W^?ALWi?h9j%+rGhPvSGHES)_3{QR2LH!n>~ zih2;*xG?6yg9kCMbKaE}6jbVMY;3G8%($|$H@6P$+_ri1<}~BP z->#jv_3HY1bFr)-C-+??&7M7NOrJKkYSd3Z{q)0+yG}kYX+Ar&t}YjhL_T|yuSza{ zT>}CFI=A+AGB}ss*wMo@H#;5EDAUEilJr6IdY}~T#)u1sABRa{qprBpreVXn%4)NW z$Kfxd9zRceN8NGm{3yCn--r|2R=?ia14>Ub6EIEt!@0!5-T`zJ?MN$io(=<}ZAR?L+uU*zG)0(?u8vW%t?!^n zd}w_R-I(H{(sFF8<9Wh>rBp)Xg24eDJxe~cX`lWOX#3_3y;^n~_{k{K^hp1{y@!sP zJZHhuWy_XL3GUIUrI(ANqhota<{EW2Ub>9e>F-w8FHU{&EH>_KZUyD$rpHG=jDDGe z85Y+TUAlMhvC9puGh+}&A-#jT2J{^{dg_9&zWQqUvLy>=f4;OA4r%;=zNHeueH)<(PE>cA3d%pjCmQSbz{x)GO7)NTE#qCuC*H2 zt@q$T{krxE7&SStbyMU~h*?CggR@y_`ms`B8$m#Laqt?uU}CKlRww1Bec(7ugqx!O#!u#-zFY;N7Tv&Q*u z%=1TQe}jHF9`h>Af$oeV3hizk}TOZtm~B|MGb`A7Wsa*_m^m z^R(~xc@C2^I?|YU@j&$pXlbeG7LFYsArJ^8>fiuXkw_69H(tT` zB5S1&u{v&d4Rx@w+MQb!ou-bGUrVbRkxw;rToZ}fI@l#ws7&$zmCI;mLn)C;<0=xl zY-Xp>RWB8b^&y$r+1YbeB9dG?FE2JMVcF`{^D?H*m@#9`nkgi?a5*a#3feN%(@!f! zzP`RF;lCF^~-QF5T8uVJQ+h8L7oARw6zbjUKi@vbMNMmOJ+O zAtY-DBx{?SWc|%evIHaRCJ2eLNYEA|ZXk&s1Fn~euw zmLwe}D{HL+dAzIFZ``<1*=FO&d=Sb)7JH36?_eNT31f$KGKwc6(RmWyGGn(n^%GjU zYMYw+n#+sN0dYBfr?b7;bn>f1?;bdC;KJ3LO~WNs%>Yu6+=)z_I5BqO#ECIJ4xKh= znAx^&+qP{hXHJOb)t8o*hK7bJEj6Xb{(-Nr8LCKTH=1lNlB7sau|&kxdpGsmZE7+$ zRh>Wb#{T{LKR@}&ot__#znz2j4eQw9cjU)gJ(e%d-srRW;zN?BFI~EQ-MV$jR6T3Q zNSeumwmggsB0CPqcjYGVN|3_C#7t7woX&%)Sv)efG0%}MPLYf@cea}a0wKplG*x%& zvzQ3xA`dUdtr)`g~;VrXZ;&r=9G8zDh@)@a*`S^7WIN2jG`ky4zbTuOM^sM_J9#P_bDo(Szn8U(hw#=Hh(f%E zA>6mQV9_!ph@Q^EuU}$!oHj_H_LL#>Xy|BaY&9YCjW1)@Ajbz8$l=C52%TIlSNli^ znxj^QhkEKqv^(3udYaoFob9IF=VA{|z#dF;+k-i7dr%WMK}@Igci6b5{^H2oytMfE z#OS05R;hc1hBk7!-Q7qOb$36tZw)|>^aYtZ#m5J#d%qqNZK(APTk+N3Un|N%=cy-{ zJxjQ0%oldjKdpK+h%8t)3ypOS z;w^hXN0|o+%!R65&pbS0U8PsAPGFdoE3aN9R<1lc1Mf-%>{Wts2i{q|E(@vbVe;nH z1(0Vm-ATVe|DEomjm)RCjfsavmcwfs!suc=8TA82Eio9%WU__^1DY*0WD)m>Z}{{1 zW^=WDNT;bNGg&Uy)!rznuH}_qzg~d^a(}ClRnA^LJv76ZOg%k>$#m`dphm48=NqBp zZ`qNUxPAH@R$=PpbEfmQEnB%^`_4Uk9(jRP$X*JC)Nbc;6$)@#DqHP};Na-QxjOdU zFLC2i_B_0u<(m9JZF!iF&yS_bstE<^Rr z($cc(hO(1~-+c4U%f;6(xBPKEND#MVW}L6W!^g)*PC})60;hUp_pV*LHqMC;__3rg~c zWNT_-3amsFNc&T?MX0dNLqzb^sP6omsK9&pA|i}~hkn;)u{u+{Xf6P{^hjm<-41;= zY<)Jfo_hI%59ToYm>I~`_`$fh(e>{`aB!oXM^AFXCD1BsQZPx&>)Y^*9o;r3e z%j$Y9JzZC?^qIP<;QdurR(3gtAZl7q#^oHQa22Jmhl}M{I2pbc25^Mrhpe(!kcU2U z#zQMsFIlp3^MkE>-rfuck?^on6ddNMr#7v7CX;xDeD>K{&`N&;es%~E)?rW}*r6ke#Lv9= z@b+!HAIqFNcV9N5szV6lUwGk#Y`o_u{D(sd&o^@zktj>1DSosO=k6OGMi3W98k*=Pj64auMQ{e5=*!| zN8^=qXU|-&8!}m~*4}o5jpG}Wl$7Krv)=jbcQ~I{u3Rl^V+EO%DYX+}N`yd^5hyW} zCIhP+H(XX$(GE#A(L)9+apOi+my7QWxYo(s*=u)Zfdsv~`=9c>Qek&;n z30Endq{}~N&OX6DabvTWJ1f~+8&Hd!7TH92Xl z3LH0lEKMI|zrN{-jU5*Tenv!KLaZ85@!A<DF> zco)xczx?{Ek97rj%M2!P)R}03HXQ>M9nOg0aW}GqQ8F``O~Ut1ocQKb1l8|l0ZCl= zV1tP)<=>qA<>ZNzXBvv4NeWylp^)MF`g)5op}tu&Ci?(J49J|H6$a_>iya&2xN+iS zNrzLH-ss|B2Mx4T+`4+XtfdYNg_6pu`+X!|Bxbs*Zk3mpH}>{*wAPj(r%_$gW=AV2 zHi+gBCUz?(ch>au^|UoMwHqPE3^B~6QHF)y-d+M^nFLOu3|%le#IViErl=S=DX1qh z8l4{v2o zN_uKiY#=-hbwE73Ym3YIQfvwQd2y}&>o zdt~*BP0!{anerYx6wj|-oI5QyWh_K8Br2QrL_~vqgqxnULdxu@GcSG(RBcT@6}HN&~hr^t3iqSJzf{70G~M zc&H^_3Zcx8uo7A5GyS$?%Xp2W{O8Y)o$CuJKz5e5DnE|6dyGxcVQ^phrPeb8S}c`W z%Y7M+f<6c7nnlo2Pf#zt^wOgsicSX|R7SVZ)g!~mNT8~m^nFk#*ipd<5gRE%#HzvX z?!&{BGO^%%Z9f%}T6-$5BWmPJLSn-GksTBBxt?;}wBC+Bn7i)Un)*%%PG5U{ zdvkSlbzO&{s}V@ykjrRoxpnhqMMG1Y4N;l1z4JaKsHU;Q2++~MDz`MDl+RGejpLGH zHntwNIjvUMRExpD;JiwKlsDLCAt?@*C*%qkf^j)O7j-x}Y|e37T>NB+MAqCT56uP5 zYV+oTWlLd+=H_M0orkC^H8v`BA!u0}SI(L}37%b4=KPINbnE8No&vJLR93}FDK3w8 z&|Dtru!+P)(G-WI#6o(QQu@g_gxO3>J*9juPom_T`_01~4kZvmxl{H&qf;l#&7C=C z&YUG1c5d1F$Rm%;fX93QvDF(ugxFAQzhvjqwObxTLUQl2f?at)ivG?@1cpwyXUjY= zA9FVD$%U))&dAUUx34QeCUY&T^rT#cuaqP5Qi^SDj1Us;v^I4)hZs#*Xq-Pm(;mUF zIwXS*Q5*+Ni5!D2STbhVZW&-6=sncW5YM@3hY#Ge!!OVd`=A~6xoL+(Zh8;uXjq#9 z;N2k{Gj-mSvmTCy zWQwnXuzkB#79S6fUM!YSCI){yatkI=o zKUpm8?Ja$+*S`Mf$j9HFJ%5^I6rBF%yHc}V1Vr2~Fwi$3*pE+Hs($+9eK`3?FV~rZ zreNlxb=p*l-nebcmMuG0__M$_8#x&}ORrS)L)-Cejg8$l^o|koh?z4N6=Y2IwATIz z#q!C|_w9i*bum5N9Ef0VL-n8E{^RBSZ+-slC&x}AO>^?Zucd9OG$@DJ3+Co#r$%rC z%|GNJJG%=Bz-{c{>d$p}ugJktj_@U@6(e~RW;hQ&vwWCO;r_g(SVk2W-@N+!@4w%u zx>wgZ=1WoLLUeGvAtzB?Ptv1WxpowJ&nJZ3w@%^># zBCa}f^~M)i%l=Q0zVzPnLy!{bym0gv`OIlS*c~00e!OtsrJLF|;K2DC13kvxdw-le zd+u73$zmKB80c+-zAU){`6#XKGMcTX-j4d)H!DgoGrwJ{t?w9uchkeF1`R`sMTids z94iRucKjbhdPsQ`QzVjWrR!1ybx99n%HZRP{o4#Pv<4->Q^wW>7SvV&x4(2C; z)eAC)JJ<_6vF1j#!vQ>MoW)E9M2E^T4SlT!<+SBHb}frnf~r}4v$EdMW8}dh@lwe+ z&R(7Gj#bfMfG*#$X~X76_UzfQX2a7P76FJ_wH*#KTV?dv6ED8_BC9RlMLAt5I8o=} zB5TPFPtC-1o&ek9J2=hkI7k$UcCXD#fho>swStD?lZ4$e*x%dP+S&oQP6*oW2xXNk z6j&4Yt=>|W6H$rcJ9>T?{s{a1~WPQ@oq61_$Oq)YCChafitluOV+%;ZM@_bfP{s&a+ zbMazp?;r;*fTi{3#lPUT!gN1~j4E>;IvS0DZNiQJCnVSB@Zq1zZE6ITMC;+he}Q%V zYFb%he9OJ^VtidG10$yFk8?lbi+ES-Ls53)KtJAKa5<>I0KR^mZQu?!cl7lF)its8 z3`Q$MBOvCXs!eJ%I%txMnH4%+Mt3aOug8J-)9$eJfqL4_@qlCO=K(C5#Hou~WY0`4 zjsOei?c*i>3r_6kGQxT9HSmVvh?%2<5c;VSA&CjPRpI&ObodqX3ek=zgb@eS4%3e)}ny1vv# z0P}8F_{+lTd|{M^47X8|(l^jHfC;noA)G2JyMwjVI30t1m^;Ie!}*tG)%lWEo69bg zD8#5iK%GllTbH4q%^IP=Q^Pa#8As_Ce_2$WFYDZLu-$rl``S%x!J>7j3l^mf3#qY_ zQa=zgG$3aDWleF1E=DL*NGXTiG1LLUYHo83fw4Wkny@Y%i>$ zr`sxO-1cQ4R?!Qq=;gLA-FYlRyFg&KU$x_j_?lq4D@5F+;}6%>4G*sw*75JPdX2k5 zOww`b8#ib=llYjTi9jv?LS(ZL!WQHNYJ zmtBoI9e)yaW1Ls(Jsoi)lZocD3vz>9jD_59vcf7a=!grMw2{1UA&Yg{$qU5DVuT1U zU6v_>b;74=O>;yp4WBMbh=hg1f; z7Aii6l8L=W*J3%IaJkzPKI66)MOcevSPOSf$8xtPjB&UGO1aVpB~W}DDdPGE(|sKv zKUS1g)Ky)(+HQi9>@B}~>eQ*5C{k9o7(vl6T1Z(i(qWmI9`Yh@3&%Ok6Dh>#Qi}$K-Q%+iw509K3 zg|Ngd$MqXn-qZX!N~D}4m*lX4H#;btaf!0%T%@{Q#Tx-*b5^KoKFS50&W>eF7FpX_ z<|GEo6al+$7CzK%17|0FN}<*;kT{F@7b{oo3lo%baJJhzKOXrXC@%&q4YxJ z;vG@2WbwR*G9tvN%y#1~#TW-VS`C9eKzWC({eAY%st%(8D%a++boGJt?m{5u;;|eh zDL9i#N1uU|dHVS%K@D=EXwz0CQi@fcJV$T)0E)T)&3TFm9~0myVtfHz1&OIHi&t=j zhd1Ea0JX$vV`#owrBVfYE8q?ah)Au{&|7)#Bxv{zCIk{9sgtksGFdwB-7T#{DT_N_ zDrVNSq!|C`*=yIXP0-kzdP36+X3dy7b!uw3*e@bFHasadHg-bFc);vqSsCDU+&Fdg z^Dnm``iL<@BysXTxtkcrnQq$PjY3*l%!lOex1WaEYvVX0_pf&@cuhlw?RF)MEFjolo z0xFIqX@!FQ$2MT-H?Sp8c1MW9JZM0ajWFBB^A3eS7U;ou+I^buBC&D(hQ&!%S9dVp zK3ENJv9-IcT9=`)b+Yj}p$b%(Oy1x|Od3B%Y}Ggi`Uk`w3M{p$x5q?zL{A($9?1|N z-tb^oYjbmRU5iOFHhEe`hF?a6TotAnH!eOpLeblLuhuRU1*anB$|O`;ZH7$a;R;Jj z^u@;4s4bL`JB&?)Xs`zV49Q$3z~eHRr}9pRlktNy8yDdxW`-NUv%A~H$fSw6YSdAI z1uq~H6V*iRJ=Dt-U+umd%~hr4#xYroR;}_{wK%M~k_-$?RL%@+YrI~`_=e^pv7==N zwSm}zyN93RikguV2k$Z5tE=B+vBHBZ{_VG$_(v=;_u1uG#2~NQLB1?)#flY~{*JDJ z?h@pjFVIX>c>EB&4saSX zP#@;74h@=|B=iGc>Zz3QPz8nnn&#mjN{j%L-CdX(s6rc?sgTJP3ZV!59;s|wK3ks%%!@U>sm6KOIvImK!ZCiFci5#%s!u6Xsubi3& z=RGtgEq7MloPveRmqI*uJodtLSdhQrTR$=iWsfY)3=yLc$sU+9W7e}-EH%~h(d>!& z8#Zj)JZDOFau^oC9~G||B9!9EqR~LZg4=Dc?r*5?azgiq`}=FK2EmFk(GeP?<%aE^ zDE?*B_4c8z=B9cRtJvipz9Bxe34bV32FOJ~DQ!Y2viz}`NnUbNmxc3S-WDv5LvqDG zX6}4cTd8i9J) zsP$J=DO3>csQPIHuFZ~e;xZ!LcLnPv`{0&C_s&5T!vGq_N0CuPA6{7jv>8VYfhu`a z^y0>?%d%o(V)8&1`$U_eQmI3dW{;x`eW>TCy4hNDztaIl8{*@m!Gn26<;+SC!K%52 z2dRKitST)~hzBdmS`m@(HPKUYd{Tpv`a>lgTQ@KY3MJDlq;;}*1#243khepIDPRLlpb{Bb7tCzm|Dq*$y%PMc*ZVQ^M zBOMpB(02J6Wei)DMN|S^y83OlF~|sVPBo<@oVyJ{dZq zFBjRNO!{@y>6THSSMQ%rcY;3?1SC0y-RaazN8nF>hkNAnwOm+yhRMSGf5gcdGiG)c zR`9$|WhpEB^`}328QbZ*PRKkY`2E90T_|g|&d{OSXdaum<=ck{3S|*=QL}_(W zz6kwkD1dijHJ{e1fQhe|;AKPJ0ai7@bni46TRP8@l9Y#7bZp+*jT@I>AH{`+WfC_i z&wId5M+jQv7yYc`{tLzH`XC!t1B3i{Fq3$_kjTS_n5_^u8HdZ^`*57v9Ozqi?3d2+ z8URfT7fx{9LcQe(Sy@LOKfatvhQhl`|28rz5Ld8dl>4K#m*wa(p=Lf{6o{;9kQHP{ zGc%4n3m|2JFM&i{*VD&sHPmA=s>&%&V_hk@#CK~+q8JyXZD`wIcLLQU zcw8+QPJ9o!!-RYu7*IkEoF2PfH_p#*(xfyb@zRs0PEA32KX*!kDKcq3JjJ<@PFq?U z>od-b;1HR(;P6mKH#8+}Gk2pajf#!=d(0N70%TW!j7t6e{dL^v=-kxRqpdx-FFf(| z)6e80gU^nCpv%iH!Si|W_&*#ebp4umpZk>?0}cv&eHR%0T0V!*^BLnWD^ii1cFW}L%NA2xS{}6FKFq6E4JOv14NaJoHjdla1UH#d>7@i{8xBULyac3+_CF^d38reRatpcUq?ezj}33P z4L07me*FepGpFU-txRi0ouNp@5m9VS$53ZWkIe}SL@{QEJ~S*U9A0Bs;*@DAV^IVGBCTyMGPVRVHW4y5(M`s3-DJ#HBp$HAO`tfmsry`;!*4<+ zD2gG2<*1-%OMQ4KpVvyRUAuO>w#(vBv+B{ep+W8I<%PA5Ov-vOFVb-FW3Z+x74uO( zq~mdd6^vt8D|z(MN4KuX36ouA6`-V~MC}XTXiV6+B(N0AIC~RsznTNkGoKygISraC z6{6lq$KwT~J&*$`?!?IWi2Ll^V9_Vp4`hc`Z6Nf)k9~4vybZIhfKze9t!THjwhF}g)CYLcDG2b^72q&Ep+I%5|X}p_39thmI8Zk@BE7EoIxNKNhR3=S?X)`OcEt1fsvHF)KV*|Ct~BEi9f2?k|+3hv=&`i08q-v_sKd1<;v?ywLSSZxX0x`FY zRWpV$`vwvcyyW3w2Kx|9a#>7tN{WONpC;!eB@^CwNhoA5_`ez98qAEwZD!nS&BkD6 zG?*EU+st^o?F0$>eRx(}WW=|wLiUSzsj024fq{BSL&G>_!Q+zxR&OPC;@1Zcrl#Jx z!_G)* zx1&WGSyPR0^bURvLNOZb=_Qze2*&Ck>>4I&@oNtc6Y^_%NlbKFhK!$_DiO02#u0+` z_VNfXBp**b+wG~hxXHs#JoRimwR^X@1#V9*wy+g;9^PuDfY$o>fJjY`SeUBbK38=5 zOyRJDL-!F<6#a-qazJr<@04_wyF5-swUofZ+^Gu;Y-tlb_aNAT*mX>nsL$Tn%kRInID z3%IPKZ#u|0b4RVsJZ2~755J^+xueZ_ju7wiE?ii(3KN=z%-jMlEY8;lW+U^q08C*o zx*a&_X}SbmaT4KcZ{qF;Bdl;X{#Oq0^#mNK@0c)beGNE34W}gFXGM+O=9pYx$p7 zoUS`J8u)1OsO1^WZS@_dA{-@1qnVY%YOy**Xm%iAkRu|=K8HSHdOTd2fIwdlVOUDy zv~*u#aJU-EN#++Ezii2>f?4U)#s?8`xGkY&$Y8QTUAcsQ;4ONGja6HDF4&+UlZS`R zCg9+`%gH1QKsGP0MfSiOC1X2RSBsp$4FHgn15Y=j-Cj}h#BWY1$uXAp~VL3w{O zz*=08lzYMyNykl_C?5mqG{KR?m%sRdJ@SP-`nt(ugqu8uK^}b}kG^iZ(7kR-CKMI_ zF(JijP074f46L^Z-S2ehPNAELFU$)JvO9=Q{6$o(m=Dlk{{ws@8fy~o zwk8wY?jja2mm zNx6qk7OYedPMRYD!HhCKhc+RcecN(j(F(Pa^74wxtQ>Hmb8>UFoLEU)xlTGUUga=5 z&}xXsP=*|&9jfvDGx;?BqEah4dGge+n>Vjtzkb>BEm}^#vh<|R6YNX%q!X8&KNU(q~(}w3{R&r+q#Wt)4-5mQi{5|yBnK`YAwi~JpN!W;z^ogECLjTK0Jes&HYLb z1xKp!mPmRA4CS}5X(cG_rL0EyWI<7=rxptM{839Ch*=MFn|1dJ!m*h3K+Jle+pLGU z&AMD9zIx%;NnMxP;!M}CBKj{P%P(sYZ5UjAEke0mQe4q2J2^h@IZi;XxEZeEqXb~=9KzEX(V8+f_IfNY7g<=q3j#y7-9)8@qm7NcE z=ZttR55rKi5uKjHK6Ms!{xzubyLjW^pdL^jMWN})P5dYl=>>Qwb5tDR!jA(3dI27T zw`d754nI1bqj#N*yUujG>xbO#ItO>1h`Ua7yX&cLckL^deB0ERbf;96HX$Ow&+neB zv8l1$V7kQ`fAY&Ok*qsMe85?ko|L5Jq@+yQ!e(uL)RRq3SbueV!mq2Bb)P+buDImN z>T44wB*sRDE+UrUFQ0x|m&c4l1#uM2;TmR*HV-7BwE(d4fJ&+K zr?>g{-~RafpT0YmNgU)KU$7uAEhQDqd`QXxcB;N7zSrf!}vNqQXQTKrzfw*wAnB{@0;x|Atglpx~YN-Z}XBHy=Ts9vzuD9dFB| zrejBsYI#SGeo_%UP48>730pfV+Pmtmm(`7UM!s3zwSi&N*)DoQidh!8*sdt+RW-617-z7EA$DQ+Sk@hc-1gf+5*?3$0#@ zc&ARC{^tGHb^IAKvSzN_^YnwYJ)mM+I{N!McJ92Il*m>Lq%2~MOWsIn*Xy8CyhFUI zZvtEr3&dp7AHQ=)M_0@5>LWN4DU|6liGZ^a2%Byr}O&mLS_2Ld|>+JaL36<04^0+MyT5#~fIka~#F z%f(3-1t=)LxY%GBQCwWn!$>8J25*lG5HpO>QCqBw>0*2Mwl&q)x7)=*$i-{a9s-NK z;p}Gz-$9GCGMCrnxvMw9W1bhtB5dfGZR%=iH`t2;_<_LzYB`VCwQKG4IE~EXHmV{H zeRZa^Z9p|=m(HiFz7p#4I!z7UCnZ@*2M?%mpuS5lc*G=5W6@d(GUF2cGKD zQ9rtfN=Cqqj&BY_N7sP8NZ^ur`FP_~az@fJM^KWxeu|p+-M`W{%bD#w{nypDxEC{t z?|^faB31Z2PMSFJ`P(Z|z*zu)c?^0u&l(wv0bJ>z1%5{k@=rL*Z`04wJLvTz6eE4t{Dy=-BeaE3r=JuQHVyj?}6W;jG9B>>nfuZlDUb}AA#WY(S2$)S~v$400g;{SFU%GO)x#G%&3m36s zw>qo>bYcSxgf8BtnB&3L&W-Un0^p0#G@#yRm4`>0p)pZTIpH!YTr-SMCKqQ6)xk(gsOBG=AH ze1mUYz2p_kw#E#Ul%wT~P9>B{yaL#4I?;hf*kW1eXufEC-YOubOY-NgU%BFd6D#m1#=5ere_TQ&N#MQV)?43<=8LRB`RH{wKX1n3Y~&k`5oZP4Lr!b8+S|S( zxuPeuIz{)*KhJ*m}-L4Q?9mWw$l`5^K618gHYU#(U09<0Tk+`i&+N@fWRUGIrfK zamXo;oRpUKKh<6#AXTl96e~t`U!a2W^5z;k2L6lkOE}Zk+11m@GV%Vc0E42Z%w0ay zUU&NFdr*M?sR02%;UgH@F{%aw`GI36Po0tw_Fwd%=9SCEH*TRFEUOF4o199h!tn8# zE1t?E{>Is2EIX11oBl8add?xm&aR1V87FqUbA_J>0i{t{cJ%77-_P)9GaRKBwtZ^hxlvpLn1kSN#tK zxdiyX4!O!NX&F@HCD_|H=x6Y||2Gv`$QBS%{F-hIbCM+Ev9TO87^cTHZ zFe4=!DMLoM|c|Nr0>qrND2B`T2(yR}3=yL`0@>0f!Lx-kpAJL)gNAvhz=pXcN zMf&%*KmDV=4ZVu{8q5AT`Tbq+y~EN9)~zd;AT*BdI@a%Z_Xpkm{`uH-EDJZ;ZP#VH z?K*!{0@~Od5tL!L4^*jA?i+)h7EG2CCTw-FlH=k?v@$Dw3I+aWt6n*-f>hJ>4YUE@@N#y z%-oiRnfQ||Z_S2Xfm-EEWqx`s8x;r`hbzJX> zkz7*|@>wuYc1dVLtP*J?oxj80Tn-9QO-pS>NhQb%ck1izKmzYHqZbtZigAeK{34ml zg=3s}3blNgP2%hP0|F+m23K(1;z@C{=MFo~6Z2MXMPJ+{StJpJ2N?GB3GfnXWnwYJ zr`PD>3j@G+&{5IRtB{zW_U+q;>MZedS-ERh3PghJbx1LewETx2-tv%y2mxTt^^5YM zv@$Mtqyq$pHlt4;IlA_2_mOS?MdQAKwcm`j-{Q9RTin*3k|Sas56n$EvgG5uJT)q4 zU!|vvN7>ABv>)Rct1$t0o9Y_7kvQzZDVBDv)|*FN{saB0O3IrJ9G^gcZx5y1Qz0nw z=J3+9AUdfNgT-`zS3fE)K>o7nCo1H~hz5lzT$Mi|kNMf9PAmF@+D%4ADUV3x85m{c z+($rMd}ha*C8>aCe3cSnGTbmFYhyk4fVaOcS8X=7-6_6O-qP9HWhwG<4Snzl+|MIF z*O*9|mqyKX$%LGj#F3FaF4sFZL3#ZRww{e0kE;HD{z?sC^^P8wQZ>CmN>g4@>!-u7 zIXf~w$G&`7^ulUngmQC};R|R<&)_`tj{S4Q0sW3RB6~VrZmTOk`)5sS{ry%`5ozhp zLz;F8vtndymhJyzz%xD}YK&AI6s!h@2mt&!?mJ(fJMs1`WC2&BjxG=sOLl~!N_Y$N zJpao-{`ljE_lv-ELQ}2`yzC8cbP@c97X$}B2bBKlJNsv#TrLFoA_ltcBrr?hn+{>_ zDb!&gheV;@wbeK*)dYD9h+&WqIbwwe^0VL^$~?tG^>z1}9YTdrA6DIKa~RsHs$1LG zY<6AmK(7J2-Oy2A*IHj&YwT>Pt~V4(2V1+^8leH&dOL79j@H{@b+8&9m@YZg*=s=C zEdhsNio9u(F(UD5L(!v1%4h#YGjvKnG1yDP2@^;H0%Eh#w{U)1keCC%*uxJ;D2$DZ zON$!gCvrl`_YXJ(<3PE~$)3mt7v3hTnZ(@~?UG=X(gXBSs~LU_KE`RaLlEU++GwMs zD)rcCO`uw$pBU#8B$yVf2nkAEi+%I__J`6V0ak{_WzJigyKLUv>AAC~MY52f#y55$ z#Ad^SG-511#*FjSfalxIgjyx%+Inj4p~v=ckvB8c0uCr1&fM74Ck{`@P7e+9kvzzk zdShR?GqD5QJegqZD{t&8Z?}Er>$a~%-l6bL>H2cC;4LImQ?>Zki%Nen@Pl|$7K1%n zNFF$##kZdSNqv?1Wfe<4S6n0aJ(R}O;Tk3r&1g#?_&pGu`# zeCtJBT^vqzjnRk%O(9afS{AesrDiB4`SU~liE#W9C-LB0&snp<&pQiRJXk=wYX$r%5aB>Kh(zgnNB=K%k{WPP;z9V(!PTY;Ee;wR890y?dufy3Ty` z{+mAj0U80}hrdK|IoDXP757;DLUMr1tV#{mQc54W9$-)>(!J%ks`6k-e}pX^Y5L6B zs;Po$SOv;+K7U+Xbf}Vu$7K{?2wCd2+(9Zj;gNsgxo?q6leJWkf&;+c#iU9L0p}n2 z=;zN~dlL@eY;00K+@XKak72w3Y=0fSfqsp?jrpI4D|Vgx@bH1xwBpy_Id-fV#T;Gt zE45TbyG)7Wny_mh|x$q1rblLo1#%-ph*%GXh4g zmg;Zr*DE*9n#dB9lR_yKPQZ~RZJJ5wVOrT}_54T`;9+1@+tKY87m`P4Ko(5TEBh!*7b|0zf2yf zLPRgw^zhQzdHGpM5vrGvSpFDJz^mG#e5m6p^yEH-w82q0R=;A^|Ne3&vy>ccn}cHG zCqP<#7>af^_Dv?*FoXf?J;f}-dR^7(ghF)Zm5@X2^)GwW8LV~n4UJ7rt;nZWH1)Cg zim0uzvDad8iIj?$J*Fxg5o6;LCyt+-IeXEq$&nkk zJo?nWr}KzHM8$6-M*a=07}sEmi$udr;)czeH_p#r^8gc_hdC{9o6|jRTI3PTX+GvO z-)&CUy3J{XkE*n;uDPwPx%7tWR()Mpx$(aO&vmFX;p?KDTwzym^a}oIj|KD6TF@nLH_R;)H1b-g!wAqH*F) zTzpjf)~By`_w@A-^mnuvb^>235BWzWezX_v&T>PNx|aMi7P& z#{miScmoA)NFe_tH3!FC5%Eb@OoHcXq;({7B%Y8-kdBwek_U?}RCATw) zAF!HVYm261$NqqIWII%T3SoU*ORSy&2>UQ*@(B23XK{?l9em(c^x@Y6Bl{Gi5VYf2 zdO!r6I~VtB*T8PR2v3m>q!yr$1__4FH}ny}p$GB(KJq-T(3|MF$o#wyxU?Vr>|CgF z08<{xqVdc#kc*Xg%;x*Fudip_HLb9<(aYC2*mHPDCp0t{|M=~lQfaO%lwL))6*Zuo-y?kGt&}id( zX*AxhdVR#C@jmg135oIJCuWcLOHRw1H8X2+VoIX7$Gp&xzyQC1@R$&q@WF+0b62ie zvvkE?t#IS?MeEkhofMa@6J~lkhX)6R;}m+uoJCXDp{RV_<{eMWoxFWF97nC-#iur} zTstp436n3$NS`!5CN6C*4#N%77R^9{{y1@k_#NXSiao2f)6v=fJW)2%;rv5 zVq5ga=qYQ16-+{MIWHSw5Y8VX#mVTa44F8NH=U$4mx!pU9-o;=QyM zNIxnZh$_8IWE9AU>N;JGRp>z5h!@cd1J{zW9Wi8*2~>?B(q1V|1wN zYz}FpQ?gzh6D{rbS&|@Dg3C|{N-=yvVnEMbvm#osB$GJGeFm(XrFf-L%O11X`oL3S zarR(0iE+o-!}0Vi&hFj?JKXK*C6slMT1*R$4YDM{Lh5>2nwCmo;q&^;Nc6Y=?4#Lsk1DKcKT)}eV_BziSeG9gq^c834mlFv1^0}q$S>dfU1$dqoVC3 zdFGc~KnHIz@6ko{OPGbtxR6ny&{8s>Y!Vk!?sPRY$eSCnK?*6k#iFGKfVYt`aj-|i z#Q06y3@g_VkKnaoobpF;0KSoP=4Fy9vS5BLFtLk-80P2%R-gp$k)X#4h0gY)lHrND zaX%^2y$g&QbAuC33ALO4ckcqD4)T#V@ zJ-4oV_p(P(0!cl)k$}Kx1-(&GCr_?h*Q*oNHQ&8=`*O)`lvfFyQsnGx>}c<3j!dHi9B|M}W5{S35HCJw1MY zQYj{$$8T%qaeIMyVd6z1lgVz!#J9Is-tXzYd2M9ktyT}zZDZo^)qVZRo$}AV8ku-+ z@Ah_+iTCeXUH6{z?r{mrEn``C?zOt^tQMj4$(4;h>uYfbP<&vCWJ-199e4*{@hr#J zB;p`8Zi~y+f}OXQXwi{hFN3CL9LzpW)>M$nxMgN@Sy?6%LX_#KYq!d>&N;o1Km`^*dI=3b~+ zj$d!DpRSNg;nZveM2m~V|41r06VRFg{m_g;)H!H5K{y2plu)Y2 z0NcPG?*{QR5=&;nh224Fk-R_mGsb=k{yH@-Q zJJMtwMw;{NZ^hsP!+;i|+XAPEVr;gTc%E`0SWd_s@n777lfMX7n^7)j5qKfImv{l* z>;X@C>;baymp{XX`UJxH1>VCMwiQu)iQpwpS#6&Ko7~iV^Xi}Az!!>W7lF2HIFHn+ zm+?95F{BIy7(v8pWF*$nd;pD7DOyjN0WS*LI|mV=z_J&LhIv9zwGmnK^yHvZC+O}Q zM#FUwDGEhMKHw$3SR@$LgsU+htKF=`Ubp$!hxu5I`B?3y30JsTi8$O6K7|=}k^nBe z6;ggxwbVZ-JXqc}Bn=KkZr5K*_f=iLgiaoJh;Ez;igF0YfPrmn&~dl4)N0jgqNAg{ z&>gB~fF_(aZ`ApO`^tsF!CSgGv8NEq&e-3HlT_~4H#OYLN^dAFz1vOAN|!g4T|@q> zgX^EYb}x=k+d!n_;tp<*N+R_@7B4b6HC3(FYR;cW7x``5mQV6z`UcCs|Ni@5Z}xb{ z&)%ks5KD3H;$U0lwJSF-pFaKDxgWQ#`{D56;}!H{1-y&jvW?!FHEB=efqQ!qju|_S z6tW~Y#jr=J%1(O%vzd%;X%P`x?w4Qw+CpTHxXo|y<^&M6x6#e%S$1&WJlPprkcD{U zTXcvuvoJq-XAz+sf+ zu>%+;^Q7SQqbJbSqkrqh&^ly;)h#?n%37@wbr@ZWIj zr=PCgx9Z~TB-`STFBX#)Lsw5fszyzHoo!8>CYPhDuCW>22n<#24Q4E5(;HPJcPF1miqeo4tPRZg-l{{ad{AJ+SuOI#9n;zsr@alQ7e3Jtm1DB)VG)BQUwbh_P9ETEP zPCO)CVl)CR;#fPInsgfU)(pUv&2s;VN+a7)L@5<9_M!GsZNTDUJKdz;y=U4>kp2yj z{`GFsztv6p6C2C^ymF(oipRZ#GnX!&`}O4cincDCh>Md64V_(1ukbjOwtBhxs&D)W z`uN30c&}QHd`wi7E~2`_+=;Hjoyc+-L7hWK8|;B{bjcbLVhcnDsYE2xa7!o3&PRv! zIg5IF_U0fWV_Rgr9QNFEyXKA$^9jMk#wSdi;!oCIWKR~mj5g<f&l){7PtHZ;;KdK zhPv7r27)V#*Q5ut?E;b3-cJ=HScjBO|stoVsz8+^@q;) z$1QsP!BGg)nTHiG9r^0``73|^`2Nvfu3Y~8$G4V&0+5R?XT)d^X%i?%p`hpHpgq@SKppX-j@E znwu#n&Y3@D94ZJ0OTRt*#qVVnU80Q?OT}!HOe8)9VheAkZ?7(bGBjJgyp()ohIvAc3tdNmhY4{xp$uDSptZKTWe{}0 zM5TmJ5sX0~Xl-x0U)S0?D36+$F$FbZ}YLj zZFNR1SiNy03ZxchPaHdM$;Q1n5kk)n>8{leFV2W$8yiJ}!>{Fdj=|yC5gxMM8>OX9 z7W}&3tm(f~)i?S%G?%SNjf{`>cHwhIe7yfW-+YyuO<9Xw#h!2OUe)xM%w>=ZA}Zu_ zIXo23xfEiOZ>hTpWq+#;XMduRj+SjG7ATf;NtY9IXtO)w64*TxDCaqw0L5Rs?qc+X zWB6E0G=a1e!ieM?wb)BF_MsiH6x*lAB_yV#z~)TFRV-$bC-Fc&KqKWG`Rc!*B)@j+fC) zO2(lMunaz;TrkF;dC;wa`_?(h>@|6SGuXt+w}=ZbkbV+Gf>W6F{4Z|bzJ1~ISJ+1W z+fl$Y2Ihdo5zo0mBlhy%ItE?;$qY1vcnB@J96-!ES*eB$*F(|uUH{?mC%?56sdxfk z4dk`;?APauTVOGJyDUz9=#T>|g)e)5Yi)UHMNJnDbLPV)aLipD=*U;s%`#j92Rf~G zoN$USN(46s?Q@I+hHf)(G>+4Ra;6}(Yr(ODVuf#@M_@=;tgl*X??nlAKc(=%*`cuk ztf~oA1*+iwaB!7jyFdi71B*o|wX=yC3)0!4lYH6Za0p5gG9f-YBQrNS(wFFKZf+is zhD7Jgp1m-U$j1XIq(dgVlPOYJ2ZuS}rFePEaKG1ge{;@CB&ELc=XxqG-ftu>i+uto-x$KQEpC z<-`x)Cnw*(Q&!za&YPF+XTFQGifTlmGdDiY9{Y-O?zA4m!Vrzp!yEcJVp3|V2VWu5 z!E?FZ4K@AfqZ?4Q*#GBlmQ-<&0$e0H{%-_!pB>rz7<|)COtPgYX*qdwN!)!u%*8d{xJK);7&i3!U z+Iu1igb*O62iV4V#DnQ=yq(w?b{uCragsWtSuH|J(~+iWlD28~-ouIGc<+IY0UI!T zZxA2}NobG%bHU#iHO=??bANG=0O{(S_nh;N=Y5`ZAU;8Qi;IPPAKYW)^=$BE+%Q!p zz@@jsw4Z@Lvjbak$|Tu|9EG>X;0^ulBifhwCw!ShxGl%^qwl?QtQUK+YI;_dLFOAY z@h)Ae9>y|O6(f)~2_IjdL;Ez9-|s))j9uAH(qIP`mmPKuHPtn>wKg`j)OB>$S65cG zj0QZm{&pJoHZtagXeJyRKA_A-8PxGOQX$=k$wq2X6BCw#)0szx<}s#e{n!WQBc!i9yrsfRpxbn36bM zTzbj<5A1nl-{bq9UBCA39k&%HvOHrhURoiz>E>_)mi8w2I0M9XyoH22%#2g>ac}O? z;bE~9?u>fQoOCJPqT%%Z{a40FtU+$j_AUpasYMgqM?=f6wx%;|DMqBmR3q_}iyJ zl)1Zb&AQ#Yx8~A7r+*TE<}X8aMmxXw_9tleySN}j5tpFF?(OXDXrYA&dxFd?;P1BF z!7~cLD3Kx=?nXVlk$xkI502S5HGR`FYY~Cb*Ky=v>xfqTd+El8{to%blZD{*d6{^b ze12mgqO}&{dv*c#G0E&zG`IE1$)L@sK2BaSws`t_jd)ue zD@-!Sn3zX&#e9|DuI_R$;HFuW3NnKF|L0?1@8%4*g|0P>(C& z>(i@A8(B!5`u6K(SY`_+uUjJf7{>RHp`U?`nvvzgch?+|GQCb}!fl$-)6$Pw8|!YUZ3HjcFv%Dr=`zJYXMJsBW9<;tTw9L5>uasO zZVH%oV;m#w7#yN`r3Ji%cn*Rjo5LQ)iOdzEWf4zv#gj*?%VV0snMAgQoi>!Ihll&y z>TB9i3~3)BNOXb_WcQV`eYgpLB<&WYi;NjUImgI25@_>2}e)>lSrI#Q%V^H=fo%g&@0?A02Wbq(xMxF|3<8bXasO{{bx7U!!P*+ zqI=>phO9%VKH#8qj&r!!_s9TUcIfT4+eWR8=gyrvUs?YBk0Lm%Bpve-0O>Z{390j^H5(dg9%CS3k9(ld(u^%R{zUmV`nsGA3Rlz#tJp9}G~W2!}%B2*aMxNE%jX}=;00l%fxQrcPbRVkgLDnQ3m>L zjT$B5Oetj56pRt8Ib+x+g8KwfcBnsE`&{MAe0slBnb1x#q5 z?E)`5cuYvQOg0`GxK=k@#*O%y418pc!w3p&xx;qD^QnNvUWtlSy+7~ZBnuXM1v~ha zs2#jE%JV7B<6;9>gRfVi;BhEWD@$Y&uu`~fqt3=I%kbbBFwu^Q2}fU7SJyC#j*c-a zmZcqpjtsU~p`SiId3sv1mJ2EOHn3&7J)}aPm>jQ?F#^v1mb%*7Ygd~Hr_q=j3b29L zl1jK72CBPiF`vSG;vkUe)J%Bdd_EV_e|( zZ!ZBa)$+Bga??|Fn)yI}ZCt;4`Sx{r06wkQxF$_0^p0FVYB+lI?3L>QU2YM?$?lk! z9IgYM`Gx8xuP|lRE1ITNrW8!1w652h3x=Q`o@-Bxv5OAOk zY-H4@0Rvgq%$XS()3S4BrRgQamMt4f3KQ4?{Xj?KrSkG?7H;h9EsGaVR|?6|z835R z4ZW_QazWu@Q(S@ooM7EGwSZ?-Ha7J1bT?n`5as0Gv+H+Yj{X#pbQw+@6Ba#0d|3Bw zD_J<}o?^P?5*LW)$lpIxh=BS}bP?*=XX!QlqV(D2i{m_&DlnNIIag^_7VM%SYwysP z=)qO0>jw@TI9J;(%2)xn@I#v04%ZjNTh#A}J)rhyvVvoS7K8&FLBh0IX-ZiDgjm0P&+OIGeeBJ3&E2k_Ode)cVH^dEov;MA#;P2)X3 zzW&CG>mrXM2j-oW+gUWJ%u|4aay|BsN1+h^JjeVRm{sNV zXU?2F@$E-{hATQ?EX|8phAaV(!{Z&YdhP8^z42*EoJB#DHwbQg<~*I8WA|-0Lpos=N;Vx10y!HGkPNoinw4bjfsRQ*Vu#`5N?~x z+T7gO(Qn5gS(e9)FzC*dP$-C`vEKtlKWwH9z+=2Fk|wPKOD7+U?!fedTs=TRGKND1 z0%AjI43u2)#j*D^K-#)HV9HBGX+)fmodty8{FHPYIMbIbo}o(2oObipl$i_W&(B0L zT`N*)1&B>u?l4Chn+>R$%H@@7$dF$4a>4Ltl5&Q;6KX=8ZTW;IFW!?N~ zaZn_8<2cvTnb$lPm^&o`fkY+c2RLD_RDvp*&kJHrkr4ETP7fgwi-kgt&+ZNdBQz8= z;_j@ew-9z4C{D&HQje4ZdF~j42|5$4+h$usFC?)Y3Gv$t9zezKLClv4!=gkFj z=O#nCPM45(=j}_hsrnfO^is=PR&vYDHv=p)BT-_=Qeb9WKDHt^clDij-kIU`#KdIf zt+*Re-7~*^Y+LSF=LiOxGp+E}`yPAZx6eLx^Wy0-904Qj^@Ugj@RP7JcuAW07?~t4 zBTj+vTRkmJhEIf~1;M63`)BizP$HDeKX;)AT?MW&M z6qknwZ6t7kJ*SVIsklbJt$O~dqPfX&)D3TE1J^UE4 z(1=dEKM*GI1DkKYdCPq4x?Ja&tq(}!)@zkj=MV|M_v5G;*~yj2PPV~8uLChzIoy^r z#FvWaZ+qk^VAdYp`}>bxeHq*V-*vI>EyONYP8=yEcF+))w-84B5s?N`k;DtUE!g5j z?ttYys%VEl`RU9@g;O~j>T_bbnSbfhf$t9-JA2{O!B;nda%pZv1G2uh$?H0VzN#U@ z02L;hBo{OzY~<}1GL7e}4`3Jh5Ch^Q;uk_8FBMyde9qdHI=PW=^QJCNhGE8)JZ&~m z3^6dFNIt2A0mlg4`q0(hUEkP*FvjXNObJr85@loFjdJT9!%AoxKLP>`FI$ zAJhU^Y4ePHk(?O{BQnlik!m)udA)6It<8nukhT>Q@Dc+SX)MvwdF)v8{O5M0c(q9 zP)m)nHaUwreQt0Z@riG=rxCm|ophN^;_(nEDJnkY#&#LtX;Vz{5!(}wO_Spxq0cG8 zP2Nu2hTl`Ei0*C+rOk$ZK$arhZ6e!y3t$;XxXZNQ?hen|w6EyK!S^z}+<)Lt5X05f zbTiXeLsw*ZQnL#FxrAAUkmckaxY!yt7$3itFmnvyE)#(s<<93qmiNlq~&5~S1M zVPZy+e}j}ZUJeZOR;vqCfrvK7QED;CdHntXw-;_GmTeHxZyOC{p??p8oYc4j^XP<= zVUqL3y?t&kG8|+eMB?|Fq19{x7ny*vj?*1!MuIt&T`j`+7DbKk_Neh)hVd=J_!dR2 z=Ax+aO&qq;1q#O)vJO7#%&`;a8xf9AjW*7gE{wJ@9x+QLJe8|8DA3ilJAN_riCG5J zg^<7S_``wmXP$rl;ni6&2tBE!++~pOxf2s%jK2|{?Ap8r{NyuYelaV;^-Gbw;72?Y z{zzb?2&DzOz;=-L-1-!FckBhXf;8&P3c_UOi%Q;bTnMOe(9&Pr>eRR9fcKLJb(Tem^@BlCVvkBp@7dZfpHJ17a67b*>L>- zV`dW}qahLrAzZ^2$#{x*wTvf1Nsw=}g3j?-+5!3mcS+0#Zez8d30q>V<}T3XJ9!_7FS{?i^3t!_Esk%=i< zuG`LNs=Qp)K0JzL2OD%_i?{*|gOL|xcs)pvj#PbY6rDZNj6SpfvX)d>%j_s?Sr}z4 zv`TR*tR+3lTGFGeMb2iOJ8<~qsUwFq)hEg&_EYEJQ=XQpUlb^`-CL_rw#asX?F)en(W8xtFgTeDllGm(HCp zMkvXO{0mZdB;%h4=pARz@I$)MZ2%!p%c4AR|f7sp=kO={%D&x)& zI>WS*lE_Gk)Mh!8(L>m~+FBYSO?BSHVdU`a#xek3ILlaY@}Ln1q&CAWXYu>_{-K`U z_C#Biq>$bXne?w6X6~J-Pfj+X`+~GsZbWMTKSmE8M*RO|^k6g3oyQ`4ku^5*n|)YH zFOr>Y1vu%BO)i8NnU^mgJP0d(3cnE{g#w_jUSu&@Jzdx=USzSj-CY3q-r)3j7&HHH z)Xe`oYUclqnSU7f@o?14|2}Hwb6HgNu|o%sUaIYCt*NfK($LigXm?9nGrDRJ?NSqi z4OeUGt0iLiT;hqLmWuP2;0LtB;q-Xm1q{PC>T7Ch8^QmP-GnnB;KR9$gEOF$Dhx(} z-wUonJc^g9XPR?IY$cmEZo75U>Qx(Vz3q-$))cPauwldc_1o$$BZMmN@cI<is|Num~c2fT~AZbinLk{ov!9eIRS92$hC2LFmw5NYDL5-m^odmrXR7m&RTOW zhwBT3Jw7JT1PY}xY0jdXittsqbm#3m;AU@IwZ0%-%;jfgWTN_=smsuFAbmmliqfzI1pI4 zaB)1WNIIu*+3Z9k-xJE1r^kt{T(ZZk4@bn>SdA#?w2#2E>gwpZR$B)H9tIX%%9a96 zTPh~W)YJt03xJi3)rbC;Fi)xFV*la>YR#nyXtoUbLIRaM0Yf)?ZpxCPLYU=E*$d(v zBSY}8OT`Re2PZu6^CU4+k$#4eFHmqnbiw5&PnVnZB**CNd{wf)&w=n^?DCIOwz37bvL(t^c1P{# zkHc2Bz*e?I*~;c9Tgh;_=qx^19Mm+n#^(c>wZq9u$X*Ec+pJg-!`@yEpSPKyjA^KO zg?(HZ#ESv}FH)4Q34i#?mFwMBuUC>b6JMEnVQBb@DMKWp;OBaRY*li~O!(Y$XHScZ zmpU3w!fifh;m0n#WiR@{mLsE<77T_+mNGdd5$*qRa&8dfIl=qxyLZR(xQVe!{Q5WF zpR)+(-e*dbP!n`ggc&<;)t0-U+;!*1#fh_&-G|m|`|@>S$nv=9C3v$MmjJPOyG}c{3 zA*P{y(2oAU>T*CEuD12|k9ld>Lj>sCG?3IeJ$=nxHv9pL&yr~reEMf_K!v0SRv?lPvqEaP+vW{6e_ zwL|BD%jYtOhB_M>hr%8PTJuupFP)`g51BGn&Qszw@kKE;x#0R-vtiTvyn=Oi?19GN z14VIiVypwA0s{~3vl)t^6CQ`uL>R?aL~ag!kug|xai z%69)2WxFrHc4?&5y-~KiC(3qb!5cY#?5C4;JwyKkuj;Bf5A0Rtg|ioa23pzMuU$gS zHVL$n@@Plo`V_#5wtQw;91XovbA7xhq*b~;Mo7^}t64*~l3TWyEJ)X@rhrv*7Z$D$xs!%3+2gd5~6vm2d z=`F$u`yTN=@rrOy;q>_{0H#{MdHdaaR^o7Z4*|{xIC5wq<3AEd7@3SqZx(^K?$;4k zdx5Z$qV)3Yvkxyv8Uwj928YEcV~$;~to(o`GthyKj;`qc0$%mP+ox<Df1`cRWvg`E_}ZtQUscV zdzhtf0Dp!KCoG9?Xjr@`CuepnHZEn(s$F*$>B{2lZ4C|O4K-qqN1VN)WJxBRMrY+` zufBcws>d{oqIk*}wa{-Lriww^=MUq7`QBwAqUnVEdk# znWBvm1+55$9g%Jn3YV>+7tG>StLEz%D0q@US4p8I*U>Rb(<3@PoS@4cC}VMzadAc4 zfu~ah#>S9O^%GnaRFZP?m!`11W2QtFf6PA4$lQ4Ej@wXMfIGWnUIOW`TOB@m`|?e@ z_dQ>TEIlsa-ko=ED@ddD&*FiwA{<81@#9y9;Ic4z4BzBii4sy$RzICj3@IE|t9{%X zWWp%4p1@EQWE1v?PFd+TpA5tlmZKLg?0#Pfra7nLM&DK?AbG7$_#9vVw?`-IlRL_ z#dtheQ?;lhx%>&(h9=Q4K=97~?jQer_w%p6{;AgL<aSdFYpGd0f78ar zaqfD&b}J`w#cmo6vj=DxZn*T1?;{_7ZLG`?U?-@hQs7V3=?iE)FP7B9d+scf4%SEE zVV1+vZ-vXe7u|+WMV?Cj%h7%pi@+=nwpN#4I`QS_M-F|t`}RkHqObc7BG^sw1IvG9tosXYZ4&H{O5q%>%tANldOXL@D9FFWx{ye8W@7n2(6RFz;XBtNs30 zkTI*_d~nJ#e;Z{S?DMiqKlPwW5!XzcmfrP ztypP>$re5ZY7-BmQSjvt4*(hSFSs^`ja*729l3b&2-oY3dA_ZL~WwFFsLy8)$95gy?+~Kmb zOtT>$y>a!b6^m0uZ09)aI6?_j`f0g2nbYT`8iqPL$N2_$12e=d_ec*GbtgOkF1c}K zZW`3&xMc=D%kBZ=4c=tDr>iR*CdbCwDvqD-VoYLx2f_t+h| zO1@_tH^5S+&CM;|zGKstd)BS?xrvypVx%f__@KRRo`lD2f(31#t4+fS<~&rsLhsH{ZGI)-5GP zsepJcy>-uHk3NR}uTlja(PpN=V5360gxd_IaK4V#=5D?f&LYv6%s535)nO%P2yC1&&@XxE^ z%amaEo`zjq8%YDb+hSD4o@ah^;tT>slw`{odVQw4j88Hq(Se-UIYnkQ1^FVaUP(iH zu=GQeXClnwi)o1q79HvtWF{UtDN*FM42+u9Y_2aD1{ZmRCD!T05JnvC>gw$wQt>f? zH>4)Dg@c|L72FS|Yl3M8b%D(vhJ=$SCarkk%o*9bV1HY853vDvJ0b5bT+bSTaGXil@nWr6MNf zc7W%YVF!4*W26s)k7MYcAlyb{CYwON5`v-^=k@uu0^J!Yw~J==E~QgDEb_BL|I!{bgu4KvcQUValGrgo+}r{wk>8&__~7Ma<9`t(9uTjjee z;XL0BGs>O3mID&kK+I31(x^m~-(MzYGZnOw4K^u0lN=v$6Ks|_tGy4po0jhGwnliN z-6Mm8RxGZu{s9zE+IsB0!^o76_gjYOW`p`#xC+KhsI?;GXON+gbIk7Xl3Y#*XFF0W zo^kvsuxNZnI56P}IVQ|mA~e{L9v)XW4IWiuoR&x6FG0gY$dK%(Jd<15D7HkPyu~6K zhny)CLuUb%VJZ}1Q6VPKDgnUa!Y+nbfcy#MzYX_m znUn3}%;1Pq4QvL(XK86^X&&K+Y2;d>4&6FNg+L=$Be0OlP_iLC1j{!v9w?K0nZ8L) zP>;v!7;^I%R)J({HRS&yKD;ApHEhIc$ir&Lk6I1+QL91U*oM#mqDB&7xa;((_Wp~9 z4#B9-RMgbh)Ks?7T_JIyf!?+zgF!ZmK>~KEy}7lWR)o1)9SE8Q8B%(b!*)^}pHYZh zFjTL}C(%J;hK*0DT)#v<1ugC|8e3E4}%HgJL z+F~?1plCy5lODML;is1&uLGV^T*rxXWTFTF?Cp`q1&HNNoUD+^uYU96PX(~zx$GZ5 z`wZUfE6Z^x<1ifDhMfOacn2n0b&~PYh*00S+ z@h{1cC}iZA0iq1w+=zlAN+G!ZR3ktd|BcwW3p=<9@q-IRh3uyqLG7=7< z@yO!=@3^-EC8pl~3RDpwePEE7dECjBgR02m#V``%)Fs`!Wu2<^>Xj|)9ix_hiytW| zqf(kNXZqUPRH`M*q4Ex}{%`NfM7I~h(6Mndm+P<~4{3LHufR-SLzbX=^7?@=GPij@ zf8$e{8sT>}=gwbfbRi{Wdz& z|L`^FfzDsNdi3Za09yW00#x&Tk>qekxDLswCeT@phC3m#26E3xF+!nF0n>CeoH=&& znvw4sZ>{Quq1Z3HZekocanBeyHbYsUI@sGtjR>2Z2#_-kX0jsE*cL@F`M6H{ZbwGe*cKuw&YSfMs z-SsL{Q>QzTv+VBbxO(;+|H6-8rY;qEJpX$844lG-A6|dW<1v$bCa~Y)hab4>jyrbU zvPd5@`uvl`gJ||usfu>e;ygc0&eq$^$5-Z}8-`@Kmt&v!0J;6wkeB=;==h%AkP%x~ z00}ah<^q%kjMUV-o?k{(fxjS*j3YvzWxsE2YO0y{ftoz}JpyXbHcvp_R z&qJ6=2N*;++C0!mt`c9r{0CW2fIT`gX0uuytQggxi%+u;h{EA`WdPy-kYd52aM&yp zgnNA<$Z#`w`gx0%s#$dFK7J`zD|5A!{EH)uy_N=T0H$VQ|bDL%px8tpz zye%{0a0IjNdR4RWw^kIyZEpvbwguuJ+Qo3gY`q zSE{d7Upam7hw-nzAO`w-Iy<_1`bJ$p5I-7A)gI5=-!`)e zX8uh}3X1a!Zd$yW=1-cevy&>-3LFLRVYaaS<3NDY0`nP_>W;f;OdI`_3EqPO})jI((!JJrFXv z3L&iz!^5aa79lCJ25!$LK+*1uJj(dv+utILdkKZdHsQ*3>y{;YhK$@^@B9@j3gQMT zOuUkXu@lYBR`J3+&FKj8nG6cficA~h=X+dEyTch|aYp>CaTW{gx5sTDiq`uA0RVszSo+}Yky4~03aDY;0eB93w3_)>I6Qhnx z%hCFoD)2wK9d1{^Kh{i$F!$l`3`sZvtYtBC!{LJYLN!pW(^q4=;00KgYpt!VVTr@6 zbV(sAjn-m*(vsC_(v2H$x$X8HsM)?od?4MJvt)g0a=bz)U<-JG9x&Yk$Ya6k+H?Eu zy9+V;<=E2-fHZ!Mv96?K3;j$B;WzQ@w#%P>`Q`VGBemu!Yp0n`(xc9x=~34H|7AL1 z3ON=1`ueJRrTZ8ifw4mf!9YiAB(lxa;IKQN_#3&&OAG$I0-_ZQxFpP_=-w)2@l>jN zRjM-LLo;>#nr#_m2>%2Y;0WO*I>@%QQ>L^ZrX)^H1uZX%1!ctRX2MGM!+VC71CXeM zdgfjzbGjlAkd>Ho*d27ikqv{NNcha6h$l=rn$Y*z;})YArId|HL~Io@5+Solt|J;5 z*@R!Th~Gmb;fF!^kbvNW&crN=zbSG>wo%E*x?j~ptj5cNy+sGE5F;@(wF?(w#G=*l z?u{C;)z}{ju|E_>?ZU;;eqTo)(Cov#{oOqyeCl*dOM4d}Ud?sQ{0rZFf2%D_3gTrP!YTeGv7(mQ!E;;PLd^{UMVue^JhY1@mW2o4+K7pm%G*BM# zH?Lk&T)cQr_Pm*i7W)dU(a*7?({dv(W7b|`JhXg%RT1cjTCsM&BcH+s`IV7@{<6?A zyw2A*yu4RgPsgUFu76|&ae5&G`J$I zZz@d)hQQm7xIiQ%rSbF{hK?ee&kXQ1N-+l_MLLoMq>}y$5SUqt=kFgF=y6d17*Jjx zY0@((D1r&%)a0mD>FsoQA`B))sApu{Byl)6a&%4O6(Xd=3TLhI0y_H^q*EhSt3{rZ zf;y)PlAZd@Bn>Bf$?D}<+So3tI$|?HlE0wBl&mJ@B=7XV|ta8%<@x$Z{;&mu& zZ-JFRQ~;j+-(v4ROmmWcVT6nPw?+nkX%lfdmx0mdmcX z%(zkos)|w$F!^C%L_ieJ<2@TASyI$oyq35RKNzPGAgqA_Gor$L(BO+$_daxS-|t~b zfP_&_96}T|ICx_}x(g$+D{4d@j#^!JVMKn}BYs!Zh|C(ZAv*N?AOgu|i=`~CKa33? zB1GQ4it>vWYkPYek!7g9dipe6%gUi4I?PgdUAF#CgFX%n@Uo5$iSBR6So(aMswv**uW3VznL zCEIV?wQJY9#fw3%VU+7*wQ5OEbIp~C%a>D95|pFE&a#*Rx2lki|R!Dc*+q5!=?}|3`GY9$EnBvDW=E5ytN=;R$E3zLnyTHAfWy)?$WpG~zVA62 z%8srp^Q@6Ujn#o&QMK_-xhAR=QO6+*Mg6AGDUEuDsNfXhcu z45XhZkz2rzaI$aN6(K~b*o5R6EHo@jr9y738U+dwUjmvJyn`FP4Dszl5dlzzN|j9P zP1cviI9x35j3ojFi?9c57Y-2AgexQzPn|3LL^i>VvV3lo(B{O?nFMhfD~Epk zv*lwCq$q-=(F_dGh$QM;0#>ghs1MSUDX)$wM2%Gn<`OQ4pdj=~g}elX`aLBYBd9sc zHI#Z{$`^PLYwy0OJ9skc4(`J{K8QQ`zgTp0z)>oX*C*PN;4%Wrn1vZ{Gxg2`mzBiQTpAuC1)RfJVN92S5K9%#}Z#uN#OU(+rGnN*Xe0sp+xm zm>5-jLUJ6B=EYLovTf6fB`MPs5Lnad;w6&qhEs>W{^E-=rM+jcZ+Kjvo;?@39_{TN z{Ub4n$`_>9>zdAf`r+UHe&Dmu-hSnkS6=>eG5n6Fu%dA3{{F#t#D#6&fA%uCIUl26piJ3UQB`@h zR-jwFX5*$!Cr_TPs58upe<7!?z8!Mg$hTEiUPH3yN=01_`WX90EW-m0fM->r5gCv7 zfBwyZbJwn2x(q)7^o^w|L@=OuR6!((8XM@Ut{}o*w_hYKQwF?2iYx6L0+|l%P$?CO zePQy291e#S@p}oNU!j6RD}#o@II;W@4v)aHV-gW?-jZNq;DLz&Q^P?5j%l0?2_Dkx z7W0X42*1i#X(DLBVELhiMxsTG8S=zSA<_kB$`$4dgZ>csnR7HMtv)F+PAxI%eiTR0ui-!^pu@%JA9^8YcD78Mpwnu^bLUOZ%*>oI$1wRe$r)aD68dGc zX3m?7ymNX=!mOO>SvO^C2qzRWOC@3f<@H`a;{>!{L`vqbHZr+KF)0V}-X>NaEYMszru?wQs$xTt~WF6MY0<4pTQ7bi?aX~9mYj|92cPutT#z&sO z?}fZBLJ3-r-WaP}q^bU;xr{3Hp*IhPL*4S~?9$&&)u6eCCWMx^JuAB=2asa^+HWW#!fSj<&8*D}}tFksWkG z4-<}U>`8PR96x$24@R6{TnPH-;^oUuoj~9G2|zdQiaf{r~U z0R=Lk+ARlU&W_6;k%F~ZAIXPv&}fV$X$1y0Nz$9~1i{1uY|M~H%GO#o<}ArWp(wv*#>Y zyQ*ZE{;K1Y}R&43>M8`tY}TNhDA?L=?0@WyMv4+N&d2$7fwq+)}pHPCnpCXs^qCNQVC zqGpx#^ZrX9VY$+1qPZ6F4@Lh2eTm6z!Y}dp(eYIVUiFvw{EVnqm9tzmKa6;huW~k5 zBFR_YI*HHMXo#YsTmwk@+-!C7ydsnQ^06gbg2UJgY{axBOP1uQiKRvIN?!w*-w zX)VOAwreMUFj1fW6TST}iv8EW{PN2o_OiR~x@&bjlx?Mkg9iZ6?sxImeAS@A-TIx`=!pAL2zRBPofY(Fj>|3vs3{K2~Fr2x0~& z!nDB%B$L~U5k!+xG>Q&POxWyWcwR}eBNJ0&yAJbG615Ja5n7L7Y}aGP)Ngn{|Hn$`!6}9voINZ9_2EEKC}8;VCnI7=Ipt1XR~t_FIbA6536X+ z?+PcmVc!+p9H&jr%1YL0Vo^>9%b4F130vz(03_a3csZ`n1EM$Dr7@}~ zk}G0jqYI%gF65@IjO7Hii8*b@wmg))7v`_tuxZnxMN2nr-MVw_hLyR=z-?p~7p^IJ z@ZOcHR>HJPdAag4ezyxV4jFG7-dLJw_Yz?@{2ystgjN|BFeM6nD6d8; zRVqCU#0KUR+xSp#Uw?mZU!TJ^($hRJGBh~UT|evz*}A%HcB>`W*#R1#QURCYb)zpc z6q=VQEt5^4g%Afu@=`>eeg-O>JaY;~P!J&yNrXJ9GAS)S-Vi@yZn9WB+}}MttG~Iu zr6((gxDz)uHf|pq5sBPxh6H2i5~YGEM3Z)cR+*kTf5Tln zX>!SDF?{bxAGtl>W$W2>_u#0*H?(&j&5fIgkjFOC&~V}eF=WAN4Tc41YnO3{PMm0H zu($$XZJqL9_QEFj{vS5E7dE*UHn}&-Cih0|oVg1!lOO_yeNx!sPUTap#aI#CeD^b_@HOuN5onB zSinPudujoG8mAQ5@I|uZq`mgEX--W;bH5b~0sL!K^}ts)R9)k9D6h4@v7tsJ5M$MFfU3s`#jHY8ZcS5%J;>4~reC^n4ewTWp*%e$UL3SHH`UCYKRpgv+WFbR z&iz;k`#Xc0RS?ozr2!LOPSu4*l!dC#R!uh~i3v|%TYb(=({(!C%-o#jwtgoeNHR>n z_ue%+qW1^+-sE=&s{iw=ESkeD){#0UT{`~o~ zCr+NbbhWOozUtzIGl$T@edrYNtx*VxKG-mm#{tC|WfU_wJP%Dt1`-?(hr=`~$dGr! zW^+dfk_UU@Gl-zeX3AxZF8tl|l;oFNs0~n7&9RR!Sij%U}x? zu?D!3$#KvN&0!MsdCVkPVl*ZbAf4x3`q$JJ`0Is0Gq*Mt$hlvu}gx6=W*f4=|?96fw;kR2%0_5w0=+hmy5hTNuLQ=M| zu~D=eM;K#cbdm-LLLVUj(V>X)j03yaGvoyD2A&^Z#KFET5%b-?39m5)QNGuWQwtBg zd@choj(FK(v3dYLgkdYD-fe0P(aLReqSjD!uh&|vAzHa@Uep?j?hMotEImr(`PjAMY{rk}j*PNDyKMWW-X=%-9HQm1-#rlUmgIvhqK-^g(|m`t$svdo&sMsJ|8 z!5z3na%#RjJa*z}W9x~dEiJ?e{E5R63fb*`WZ0XH9KYXg4?zUWEZDeJm$-FHoUTY2 zfY9U%f_=pg+@C$`p$BGV(ZvG@*DDm@y^tC~WXnO~MW|4S#b(B{ze~(OKAin~eadYz z|J}tXM3)oK;k5aV+_;VI>iVAAyb-CBGQ5OTidJM1N>KDmq^62Q>FHAGjlEHbc@;*@ zt1#-kmSJ9nm{(!cyb6Eb8(GZByfafXpc$~0GGqX^GQS0ag2D9H73v7)N0}dGCNtd! zADM&W4mp{rybO~~^0@@l0TKic({JJX2k(^UFsG=B(mb#Tusejt@Jh?Cwq6 z-i!P=e1Ak91F;ne0?Zg7bM*>Mk`8dN`70S5fh_h<37L3HVQ_9I1joWHp#Fl^1&)_VC}@y$pF6c00!HDvde?a7a;g)x&>~3K|~8z0T<{z)8W`B(W=6@Vo_dQ zi;zGvc^U9$`y%_8FXQ&!$&WmNWq-|>S5mTU`Jx=OGp$`+0`}C^#d8gEGE9p20rxmm zxV;lBKC-4EZ^-8iIl)~vbLqFI_qhIl)d0e@AzB3xMhkEzR}lEb8j6tib7ciGSrP z#JFs>o*Lq?F)tpJIdOC*Fd;@LRBE)b3JI41hfK~5gxPEkvIT&M1Ok+Z2Ilg)d}XXQ zUawZ`6XO$g8ZifP2nYF6kupBfl(%a23Z(Vd%v-s0=gxJDAeaku>9Sk5Z$RJwyzE5< z+it#PMZxAx`B))Yg#{(h%G{hkYc8CajoXUW-H(ugzrA4DTp-O-a^R-r)znj zS=HRu4jO>k>zz&};c<-d#+^7M*#e~!V+O4$iVqekPB3KeZ0s1W?`a2EWys}ray=xM z(xL;Xb<$xW+Zb8+X!dZZ9I!@yLBp zvn*pjx^3IG$DVqu80Gl4Ca*v6?%BKz0)YGW-T%-ebvZoD7kQ8G*uAB&uyEmW?3mve z^FI6RqxTMchnmDEM~@%<;hQf%c=zLLHcMB-HD6sbTmh0D3SzyESvrQ1|KoGreoN)? z%dIEQANp+n{`$dz9&WG2HdK4+@S&fOQK3;5v|3+u4sB`FE>?Ww^jr|Ni{(b`VoJG| zX0(&hv<%W1J-wAdEVqnOph~Ne;b}XvXRa{Kc{cUE&5H-7I2l;odqeUBe69tA6&Oh? zQ;>`}DIKSuW@yO9N&{2aOa;xFH}(DOR6HidmL@xZhOq&jPWPoS@DD0Y_MF@3EU{rPWz$iMaGYcKuz z&wqXe?#O!Jqx_Q`DPoDJ42e*hE`=|Vh|FUp{S@$&|^>WIZ@pXgSKn}@U<2=SsDuZs5C{}SSSdCoBDp- zfd{5IixcmP$``tSj|gx~rbC;Bhd!t_;(OemFw~8l&_Kvn#+&-qHU`M_cI0QGctKRMzt<)PGs7eKy%_7|OQg2iD`0s&Ygf^aYW!Ib1g zaPLP(v7fZHg8-nv-|E8&Esgy1?V=?LSzOo?om%B{!b}!2 z;3%aA0zM&!4-ZYmAyK~(i-EjGrzsL?er5hPglCG6S;hjG3##eHtjQUpeb`7C zv~?1Yy%PwcC+uiebGh80KZ=kXSPu`qH=x3D-Pp@FW93J8%I=6-`8Q+b|FTndOVrBG zK#~MgM|T2%DUZh)vkT?Q7-7H{q_Fi#cm(OQ(Is|JF2HNYFN=ljGR(Wni2eb+K30nR zb4-L7Jk(9}@o3R>m@?$T0DOeuK`^=Sfvmb?ja}J(j4Ay}eH%bu^_6Fi9sJ_cPd|L??T_Aj@5__tPaXK|U2qG3y#L6h z>-afM-S~(x4X@-!^^Ue#+CV_FJT~Tl9t`X>3>(L;6N)gxAydZKh#i}UZJ-wlgNS(t zhWa{zaBu}eUONr~s}08-&Hxw4P0$4kS3X2n?2y3aVIv0dxrYK6UYDwuim>854nH5w zeHmO#k5Z{iOHWMDU?XvbI3kHy=yXg3Nt_!@4vV1cCSKs?1X$IK37%4nwGuLFm|*VF zYU5aNsyq&Ngf>@^OvGVvOc}G&li{XKpI5YM{>)g7F2F|}IXTNpcX8l;DC`D)IugO^ zNehLT>;O2^@F}r)p!pF(@E4+A(-q`_=O@e-aYJFwRDB>Bb~!!jM2gn(ONL!0<3vi1 zI+2p2>{8M_Jlc2hiyzOOyIAp=`JWKy5gBkZdXC(nis66<*2HZ0xB(O;Ow2o%Z{GA+ zA(&Ob=u?_cTr`UMg3cnpH?}WPRpQsgni!`>M}n)6#;iwl_6T9dS$LS-P3|Svl;)E~ zMqWdB>~X($Wbo;$nm#6{_bu1?QvWU2gk8SxXz%AZ;~jr z;0HIvND{OnZi*C|Kq5yd++5?fI);YpYI?0E$@E|#(or4Z4-Pe+Jlq0pERjbM%SwzH z^w`{iL=YlN)(8A#;|XbE|3Jl;pY#%EjiLeFG|_y0{Xm-~G{3igY8?3(N70=Oj2O%s zU!th>EyiO$#*rU2j-sE(5e-V1D#maeJIr9l4gr@yKPJC!r^XvH306LIjw^MH!IOnV z5un}Oku%{&hK&&>7?uH7HzOFpce`$%wv!=qgnTOiE&+0Q}M27@Tb z@E#}cG!k(-BUs?92rUEfvy%fL*p!p=>z+(`d9wgZd)^}HyRC4QJ7|LDlRbs>4uP-# zaB%+1i=mwucrhv+?tx?miI7g`^XcHO3qu2E&z}9+yZPUH_*EAs4?PM4;5gs}ulI70 z61UlLW&J2bR&MLRTQzv8rX zbp?b-?dY^|o&9QctjB_5VALD?Yrf2XIV`llf-P4?(@-N}ON3C=Wzp?Yg0K~b(a(;I z_J16iU-wq*_JqkJz$0KfEtXN46!WPSkN&C?^Gi>Kc2wZ0sOYem5#%yRC%_U;7_lJi zh5`Mz2c!5^H)S$D5n&a}qgHXWZk7nESb|j?%@ie$TE(U0gv*F_fl{)r&P?`>7hto$ zgsuJ(o>{rlTuQ_t^$LB$yNrzRzI|a6%RXwI0KTad!p>%MY{WXaN~on}e&J;rgx$o9i!@;i_O zfg}Zq1UaS^abm#4j*X3xiuuek83V2UF|iX9EU_Bfh+51-H9gMLk0~8Qjyw*}#RVCicmbHM}PaM`s0^Bxb}O+3e2 z3rtqMHwi>1$)G7_zxLV(hc7kQ%4D{NONT#rO)MU~^tst={`}IQ*c5-Vx(lItU+u~7 z-bRu6t#40$_Wt|te|@qBAeUB**z-p1x^;!K(i3PK6eOf)7p}|CpPjCO@1RJ}&NrzM zAWR}YXGLVk3zkHKsXRWIK(pPLJ_(V43gmiFvcRf z3ehENX=n)J){Rg`D-?(^<1o@X9+@@?t2=Cb{P!B}?eV3=D?^sD*memlYC{Lha$?SYW$eEWG7XA7}QoGae7 zgj*RQGd`*OBtwU+I;{5}lx%|x|08cDh%+l7WM@Is{PxHx{I@yW$PEy2`sw;O3Bh&O zw+;2#`i8o>Y|=V9I7-(;rtQ9Kb>WP{)jOeZgusSi@CgEpR<9GUvG(rD+qL&;MB+TA zm&sG!IIDkY+iRje^Ll*d#rVvNqHKHd&!3ryw{+Y6=#o$isE}g>jcsm-EL$4So!;Nr z34lncrftX`7RAKltVuCU&KrPTuHm7U7IXZd!_!{_6a9azeFuD0RrB_}+xupdYQd-r?J-HojI zTRv3okL;3!ojd28duGneGtU&ZgE{N+jb3+mgvjDUBA%U;0t>HTMkfbT)mP7;;r#aP zda$7L^p)iu);V(+ovM>3w^aZ#Tqp4MR24MH(lavvo5sa?YQlscBLBBdJ2xM-XKtVsc@ijQyTiRMFydNguho~BS#mIKG`#P z5QcB;km%?kvnI`s8H2m>j2}@cRRPcA$KjSX_u3=^pfLLE^@JX*(aiJk^{K9Q?r+Pm z?w7gjZ!28Zz;jpw_h1byb6Eq+T-HDmj)B<9s%krNy8s<_c9~E{;^ii$^bHmu&U(n{ZkuF~w6 zFe=LE6*YGJlBb`3`u^q1pF*nO!6odnN&pI0@!0*~Wl9#4zVRe{)lqu*<4-^P?sE%J zNiZk2ZbUN7z#Cv@g)hGODA~PK(591N7?n4V6z#!TL}b=kKhH0DXdnEw*ve}azyR1eF~&X zHIGBvWI`TbdPzS1kufn5kpV$uYeKgyg<3_t6|TfLHblYW%M@70e2c}7d}}}y7Ac}h zHnW|R9nS4xA$(k}M8c4gaE@3?;wxZE;oywRvG#~1j4ml6a`2!*38O}2fGH(V6%?2d z9SwUE?gt8o2){6Yr4&*8P;YO-y`L}&>o|eWmwCuUxNC+hg!_eOfT1{IHwAWf6N^$5 z)9y-i2jhX+k*`Zq#19%VV(|DGS(x5ra8i#Yc+o*ILEavr@u8!`hsR_49}*uARvNJ5 zW3eaDv`p?rxXKx%Fu+(2z+-0*PA2vqV?z(bc6aoGGLjYxxcV;Ix$g&K{YSd2f7g1C zV61=A4>QN*FmO@nP3j7YD^0-iYC$;yyi^V!>|vcP?al}U@5#0I zuEZM3MtB(UD*O@;cb0>*1kWQRb|M|dUOd!xqrw}9&sV%G68_uv=U^e9E8}L`Bks{-=V8PO*(}((UnH+lL$Q(}u z?DO-le5o3prjOP1~~Nn=d{?Qtq=aw`}R{ z-Lj>!k_`NS-`&1FCkp_*3Z@JBxg`5E!OKSgR5|_8B=A8@WpudSz*WQ)LGvZ}-}4qC z!u!xuOOiw#-8uB2K{;LqqseFyifxG7nixw59O`bgGChaiMLH`hD}vMKoe+=e-nzOR zule)m-FavF&_T#|#m5dF|IkD0*3Fqit;FwMy9UkbjFh>lp(}^>^vuaZk=Q{jCjvCo zh?bL~m_2*h#w>I+EJ0_(VpNtMg42O@EB%U~9#7R8+pgy~<-kjIX5K}ZlRv6}5MfUK zqymD1Q+8QPnRJ{sY9cyz>o^8#otCmNDspxqt~ubi;76c zY9LsSVJ@p-n9FJy2Fb&)8iu*7h7q^c8yc+%xLQw+80^I;cnDC+JDPw>@9Hqa`^}cp zC>XD*s_g(?9bRjuJq=4h=X0%0ESo(e9j!DI zL%qCxwfsS`egK~2_zqRoUAhMvBu!V)ighcyF{Sm!WM^W|oKfvaYs59bgfU0Tv*sNr< zEyven=7_}tnvqJdt6723krVijLIh$vE$G`=_fo*M+7U12n+>#uFUavdauor_y1c!| z@^Egr+T48X$WELBe%g*$m{w*oRn_7E-qzmP-CC#R*SA{@9lbdM-R3=q5AP#MY*o&C zSoQCpE!n&4omXCYWs`GGD*hN72+*B)0d|H(BlZ`S25DbZ~fBTy$L2AT>f$Iz>(H1u)^BD?0MJ>5kd3 z^BQ{7n^`cR>yiF`+MZ*7f;#@9r1AXa3+HmrRa|?^D;@RkpI~LbsMSn@J$(vHEO+3V z1D|do2fdwhBfTzkL z7Q;Bo>_}t^#XPRQS5)$kZHJx4cC2;vY1SSOKj~qO7zRcvU z6UTu2xw%^yJ7H!9!l<|uPu-g~B3z)atE+QM%2XTRVU}~vrYQg8CWY^H^ z2&{Fqb@kyVHUOW3xm>-Wp%!Q-v@ijIFTO2DQUIN$teuTbXn={a@<&n(AO+frk!O1Q z+&lwgu?KrexxLL$)CQnfFv9IpP@j0tnX;FL0 zX)y^|b=g%)k04}pWjv0FB#{}A<7)%a=!2w)=pHU=h0p-74p32a4iX0qNl@_(zaL2- z?6P{u^ENP&9_g|_Du2#vsoeSfcNf~+?ANa4v5|CskUI@mkuP_rl`35tb(*s<{k{yU z0hq1J!nyjoz84;QjB-TMlaiGa5=WLKc`7G})w)UaM1Wt{Qd{Y4dLBKWdX-as-I4)f z^P|*JHkK~iGk93v+{Cmm2b=rmw&f_V9{=v#>CK-sRTnhXpU_(00K^@zk)8x@8)x+%Z3lD7@d?PxrBXSY{mf`#LV)Z#h=dw_3!2(4hqf^4F*{xT6)? z7b#gfsAqB5VH$8FB7u$aBfo{gF=cvD9_0Vyz1~L(-_gkpayRbkZkM}S>+&3s{_S^T z_U?AEJFcA_<9oUqDk{+{;qv81kZ3jMUj}Fz5Eb7bUzK-cl*od8jpHAM({(6Sqm2z# zN>u2dP4(2GuIKm(78xY73z0tVGAV+sR+;}GBr!)vtF5~Dv~golA~h4W{u5#%!$&Th zHAHTKe`)ILslI&nv}6cE?}?%gl&cu2bZzV}d$xVG<@;Q7a3;v3AAdg7A8`b=yT6)i z1lsBsfuN==AIAG~b)P`Te{%i9s}?OH#o~L&#ao{>Wc=ME5%Y@Q(ot?C8PRm@>WMvj z!b$G-piyRF-=`_Co)s9E-4s)%ayn==t$owV_DW+u1`y9$rR z$8$}DUh-0HV7zVu@MY5w1z9h6>GdxF0(^rQ(^+;k=ufM`vp&YYP>^%x%$dWRHM4M% zU1nc`>n{AC$?P=?=hl^uGcI8|W3FpsIhM}m+Kc=5?8!sczP$+zI&HR+@4wx;eaGSA z9vsOnsOmxAqF!r0>7=cqOq~8-QHdeF1Y%#lFGKGn>UNljq7GHs(tVW z_BGbX<>+h6i%O~ph6ciecA2f!!@`Cc+C5Vt`8 z*wnF^!$Q$tFd@trCQ%_4`{?3T0g;2!2C3k}#bvJ8_-JZ~NaYF4PuR#i(o%*F8WDx# zYixKD5+=i_N!nPmSMuZ~cP*He5eZu$;{c?G^Q5mTJY&WPHDi{^yahs-=Uzjr%(+tu zu-5;~8%O4i61c2&!L2=?9O7v&EN_ZZr%|ucO%#PVV=H}=O1D42Y^N0zU4DeNP;{e` z_6A}*fsS_O^Zubse^w^PDO1ufb0TEQDEitF(7MrXN{~~~gA(Z2zbDgWr(yL>WM$Sk zWnOW}q_6~8nR|}V28y0XWD@3PE8LvHEm>NhO;tf|3;={*{w*oYgIcr)BV*dqV@DA6c81O*u-DeZlXpJsa;q{ zGodLs{i=`98z@?)q{}HfA%VW?nA1V{+_5hEv@64C2BZ!=-6z~yyOc;|%DeH7E;s*m zq->5#?i+&1RlBd85T8io^9Xyd5 z>Kp1!&ZMMN;4pd5O-fF|y?=!N{J{r<2cJ3fzyn&rtFNMR=7SG(w5e(e$d%61iS&I) zvE8Ic((7pz)y`QzWpO&t0%y7FXWc`kp%e~W4j@b7PM`kOSLvvT`azqH0=_g2-POhZ zKu5JqXRNjxwwugW=385%t)BUs`NCFcyTSaz9Hd{mFu{I5bBH;@7&K|N%eWVX0&zWn zJhTEdt|c@JI`?jCS(!pnTI!}MFXbc4pc3)4pnS;2zCglTB;AQ@u)Dk2tW!%Py#r0{ zZhn?7wU63IX6#aVgUbZJ3%!$YU`$jX@LDNmi?>oFlCB_&e8NlF<6 z+MR4f<;Xo43`ix~sMc1A#JTebF?&Ln*%P{0SxE?@KiGMME<2CdW%fWQf^MXnG@K}E z2zeO^n$Jz-IZa1bgN5K5xeSsWe194>3@^luLY1JiuAA(50vEXg7rFmGYcT)O6(UOT66?wX+hN zSPc!Vy!}pjy{x=Jth|&zls8aA5;y!ao5j6KX0UH1u~^15oHC%{6*%@}4srERR@%}? zdt$?>qQkH)5hU}#S-f4DU98N*tjr3h%x$-13LtY1D>L%nlj-du^M6j6^+YCiR9v-` ziJsX=drOh0jhrH7P3p+@MG3=HUiVxkob>2K3FIZ~swP+`h5?EZH@iyKO ztwt-OIppHbo40kVj{p7MrrMvspKBk3!mJJK^(J!w#F)XLYWM(UA#rG_k;`mmUSh9a zdm8=m=5(;btqk6?w-G?A^QfVhe}c+(1(&@o`2Yh&uSl_khVkt3)aX zF(H`>okIZFGa7Y40l_Nt;tUxL-u`)+gVjQ#N6@Ib51@cyLWtdvny#g0;6v1Ey*``Y zdgW$|!KPJ`+x6NM{_at6qaV(65{P~bj_zfnv9e5ki~Yil;Y^62^Uc8eBlUtRi^vXk2zk(p|3_4aneI{xZ;{wt4# zUq<#2>l(6$2-B#aSvxR+d6?{yb**Gyj^vYFa+o*$H+RW_9;nztB$j&+yYpozD=&$O zA$ykbGO;_hX|Ov~5;~jzUCT32B8QcDk(KzVL!uNCVR;}C8V;QX%R}8yB>qj?Gf<+M zmG}dZm~Ow9a>yJFnPgO1nTw`jRMWA5U;DSlwU3o~oz-%mLt=tMqMnsF%^@-S-;-Fx zO0=;OD;*LyIwX3q5)+9;>H#vY&b1SS9nzISF381aNx%*nMDeL0mmM;~Wrvjbn@cSL zbd?}NSdE;BR%!~MYDAHu8Y;+CrjzdN3h(%(#lPw2#(*ZBly{jL+INl_PF>=S)ydy% zAKUVFO>*VS6+^2Ku9gaRP;)Hb_06Y#5Zt57LhYCcM|Tch=hGj5n`U23Z~Y|AJ`aZ? z^gH|cAT{Mq$sJRuy+2xX@@v-`^Do!+8Eeh<21KW%9j&yN%BE7&z%=XRYt~GCc-6$H z!1SQ#Nnm@CMg>rn#irs)Dl~?t%cMT1zN8)nVd3YZ)x#53#1A9f4AN0Us0$|yr!G(_ z;{;BR@>z`1vo3bzJC{*9g;9DIqoi{grL8WbGw;2?<^FUdC=GXvEdja|;B3N+|sZohrw_G6?bF4sYXUp_eJ?_{J zIev)=!Sd`tzxcCf3&3G4wR;Rpvs9hE<{p6$O7sT@jmTK08yjh;0wqCRRe5>6Swb7y zub5HR=H&&lI-#M-z?azSPHzA5Q)EwmI52-=z__jZDy@q6j5&*zEn7AlAuNg23$-sj zO*Qo$=4_cNid!cYpmHX_3*}OQos~!!WyE>ORrTB68FR<#htK^4u=(ci4_&F#`z_Li zN9v0TNYzo^<)S7Nn&uvC3JOENvoHX^Ily3x_|@Bx@VFPL4o3)Pk^Mn*N?$h!mdySj zUwgDkmbH$Af4)WqEV(|^!0VS-eSo>LbTl;S&DnDIIAf6tnR`zkFQtIi()#iY_E$gR zKRq+BwP4G1n7LupGx(70RDu09#CK-1*E0J?-j`Pe;dg;gP?v#w*l2%@|1NlV z%wpyd<~h)iM=*N(Q_NAO5UoZ?%k!!BHG)kae)YxYufb@-Kz5$f7rmE(q|gfc1G3ll zRU@1tP{;@SCOtC&8Xu+(Q18-9BC~~kXd>k{a>WbC#Va3~%xe{zd;M(!#MkS0q0ssP z`;(kcPw;hPBiwt@BCM+i*wmKVq7%n=9A^`(m(HF%bG_Om6IT~rICJ*gh4ZBU@V$_hxq;XRh&l^7(ebeU8nKfh9os&}H zr_5e>_o79Mmo2|@vUgbO;Kg%BBOja)83Mk$5Nf*C52aT2z#(awsgZ632+?Dg+02*s z?mBp}vL{dgh1!pslF#o6>F+f{M%nBq_qumZIlKHfQ5pADv=W=9E-~22&^B zb>FHLtDcyKbMyyrJzm3C!dObW(SDBiZwOv^a{a2ipLu>Vx>mmdmeSAgOFO`W{3Z1s zH*NZZnd$IY-jJ?edEfE{lSd~+h7V;8zrWtx$s|l&bkEFWFWeztsFYK^C%*XL)18;w zQ0!v_sI=w?CUYGcPcN3gc%`KiFd#1KP22`ApMb@;6NP`D)9Zp=B4hvLoEYv#>~)bJ zvDY6DV(s-m3Nkv_klxR0OY}1Hy&coiDO``Ngwb> z{w-^r$V&W%NKCgcrW`WwflOHIi>%C*V_0jw3o`$v7c?*;*2c;-uv(T7iPT$Z4vBrN z#1tZte(De94Lr9E^z#OKB>V<4iwzr~BXvHF%4O$q9&?zCYim9k*R&{hT;HY^^pERE z*df=d*BLH$Xa?*M!S}jyMvQW?L;hk(?it$9g=+kk#%}(F+~a0$2#iIbIG^;|^+NQP z2K^--dk+tau*8`>{P9TX{3|NftPL4C3xw)ZGo~zBzIx+=Bt4Q4eerjbF5|#Y`OA76 zYr#xjTT7vYHQlrRG@y_=pi+o8wOgDx@t*tcyKl*YMK}+9hVPseK0Pe=wbx#|gxKzX zHPjQ@Y#I3GRNbu&W$0dUm2yImxXS|TKg$5L4400(?fZ{Enqp5z*QR0wV#rmFBS@Nk zHRpdHeMnfmhhhW0K`uBA!|Bhk$$p{T0o&hlt?m97`giS^_^n3BpdBn$wMXT06h}H*BK66isT*6Hl zeQ!U^YVAS^5CWS#+=2oIC#Z44p+J?|ZkEKO;Lf>Qyn{La*~RxLbeZ#unDh5A=kK}r z9`Cu#`S|*V794##+IwuM^RxAI)T58Xd8mp+#F^a7r2k%iS$;k^5-Q5d+n_2+#(iL0 zNJ*U-ry8!rP=EFG@x2F*T}9ebC%$+AXx98o06b@_Xq8Y1DokGi$7X0Znm~+|9cnWj zJAqNHuyf@qnSd)(0(Q!wC0;>5r-X^kC$F{Va3Ukn=T#`+0j*WvXbheD{9I>Q^bz#C z`4~ham)PrPY}h*x6lITL)F}`}gKjTq!R; z>_A{oO0%kgmy)x*z^aJ$W^eFb4jD6`Ql2&Da`WI3a;EQagzV$@?{{w69nTi_v z>9g)zH5-rL%B9a{;k@}h6g-3LC;B}7DIe4Kto4fymH?sk3 zmuX-6sr+WMzQ!U_4~xj=bT>Xdfzp7R5SKEYYCOGb*Y1OR_x}9To}FL4oCPmqf&Fgw zTElz!GjCscj{IgN!0HX&T^1XqYw~AGrpYv0-)}G}JiFURQtsr;rnMI9bC$Poe^8PxmnsL+wiM4kUP_7zOGw@14N0}0@1a)6Vb&{gQ{XEFy#ok~lA=J+B^4-Sw6&`P z2uKc}G1|I~*`Xj&lamCS)ne>5T7Zk@h@>iScQN6Ul1B`2cN6Al#xpViR^31vL5oCg zvc4`LU23}I9CR{mGB&jVnp9lSqi=5ESVcn6p14W*95bXU(5Om|5&*PR6k8h5ZlkP~ zlt4=vs*_Y*7GG+p>&{lWt3wh-W{e3DQ=}nikbhrKcBn|{E`fYczwn5VFt}18kbf!B zD9Z;9zrVuJ*WQ^kUf<{I;o%+}h}9(&1xBjO7)4qhIl8>Oyy*D$d~B50&r`;0$IMCkc_okJi-7H!jwigsPH5;;3K|xW&(z0fZ z;HpE0&q^KX+gO(!DvumNdQ*G*g@uL3M+l_~|A=4@snRDH7;kZRt*S?#!$t>1A;=ak zbIJ28JGPxdXfge3rl|xB9no7eg*Axv`Pt?}AmZ;B@Lpa-$^Xd)wOH z+S8rdMmeP(aY}uKXiM!%gH$ej!$#Uh(UVlj38iCO7)gu&p4|Vdt-&d`#VNOjmAlO; z*UrifCvxfG|Dx0er&KqmR1qt+!zq==N>#H`$Negm)OHG8?51lLNQ_lAFbgESHO2^G zbE#&Hh9e^KG@MQ%PDAHl)4E3fZ3V6tFML>iyhM@3cbD>s1x77_%rC?X6+qPmRc3_@&tz9sMF%#5vND5M3Q`NX%2%j2)ysl{TVltF{$C5MffU&!j3#Jn{;txZrBO@ zZMyNHYJ_7!=hlwOiPj!FWt=o`W?I;MID7XlUvb}(B`|hlhYX&Xl{FzQBy7y^iRRWO zgVb-uykrHK67k2|D)JwN2B1RR1zU;>T_6(I0ZUv%keSxI48Q^Sq1OXiOYnGM{_di1>}ozFCIAacm%K0iDm z6?Z<`J!;z2>BVQyl+mbqdRzAN1h=}vi)aI__f1_l3G9-`*luQ5!HtT37t&S6FTecq zT#+gD2~dq`L;BoDdzx(SC@V^xL7I~;%fMShL+RyQ_+Zz~!f~0@>+JOw^$8u|o=w-D z)bh4&J<$v&m~;dFSny<;zrFOzw*D@r|Jl_Te+PM_f0P2wH$+u=7!|R9H- zm?_LM=6z-xbCR)v?8zG#aUZnL8H6~>ll0p!Pl3VD00C4G9Dro@ns47A%>LlJyD#dU>KkE! zy}OO5%p;{A99!Y#Qy|SfTUH0Ul^?MJtwvA=5+)dipsW~1P3QqUL_vWftf7uBJz)$1 z;*ZIuTk^FL?d|B%igFbWnsz9CP;863o$ek(FX1y00Rc^j62LHXvysrD;8cO$1xk0R zSk72!UO0~p5B8Z^5_LcCF#l1Z=y>WaQV2Z#gOt71#pOK`zrawGj(98OLQ6ZLjk(6} zZjlWiK0G+gQziivE<4H!_D+^HrL&;}t;3qyp}kTp6f1E1-s%9-OvH?C<=Hf!r;Qjg zBvMH=G*~$3-bi4DCdS4jj31sl ze(AjX@4tWE=y1RAXzT>jmOYRT-~5ZnCl;hk%@~q2e(c1oc;;qd4ebx|VRAf@^Ly(F z33SQOq@gP_98Rj>(GB-b8$~V0vQSAH_yPX%Y_0(fF|}^)7;E%+1pgAAc=UVr$>xex zb_0gFNE1>^@+U^vE$nW`f%VJuRi-=7e;cu$gLf9^f~U%M_Nl8M=S zT0?2*W{2c-)PSMToT6JUk+1SP;#)+E@bzENHPWGLxkJ~V`gP6k*R{lmBe6vRWVZ=-wgwH;sCG5+UrTb*)yopQ;lB64>Vx$sau6~seTwvn&C?fCjH%&m&Z z)Nrm6ks2CJ)rdq5yh6w%Kj;GDA1`qLkmF?%$a(&ar{|(WYJ@{-Qoq#neyI@-sV0Y1 z-mg-hhS&CV+O4z4Yc9|1c6e=1!E1Zg#cTW6#cLZ40wtVpxON*O4u&7b=TRQv;UR%w zywSH8=NFbCDppxm-lT8p$i!xT`U2KRQk|_1` z4U4i_dQ1i%FGctD(`O6n3~z@=Q|a7#|rN9L>$&2Tq_Z+fO!&qi3&v?6Jq@BC(?#VdkNbH3*@s z)S1(x>USJ#zgckN7n;LUaIQ2~l{T82s=-UPV8P^JVLtw-N;WM+~ zTO9_>o?LHh@C<6j@`#}$Q%RBJ3KBYg*=Jhoo^#Unx+|xJQg`p(J>`{$KL7sfoflhh zf>&F-&NLv(QH*!wy3Te2j0K5hjGd2$6!rL@hVP-v}=TL8TFG7k~NomkNMFKvoo<95yn<*E={ICwOW!^XCs8JaqJONw=}CwhDE4 z4SFMpiUj65wBsneS=R=l;%rVUFvHprg!Ksg_o$-v@pVJI4eVrny`-&>&}gs;-9Xpp zC58v$n>5t7$BOPJ=*-mC)@>E&yu9QJn9{)5)U?r)r)17pFn`6e` zaE>Ob82;^6HZ@{KkZce21@#bOnV-Ntcnu7a%p)N!@O+Z|XZRft@$FCKY+yt|dDA?C*AMw!R56?;Vz_9QU<>mIY zc4Fm z7skdGqUQle4X<3y>8LC#Yh_4rs|V9srVG4y(QdE14rb%)bw)%VjIQs21@S+Uk#Xdk zZw{9jaTGC@9R8-eTN*tPSg(oE(rz7n^ypnoBh$!op)N4cZt!(O&8eFQC3!04^D-~x=JubRM$1&eS_mY zpe6obwt9_z-lCHb$y1eE?r+6LhotJN*myRAko>axW=ey<}xU`1@eirC=d$!u_05vjkFp|K1i z>7G8`ZoUy==>Zg&aI7YfT69+zmv-}m5>rrkIW+OW@zVUvF+p;!zTz74NSCp8M@Tx+ z5X>x6$+`G1jU^rYwlhfJ&TKf z_E9`7arIn@Sj6`XiwJ=$6PduPwpnOXTVo4~K>K=HmM>qqB!ho#|C^gK=PysA-jWpL zg4X)T#YUeoi_)lqSgJW|7e-E)et2b!_%dDL}cByw{Ts%(4gHw}L ze%=AV3v?TCOWh5uH^YA{OLp<6_tTMeSxK+nNWS--WbbzPHv7tDBd4xSqdwP(Ki&EB zal~|vZhi9(gmgB-yBUnYiwyY}4$}=EhFsn7YXT97Nwv?TH~nu85~8Wdv*35&$)N8h zD7iUyoqYqsH#^`BjRCS{H3BwoZ##(8-#+Xw`?Mpj?yk7<^X8macT^%5AeIJ>6ssr9 zTE1wk54qj8t}aFLw22A6c582Umzk$ToWO8p$CiDUyLG7(lKF(TqNk~%sObDJd*A)~ z{3YD)wc@HagT%)hX_)*x^vyhXG02z8{dw=T>Z*FZ6(v(V9G*w?F!hZc#)k4*Jr;~x zxTh>E+*5&iH38OhTRG~*y@J9+BSQSEx0UzspS?Vpf7d*<|sX$?kYYkEqoyN^57iqL5t6{8&iA~v39Ao_Xq zA?ai=tI)mz50n5@O+20eN!#lOcb@OyMU|H)3~@Zue`d{oFOKnB z%i`uZ$aWIvM8i2nd=s{s0p%Q95Xfl5zJ~9&q60l%L}()Kv@QSKFS0uQq8g`Pbb`nR zJrT2o_zAWu@--uzcnir>)6gGdm6IbrhjfXpzXAzqoQiwvlf~PcyCYaz2e~-!g z5IvB|$O@$7>lhUo-^XY5kMAnj2iLwmn_cX~%diitU>{bw*oQ}4>_al2ck>^?f9`{Ko(R|;Jg!SmBn>veOu6k zC$6oBLGOrcKSgM4tXgCi=jG*>HFR`|kYEURqu|9?(;FYu2=cZU4B0@{25dP0iY@~@18$@{_LT6 zGF4`ok6Mz=??J3|$LBb`c`$3%ES?x?Z@Pr+z{yUpfY>3^*68RPrIXOwqZkw;7pQZ% z_EIlN?i`sh6MyC`Sg~d@m5mtxR_ZJ2YrKApbI5*fEI0QfQtST^xwxCJ=rghq!{3bG z*+wqTBj}BSo5>`{6`Xh8px%&dn1rLh+{WSaIN7|m>lZI>&H@!gAQ**6l>dF+!zsq= zTbwa|!6(&Tk(qO!18+V67w2~U_lqOv&+hy0GD}=9pvt!rK zyY}syik4PmkgZqa9BU;P`ZY|l&k?+Q=;R)Z7D^@H1pP>woTDL&Vyjn7Q zEzJnX_S2UY7Z)N5Wi+bCE?hV^7T%Xf(#)XTUoIPU$sAhlA(JbVo)S|>9iq==rIpP+ zc8N^L7fHm5p2m`VLNH(6VNv*ayAy{HtRf&vQF__{)l;B8%O>EOI=d~|eg@F3chuK| zjg+#O8Ic$fTQgVAsjLP&a5A4?U30U#x~{GhG^YR`Mfu420;;Q}wWUpOtO|)5GHw!F ztLYObha1{D5QY~~gSGB(hu~OMRoz7IfWAIq7k~oUeqv7_pV8@StZi-0jjg?Czk~i~ z`l4DJ-_)iHt?X4Z%g0hJ-7C-b%1|}Yt?BRRv zPO^2H@xlJo60Lg|my25|Dk^S;VL(8*!<%Xvy16oBw?*}5 zZ_sjE`|t1K1LMMikl)s%{dN~GbQGN>fsz7S+DON3Gg=0#Y0e0v!3s+2|kc z+{H;P!au3OmFa;|qkNqen{oYBqO)A9M3dNx%_YB9Z2oi0!FOhRjm~UuEt~DtIkUYT zY_>O)&Gt^cmF>MvO$Va!{8&vJotn1yYx=N5)6;Bi>O@Bs?pwF2aR0fko=#m)J9XX4 z>iU&a*E&|$k*u!I{;DhS2*fU4zUx~0J&)kGRx$#lxL8D;SVXUqH+^{1>hubj!=xi4 z=R4{Me!{sQeUC|c;|mQ~Mx86_pLruzqOFEg??|ifC%QVk5pN{cNm!W8s}Faq;|;g+ z>H}+P1TJ=~A06@sy{*aT(;&SB)^hg{U@d9we1f!O&N2&0^t=8POeZ0A7{+2PZ&LU6 zV=V9J3d`$;y$&~)M`#?=^ z7gaij)%10uDWanktE+thbgiN2lSEhg@nI}-_5?JIbi@&ermjc{*Y)&!IV;!oL_^IX z*n2LqnX)wd3mT%PhCYt1shrGpt|L`8o{C`C(tB*G%qbV^*cAu;SGo>}NYP2Gu3H_t zKIGJOG<0pD=#Eo_A7I=tQiQndUOMpiHN72Ak7ybWO`9A!!R-z`zv(DdV zq36^8o}OV6@{E4t&aT`g&I+wSW-eK|RfoyST{xXxxgXuCULyOiD?5O|WnU1$pB2HX zik97qx(!%C6xZ5=viwb8f6Kxy_%fbPc%DtDji14ov=o=W2i+1kQC#~HDxUl-8$-gL z7*GXF{Sj|Gkqg#%{QP(2BEBHe=4es(i7%n}LP{v{_9Xc-gZvxYatZRRI<)P=kRDQx%*T4@6*0V$yJdEpAYIOLJFud-(8_F++no z8L&Af!NGPD8A>mnBG4f??OL@!BCvLK627hGqP)D47L(oIU$574^?HAQEr5U#1Riv) zq`J+-_#(&=5#S*ab>`_(-4!(Q4xJ6<#U)ox96Wq*-|n41e`^%}{L_fh>B$KrDz05E z?Uvj*W2mbA3K}KXNkX%hKMwfMTCgT*)jU-QufDhl{g0Z^wF(_bOjob^`DwX+epjz* z<%bVnZU@9?<$`fO75m@MK!;*nf}E`-szLDMJwy@){$OkMmHpd3%F(>~a*j6p#WefF zoKCR@Gz>nASFD{gZSjuHpY5y>J#u$+=dllvnL0#8uFOJJ$YCdhXS0S%!F|{~QbWw8 z=Kuz|QrFyEs`rWBy*nmG%Z-WIy<3Zx$445R=$v=Cs}pM9od`zWbi0bZhS(qE91NJl z0(1y7o$&QNh=`p05#IZgsMVPP@7x`wZ9McpCcqr2T}bc$4EBOsRw$u z4;dU6qfl_US}XvCLMzVA&1*tNN<9JHCbDJgXAVJ>ukFImJ5H4tbg7*t&^K^+0-m+2 zz9_%A^ag6S@_P&g`Q_!cwdEBBc^5Af)c3a6mKGI&u(7Gl$S3{IG`v z*GJ$19vUuM`hewM%LU22UF+S{)Y6O8i^3-~BFKZZpaFp=;4uPSs=mvN|HD&w`T2$n z&73@SI+zHjc&TU1h=~peh>1dYFj!`3D6i>NM59qrh?MSWLJ3=WIs6cLgiFLLwWv{QYvgT>Jc&r`*5tJSp}Ny;2!KE--J<< zS3mb0DylRw&pr9*<5AJiZk#o1?3n4(S1w(Y>BpGBjG4Od!3Q6l5#@_m6o4xY)LoG4 zCT_9>jhzqd%d+`%<}4XQ*OQc(7M)Wd-8(rs+6{8+>-D0cbJu{)X!W#Mk*%je_xo1B zb*Jk0VE&9*Ac$o$xXLmaTz7Ca-0fgaC}WunQdlN~vA;4I4D{3f%BBll_6`jxmms#= z%Yl-RU~gnm5L$J9+t_~i}<~B#&6e92)gNEja*@g zQaE`yJv)4TWZ2JWHJo$QMe^f2C@Fb)7;ti@zw`>M-uo_A@1Tp-I}EG$3as8ME>`bF zmz6u-L?dkBA06G&RD+mrO-nmKemxeO+zn}XIa)^;P+n7Z@xqN<^fW(Hi-xHU4aV-H z&D@ZLgam(?wTN>JW2Kg$4;DwR_Cl{PYmXlJnx+<+Orni38aOg34XbG7nr%+xY%P$p zd8f?`>H3H6-2^2MY;4FNPlR^iGA^7p6G+uNXU@HQ#ftfvk%1!EM~gT*W7R~gVsepY zJ~`A&vS&8J5Z;$LWA=UbEf_(lDL7Izf84ad1>UH{AFkP~@ zz+l@hxp^+2FBaw(?4D5vS$Z-qn#7^ zCP1v`kQ1yf*LP8{G@fx0L0F9hr)mO6a(C6W!m1`fGy2TN?)KKM9@w;2Bm{aI%Sy`8 z16MDS^oR)4cw2pGNqKomhq$sN5BasC>Si0VzL(&Y3HUN@Pg@5%6jEFcvNc>V&svA(Gaw8wrF{q1aV(e0ZfU#GcJ64UDUSD%dJJ1GoTD6xKP4R?0D@Q65 zp~a*`BH}CLUfLL$yRf~c4Y4wTSb)b3uv4F45j5|!%7qk$qPL;98;^yjzs~1O32@wc zb3XtQqj6gr6A%ReJ~dAj`tmemNa4y#ps%WBaN{!6=gv|~4~aO~zg`*-ua z{@vVZvqBuZ`NUs$^V`*Pplwc;k@MNBYF1CQB4+DVS29nM^Vx;-pIXAiDY%% z;?Q-YQ`ZR&UAtLbrxIQ1d;i5b?bp=k)U=w_^b4n^Wvr${**P8etDa(b1+Fowfxd_s zUV&@(CD#}gOp!%H$%vnEocI|U&K`8qc6uYbnJ2Xxkb-Gg@Ms!Uqak;tNuy_K*ih_W zdP3y9|7W#CcmUa%4brmehH8nn*-#eixI{~x#Y?!B6*WamJwp~b>wAS@6}xyrf3+(O zSWhHaHG~q;+hf_s^&u*YeOy;DE6C$|_8NIySBzjE*B_}hcwGOTQ%Y1F*(0u`LMZ+9 zQi!Cu1P6y_w5o=P42~viY3!W-{UHUjn&P76L>FIgGR8Fpv+7#UKF-D0^A)Q^c7Y`K zR7$F$(}E)8)U?aFCx?yCLx`8~a<#TRG`EMEQij;~e$(1jiqmJuVgH2!i&jIda=f-`5R&h+OPMrj5{~}!;Wcfej=;-ULv7ViS?s4QUaY0@m%Df|`IIldKwUgOMY!$9 zn)2^SAv^Ow6xqB8CXp;=GV==9L;lBn!1?&257U|Vn2+dBai~Y@1+H9)5jE_&7q4GGbLMjX`Ev+zU(B@=CS-00Ix=W!{N9UWTGdQ*J9 zUa#{F^bZX24X~J3t(`V~`t+$&*Q{mw4EH@?L6}{G!!wSuXgcFO&Jw0ZbosODgz+)S zsc~^)!4&ET)MNjLdJ}(N!}TT-mpjmWmy=Fyp?=^9sfV>lDs;Yrzgm>8!X57Hbe?_Z zW0se=%<^+Cv-}ulc>!j5fs04K)Mb|A_+kZ*=AAr7iO-!ncJ$ExUrrT)X`mWO!uqQ4 zs7REmiA_}(&R;$Wd#B;DVJZm;Q`ws;i;Bv-viWFWr1bRDN<8E;Sp?W@gZxu+;#w*S zYxOPbpBXo3^+W5{uV450D$s3?CE%?wGjsRs0u#)++Q#5T_pd`%U&CeNP#z=>)gTCr zj*b$*ODaBd{KW1ZTHf}rKmX#r37CFzt)pK&oWn26-G8N~G#!rfDSFMENuU_{8HMco zP~N@^L-?U|?UW@eL9nyzo)^B-kVG>3f4QGsZkdsR^7mh;{ThG>G+Z|7q#{wLQe{#~ zN|F_2O?y7y@=iKd-F@20a9?MG#`r;0RY$PbBzkj4jxhIJZDnrmu081}`|=d-*?r*n ziNkx|y%R3+FuN~eOgGuYgY>*A@!AI zRRu-GIEb~I1a1-<1xNT;HbUeQ+g3NHl_#$-^Ti&YXocoIZGLaBoK~HggSH#Na{kATb~T$Jo)) zL<0{N92^idVYXHhn-Jt1gcIKMCFwZ<0!d<$SX@&c;9FHwTU*o6(ibr)WA@UeOINR* z@fbO}yeQqcapSr>=Z7^_RU?(^d^S`h%)_O6_4-yf6g8y|_8(3t_de80?pzS<5j}qV z_;K-aN8I+W{Exq4k?drd4m(++RbX};L9{SH9br; z1;aBg4rQSuSsuxuRdne8r>1|NNjEw)6*)8&^=n$-(3I$=&=4RL6xDG2NQub5qbY~g z^cp*-2b`L=-kQ@U%xNq;rz`*doc=ccB64V2;Lw!Bw%9o}_0Or^F{iN(RTuwS4f9tk ziR3n1*>is@wTik*MlO(ANfyvxNZm@_9D-C*(*{O-{8a78^E$9mzZYq`y=bMg?nmy> zl+*>Vnts=>X^2Bpg+tS@Up4)wZhE7&Nt6+BA77NpCtbCpUM3* z4^~4T!%)6}PokGX^1*(|AJB_*bcEfbUW6QvwAJ-*Yz~;jN&Sj%OB$*WKSMtX4dqGR(6k2WMCTqgaE@Pd+yZIn@@fNUBo|X(Pr~n6bZh* zT2w615^IjiPAkMxgux2x7=5)>C8IE0VutC|_o&r&yIf1ly>nDNs-m&3wETv>INub~ zR9+1z4*8`JrW0)j8J?E*;O40Kf~u~zn!1XZ?n}yy%HnDaZ#HjEf~S|47M+{WzUcS8 z41vp7<8i@E{5e;(K|#)HyjkR|*0P*DQ3|xZAlMYyCGtdlVgn+E-WBsJ9tNLyJ15eC zkp|&;BClr=d4?OXMH7iT(?BZ#i6$|T=-EzRplI(7y2SAe4}6|(|IDwz3gw(7csP=9 zSngcQOeflVU@f25u!)Z}>T3MP<8%P?;2dEDGo7lsFmg#oqwnstGzk_DcG)2!}j;{n4 ze4Su{i!PC`Bhj{$qL;+r>#y?uXon{8jlWt;=eI!~d3;VmRyz6+OdyhDuaU1e3y3V< zb=r;!^7Humt3=n;bh{d&YFSCqf>~ru1uh5gc)C3V8o~xtTp|_J2{yW$qDRHh4Y%a| zm4<(YAiMen5L(pZY3Q_Y1R7qUO?agb7|7RvRIFj@9HFVrpePX4O7O~R8H$mMa@h}u zx;&#%7}rp&p-`9oFw|u~R7%_t<(B3i=62*Bf#8%*4+O~*uCqo-u0tttmTgk zk006DnWNMjXs$tT?K^RVv7S1HzGUFX4vY8J@|9IL+{EG>Wo(#I?jJ3sC#J~+qsLQj z_=V=e?N_w?8uv`QUZ0~J9+jCAGfeFf5bEo`;$HTsefY>n2eo`&&}`I7IQF@~0b>~J zGKPT|L(=oqwO3!D%NWW9ZdMg=>%SDAK79)Qu!frw$489gYQ039!xy%M8-)BU*pc_C zyAalRmU=~#h7+BJtNBI<^h8$Zkz+Z0Te0D^*_uTagVz2qWus0~CHO7C71P07yOyqQ z)^f*(Zu=rfUQ}P+Tvd4DR7w81S#Dnou@~I? zA6+|J%T4wVo1SxPZM!~815aUp_4IOC#_?X3al9kV$v7Sc#&PV-hE}pO$MA_QnC9JY z3q&Eehm9Oy3n)UN9^9sXQ>dZJ z$bMTzt-%WfK-F8`4Z>GxOs&HOLoY@R#m6tDQC%AFC;fp%_&s~{Cl;Yn<4DO=IVwe} zh{g`bJ&yU3NH5l)&>J_nfr@5j<3G&lmp#xT-0mF9*f}m{=NRWt2dn%{2djJ|JI5I; ztNi+3S>*?w0|#n5(1ZSs{R0*q^Go9GY~9gkw{(4h=!zm`R@1poO|>qX{+V22cL&Oq zx;*dP#&7~F;HETDkKjd_Lp_8s-gTZLAiGW6788|+msw(Lew)&$7W!UzxMOgi#O6-N zK69tbUVXpIKC>Efr(&O(>athg=^{76)Q6d*Z6*nT|5Y_rRn>Kkc@pVCv`+3b8Qk;p z3&G-0re(9lAloc1ZWG8RP0F0UWZhFb-cLXM_{k=6Jm&H}yxepVvcAs7>P9_WLW3n` z_^8pTBSy}xs(Lya`SOVHzO@goo*9J|?1seXmE>e3$s-lEmtOjE%bV%;XY9}Fvar2Z z!_U1&6=Eyl+PliG>D+^S`)bN+J0%RZq1m(M-gWolC8++VFI`Hb&I!^cj2n|W+%kcU zPj06^Bcp;RL%M6%p1nX3%$=Ja#Gi<|!c;^Wr{QayJxP~E--&A?ol3{j-jLFgyGu8X z0YL#cA3eZ!9buP)YoQf1Q=6HOC0~8@&9?1(_HX{-$6eFFE%gJqs6J)hW?o~yWZuQ~ z9@wV3vHl;@BFJX5nR<~j?(J>|A8p9QN7E>sjt>%{`mbIBuFO+z(?#@jcN;reJGyFb zmRI56OE}Z)CKDe7Y1Iu)wQY5EWz~o@x`V+8rF~*hM>VyH#qORGLz9kQTiaywj?i*T z3tD)(i14K3VN)k%rVkr3Y>=HX8_iZL-`}ryNc`ZGl;N>nA;F>H=t|@+M41cH$?(wS zZbe0VzS*67PRF;~ePiR3wA|Pbl~5Nka#+U9#~*ue*8BzY=PQ&F4yY!4V`FT~7T>%2 z!G|V|o;E2V45feyJ|AH%z)I|556{m(NA&jr6cIgRe@@4lGG%QB8hmYs9pz3P?#*|` z&Pm6>#V)Jz8JAW00#@Z>tjfhMt8%%^s!ZhZ#lWqAY0AsjCo%%)3xT2H+}VpK`JB8% zzw9|)P+5(oT2)$?Anevj7@*4%$i*6JjJ$&%s!7I)B=oJsGYw4Iad*+-wGDl9BLV7_@xNG6$NNfRG zPcCoGYC!6i&6#@h%K5V=P=mF3cdJ$f5Q~3YBvSN(w(6GJvSEpyIiB*q(}xb7IkIo> z!J~)%`=7Vodh4f3?!6g^pP!}n(`7ZJuIe-JM0`ZODtc(qqff10zy8sO(~*yOll%B+ z>@$Qpbs|c(wy?ETKjJra{3m|-X7|A_Gwjcki}RIrqE;0dxoFXN3oAy)xH>!r*!P!a2~ray=7Hggx65L>P4QD%EgN+`nSs`Mvy-0|Zx!m>pkLo%|W zgEGAOauTnBjA*UrdNl-{To$=dYYCTZmG zs1bMGdFQef@?#-LI<=G;&mq9jX(XstE z{=m!ms}qCh){{W2EZxiY#;9R?V;pky#_)9X#;~xxF~*VJ7~~A|Yi|rk8ItpF(7gsC)*E+@#9W|UhHf7E^<>0N@+ppzC2UkY2 zL(5hFnwH({Odeyk{Mex-?a)%dYI%o4%bfpzEd?RJJbf% z3n(}xQC~j9b!+c3S*?^ERKuL+%co9)M(TVeaF#NmP^l8rW)q@F45Pi(X3(80%*(rw zJ1P}0>S&PAiYzFxb!%#901T|Mth!es=+#de3?utr&fGCir%@k!FPcPI+surcZ*7aw z<}+@=N|e{m3Z(AP!UEdNJ&kCGosA6pt!9MocIKgno_O~EvGyJCQB>RiGqb&ClWdYr z-BchU1VZRYDxpY6z=j~GSe__8d)>({_AU=aefEwhqN0cb0@4LSfDlLz>6>J;$(C%H z`G4lb#Hxju*n{A`Rx|n>60WP^xz(3 zZFY5>e|SkLyrFh*``m(AoTuK@Jk0gi_W5FmovgF_GJwK=mU?fH>Do*a=B}5>{Ww?W zsl#Ww%V3=;Bsf3O+_~?*OU!m(ur$xj1bNUFU=t4k28cMsAkPPm2Fke?xu*j^1$J{^L0vfpXJ{3O zuHWW9U2d_ zU7H)gx-t>tqTXUb_1fJG3MZm308f80k776vDiDdnLx{sDh0@n%^Dvg|@mUEZ3rE(7 zAx6`Lg6Xq|nTn@pq)eNhnUyzrYDvND;!z_~B9t;Pm>9CDiLBb^lSdgdbB9D>-W9R` z%Dh;n_qDg5uTP2xH%WpiBYRXrpxvUmaaJDUaVK3qf9lA&H?JuKT=aQ*>0%NR^Ax=l z8GWClo)*oXx9pB$OrU0DTzOJ+?==gjj>8NrX=!C8u!SlJT;R5Hjy|jG)&ABWRmo1i^R+4M2jwU$iFwC>TNc zy$%2%RXUxVlgK@8O=bda>uYZT11KER%D9whsWLuoNLrLODq7Uzkw=*_GBP44PwSZ@ z`;ZBsL8(f~M^M7}AqH0?Wn@#am|mbaIrha7Bm{OT0=$4c_vk@NRF=pmBA^eQE`WGzE1T+1o{7N1n`SblCMG5)Crg{U zoeDYEy#G|)*^{SSsfxOvKL@4k3BNXX;q4DU{P2w7lT|rwpMCb(cL(d4L@JI=_4_$R zOnL^%N-$?tAyldM#+tK1mR!F$8!+Jc*Qz9CDP8+MJL+GxYWe(eVa|%pn>T;4Wp}G| z>?**6Q&o-i$Xj=Ez%tHA0WJ+f;gl?ARbAE2A3OjvXOAhEK5246K|xqu+kl919$)|Q z{;Jbw1Ct`oeEE;3pMLsiLg9misD2N29Hf+q=FCa^rkGzAEDuUv{$^ktw$Lh|LN9Ql ztVWJH-Abrlu9kBlCR~qLz=Zn-9T#3EZu#n|AN)nsI+W)%kF6XV)$r0wFTMKFjz(We z0kw{>-;PwD-iwC#whNIqlci?xs_*>h>D7Sn-oa1g{LtA>aPMV-{e*$>7MPF=LQm`ccr;@0L9C z&R5WOXYr4MIBplhWmy1tNVyJae^~A#Za;KB4Xg3{fBxX{r#96=*9&LpvT#jeOmOoz zP`>>Dfe6>Q{ADTFx&-_VM`Ynmw=XV4_w4xLrN=kybP(w9kc0%Vk95^p@&kl4#BJ|v z?`j7r(dq5q1G{{})>GBd0qyL-PhWq#bNe?tcl~^%$q%PT4qezgz1Z}x#pTlNr_=xCy4IoiNjQ;sdwCQ#|_smoHm8J zoJ|#rjZwLpJx(5RS$dgBB~kKaVv$^-5wmfQlKI9iLP-@fYH-(gsUG-Otv%X)Vi#|jMSLyro4x~IOCdj(`;J)j zS`QP8ULcWJ^i-z*)S`EZc1;nNGfX;oJxz@XzV0QNa|>ZFV2CdQ*}QSQEgil9g0Y#0 z*PzwqzqIK!n-Q-F4fHfM3oi)#MP)Bo)wGC=!)SzC^DzDfzqOf4BqwyVnKE6_(k{LK zr8@qlUY_4*hVVoWn(TT=rHL-M7;1hiTs%ZCF5o)M!C-qvNu}dGGmn~g;lBT^gyVw} zJ{XknCl@5V1`=+9+=CJxmq@%JSD5JZP)q++yV`GR%1A;6yRD?2X66|pTQj|Ru%ZkX zs^*MPHSZ+V3`+OXTK?I7<`O$GEg2yFxN!{eQ69RQcnqxtoP+e@KqKkJ;Sr=4=MMR! zUMxgcT=0p?mS5BuF1a6iF9Y^*(u?h+hLjnuNTQ3brCu&TzEkvIUky2;jH5*K3MIPn z@7v)2tfrTYA37&k(;tI1eJWVfpGZw1&BMW(ULFzLovx*Z{E<9`*6<5EH>semzm;b; zsi&Da6cXfyP%X`LH6*Gcf2bg~a#GJ+Gx1RV3uEx_deQI2g#FekY=Z+E7Y`5hqHMC0 z3R%F%a1L07t3#b^2?%P*fPL9a%)`Imdxf>VaNj?!ZC9waqe8Wv6RK_K&NES8a_7P7 zjze`Wu~ghU+$vPf^w}k zBhYy1OYlm`3iui18LGD<4u+0Y(5V!iG8Xp^_GE(0Nf+#;#tHUP zy6qz$ju$MxXFUA#~B69a}wMT8PstVu~%#y^!&dv!FSjmJ5ot=q^R{gOb{gIX5 z^+*#Xlb0q-ix;6cm?fJxr>3r3$4b_%OHJLp*{b~NrDo;!C!6HCij@V_dS*%__5#nD z(PQ9EeTaXE&dDhRN8v(j_i+rq!>7n|Ig6i5f4`-WpMzIh`!wzy?ro^&6QG2jL0I5K z2>Bb_O{?{K)oNCvR(ri#tySON;YQ98MpSjS&)wM2??AkT8EvJ}039zG7|>{F+Nz&0 zB|qS?AZCfd(A5L`A|7>gLxq} z^$gzERGq7-K=9+Sqdvb?H&hR$nByF731z3X@k5KC4?l;^`@Q!RP-~e7ZoOwJlwgwj zgp_CL`yK>z0bhB7xsyzjAL2GLV>sje@=K3r^JWC*$)ln+Z}xb;{L-%&UN93T{X732 zF0<-}6E@UddwGwny`s^VG~x>23{D{d+E!R=_QK}#1%f0_BTV#cupESa{#~fuM3?@U zzCAc*S+U$09jPegB{X49+l1@?L?^1y zLzeLO=+HphemvOLvj31i{Me=~-xR`BpGR-`vJiRFmr1|=@I%m`fv@2~WHBMTyGi)- zEOP-rieWNJ60(H7j|2FfU_EBP6Gd4?wCZ41{ClTWwfV1BG&I?XkWmhP-J9g3?Dwu zMEnNYk@=TjeP>vhMiUX?i~&ysl8tCIVPVp^l%yDN%6D|)YX6hGgqd-N{OWZV z{pzc@k61I~2~{#Bq=?TamHhox?$36Vm+GfOg0=jF)Dk0fFeB?=e$;)zdfpn!$awGvi)^0%tvnUMnsx`}xhEvgw2(X< z!FnbI<$1;bsg{2(PiLr>@=z^1FUs@ApgaSiYQ}^*?VLZB=b!C2F4^hOp^^Dru$C`} zYMC0UWlyk{vxBv~`+rnRcc_*Xp<4cUv6f4NwbX`cnGvexxQn&?ck{uYw`~d_XHYxO zQnBRaTPo**UMS-b)&sBAkL2^qK-U>mPJtL194n^ZV#j5I_51hkD(tt!2G9)kdXRAU z$i=EEgH=5ns_M+ae*4xR_uIcZLX#SZ9(rIAMkw_XMnur&Gn>1HXrjlO$!xnMCa8&i zN+n*eH&q-vzH`@sDw1|dNmIWP-k$wO(zO;fBhAet z394g~E2`~QWx?1eoz4&$uG7d_jW%WY$h+JwI4hieEhxMY1>7wjcz& z>wHb~u3h_gzBvPA(rXY8Tm){ov3x$VVf>B1Pxi_u8#iv+a~9U0`FK{pHwZ#v{F>Ib zGSIeYH1JK?>K$U8%4+hvLCq%e1e~6J7Z_=5wG9pDTWy_i2uT?cth=Xi0kZSK&P7eh zVy{fQyNNhdDiVK-$%9HAytX)6-K&W=F@yX|<6_L(($xCX5?8G*0a74Y+%pRB|xe zu*U(okbR)t89;M;V`Gq^I5WXxKoa3lznPDIGh5JaRtfseYV?~0=r?l({pL42Z;qG1 zH;z2tVY-x<=$Mq`xJZ2%&+Bw*bzfucnVRN?V--~$6!wN>0~Sn$eqei87}F^6ddtE@ zlHAegL^`^qB`oZhiZ0%gu9YB}NXz;9+H+@qsqU&dajK!$tBx6lEDN&qqWL#2oIK~s zYvyKKSlwVhnmMwjCOaS3F4F}9p7#{ z+U|+UECsMpH|2pMxVYYgwff5YiU5RLN0l*`L#qjOsn4;O@MWzk`17<0W`~1i-l)uwl*s zfWjNhKhY0}Tr58h5$G%6=}q9{aa@X?cQYtp3C(yJ(#p928tg`P584r}X3BI7FU1yE z>;~tz)2Z+cScf=0ewy}og4U|f-qmjJx7%9ltLn=uYa5VymhpN9FovZxfcxp#GII=e z$}(dNEFGfMSU@a*MFUHu&lf#}=V@ALj1XCd#73pVo1Qlso9hIFCL%l{GSZ-nGlCy0 zLB)Hz17fGo<&;o2u&j=uyKI2L*v^YYP3^s2x(xoz1OlN*Q`u|?d-uAmLq=p2m6l$1 z)#6EMiKEgIQjKv5$*Hj;bH-?3i_xJ7c^Qv!USd{nV7ICHk8|Q zjXggdPZCMw3PznUM6AK>lwvPfxcp#&ESNdd>2!E#7S0(AUv(5ow5l;6$evZ_<$1J~m-Go{cKM!e@cZGb31r<2(~&45SPVTA?N(u}cb{6l5Y30e_mp4-XC@ zv%0gnrK15r(AuufULTtVv`=T}-)F0P?dm!A*pbE-aM1JT+q&!xwatz7ZGeSV*EU$j z_Wg1YRGmi;9of5YUq#jTTMpLowjHM`j{SP-@b*oI_5#1K|IjhetRDMf(^p?^{ABCa zAGdyvEH-GEhWe`0AbdSqb-KE-mQCyEpn7}Pe{uSJL;1#6nwzUCPZFR=WmWUxW50b@+&atOT!SWKLG*&{#dwk&p^tO>#mE`d*w&ArpzE z-8N8;ibyz+Iy^EW9LA@JFnwH#iA@_ej4~K{lT(LhCyOeiQdPJCS2TpHq&hIJMaRTM zrKUvcEMxVlBQLw`veGFpZ5Xv5Vbp#k7`5*UG?IKV7FU8&_tA1gyg{dyR#vIw z64R2j?GAMknQ`L&mAd~23{b937p`t1E8 zy}=Nz6?ywC`O0uYPT1Go*3?i7WPRP4!bx?>*4^ZPLI`S6ii^?vB&PZ`PMaHd1rNAabko@tp_eCV;o83%})C1 zrvq(Z^1UiAobT!_C%L+R?KFVIm!@@bX}DlIa4924ro`!>py=XKMvl)LZbX(G5vR)@ zZ%J3GdDNu&^uc|bu1b_$kl?%2=Y;c#)%o=kA_h2;wtLJB zlD3<${%&icLOHpglgx^zgekedX&WA5{7n^!j9Hff;(S?FtZ4S^iCIRKN@dKNID2~G z7?Z;9r#+gn(*ag`RQBRlpp|xf@YFT@-?6wZz>E;Zhaqi~3rU;$kgeN+S3l-~Yw*`w z0ijSJu!77dq?AIryI1<`dt1Pu{M-`!c{TBzpsd3AD*R+A%56Bm6=rTyR^#k8T!@rg znU~i+KMl({d9xg48R8Efqb*R%VYQZa9sKH*SH7-AhVGF$IhIL#_8e%Tkjc7fe^1to zQ9uWE9o+cQcc(mlbeJcP~A<+9s5Ng`6a&DGd|Y%4ZfH}Iv6mV8bm!D=s8tE2&Y zTc^Db^ocz!%{BFQkE^Y=sTH~8dVpTk=z!f3*Vn_~-B@1-Qo`DXs`B#k>V_6QJPOVA zwP%m+J8-_ay|v~P(cE<|o6RehGFbez$wP(!>^kY(xhflIhIyyMu80$%3nR0AYmE(= zq&#j9Mh=dQRO)lP0K;>+y;6IhqphK_v9{UPW4GkHx{!4`z{s=_hG+orQb(CmhUesD z#WKCUinQUQvBa75a!)6r6YU@&6e(G0CSz=DO2$wuYC|#-wHUq05~)I|P<7kfpnC$d zH>=Zy0e>Zf--WXyP=Y+=q)B6qRBLMwr%q6G)0p!jBlHTfr&S82MgFh5NWU)D0N)g5)cFIJ{Qlm4xP_!qsY8>8O`cXd{kj>`SFTvTFjwIYq)wl+7};vF zbkhFwXEE>h6ih@m&(eZ|%kuL}3Q7U>FDV$O2XErUnAk)Ec}hwhnM{p?xFaJRAgK&5 z6ZO@cI%SzOV@6RT)!gjV#*L2X6JY@i*Xz|vPqSRE3y;Q3WDM7X?ok_#>f=0I8k3Nk zo@z3sq4yl6{2RC(7&;oHXl&K+xn@wyE6`ROWr+~$Qo_qcO%I=`_((x3%BZ6cp zcr%%Hpq4&v7@bVfjtYe3(#5mrI*Pg;IuzhUL0^pA^xK%r-@~^28?Q0yDIqv^yq+XL zcI*~9u#H_yY%JNp4WW*nW8^rAM1|9NF&Aq3U!nsLKpDh*91LMTPF=)&EF_qZ0f>Vp>f_RT3oUlU5=+nlLez)Q5(`}q_YR_5+Cqp37wQWv&!D}9;64htqd_D9 z4WP>^GkyW;tqa(XZ1m+k!HO@;t~m-T{&3toTd?Af6Rh|KY)!Cj{%QNxZ?}GPuBxi0 zp}DRK)>5;=!-2guAOcjMmB?dK(^6Dci64l5PE3^N@4)``12PHzD8Fv`wFuI?Z51AQ z2g}MNV(7>cF+haa4Y%0VO1uNutm*C9<6)Nkr7;2bU^ z^b*({(6n3<;8=;D_u1TxRpAZDdybcX{qZYMejniPkw5#&yI+03v$6rUg1hk(pIX5I z87gyuRUP|((c=b*XaM9_VUfl-V|qS@B)SNwCe)`;ZTfh4H`>jMmdT&4^4g@flR-JVO0%9PEts0qxp*U{&(q${J zUp8mKRKP@cAf916j^Crx?82}7XfT3?jfjh+aN_gvR&4XdwBJ7)dc{BS{{tLf!#@2V z^hA0RJ)F*h+=hf?q#p=~M365nGmwTyR21&H|9E4+pXx@g@ZCSWwXO*5^8o*_=(%@4 zL9-xsUvKxRfMpO##lbsEM1HT;pg^P+2CoQVf2uHJG`6epvA~F%^)Tona7%(J!I*J+|wO4R61>;VtTQ)*L41`h9S8i)B)og6EN?aIL1N+ZEub zippPi?)>4S=cWdAi+dq3WG65e@VDVdxg5DXj^J^g^tzZ=C1$wg< zGEzfET7itT0vVyxRky-(B$A&wBezHb+AF6a-H3>rIg_){zVHI-8H7qdh!0k-M4Qt*u9 z1<#l{IMOo(&zLEA#>n#>{ZOw1fri?uGw06MHSgPB1sXK3NS(EKXR;w4uto-?JmxCjWIwdculCzh0qw#x3GV*)5# zA5j9Mh6qYmPCt@vGR$<-@vz468sH>_Hi27`kzoqh>KGoDJdrvw1x7Dp3}PL^ z8Ahg3%X|X^0V#AdP)YVPmdHxC1Xm6CJ3AU{n>w4C4sPE9TrI2XtZ8oqoigtSL>m^L zc57s1iyL|mPxbfJ94T)+ws+g-Z&Baln~rKk3yQ_awyRLYip3Y~AttoGkRxNLp!H2? zeG_^}lA!fXg4Wj}u7Y8D&sUd&D7zk9s_L{ffXETW;N%r?X%>1?N|`9Fc=oLX)Ph2w zCKSu68yY&8jJ&+O(diLfg9S{eW%Q&wNetsxuo93$hIJ*YE-$YU7cN<{WKlsfRc_JR zx=}H&r>_ew=mG>sjWC~n%uPICF>21DWr)IuK|qr+M#)$;at$NW1Jv8SUAAru-RCR= z(8JRMGtoJ8K}2nZ%lpuK9K9Y+X3_TbqcZ&tt`GS5Uy)x!Ef&XVZMb}Id%ss4>Z@bW zTEaPRte~~VqO~q%OdTs|EpV2UMfyDsW*P=+4J2x+tbaZ$r zDfs23l()lTObo+QDHDh0=jUf7Mqm>VnV10@%?#wiiAF+rLlWYGOa^rzGc(ZuBQdWs zBxYKSV*q{;8^@H~aKjDL$E4z7X=92PELc!XEoY;BK7Dc?f@|`U!+piYxyiuV(E8-u zVvDh-2N&q*>8z=(?di1x*y0GLYPO>>qNP&C3w%v?k57(#f_^WW)#dU+IX1dnL@X|B zhI{&*1Ul32^rJpL%E3khh~M9b3n5?!6QH}l7ZyKzzguKMPFmbnC8Chn9uqe-a0$a< z^AMnr%mecxBSy8wB1DA`U?Yw{V@p0@F-owO(kh8aAqQiJ0{c5Taxi23L)y`PKOBRGzzsW_y6X;~^b7;Csj3Iy&VYEg=9=2> z0M${`+K)`x4yO|l{+8$nWT+AKwRVXD#O^MaVU1O)!$66I^a~2D)ZN=p`2rF-0>zNw z8T%_sG_X|+qtQ#-Tz*%7zq7lut?BgH8o;f<1TR;pv=F8OMDS{Co3z+FC0e3e{pf{J z3CcQ;6zg}u-g>@f-+{x_PS%i}t=1ai!=cl}Cnm%pQY$SfIVC$Jsfm!(M1iCV1(GU& zq$WaA69kf)D3DZ~NaXKBEKQfq4l7J^Yj?k^&*>R(xjWl1VHh>w@9*krt%LRLoXzGI zqXX$pbryWug{|PQ85!|&zd%M=Dcb1W)?x$c#C>mxnkDTDfse?qJ^0A*0IKcl+tghK>+qms;&H0XA zFBFakSR=!spZf-a$+{87=z;W*{8OnEF&1;IpBFJO!ZWml^I|dddC7NueH;UKiP7bT zxcWT-j2uyazt=}PNDszjiwnQx936JMI}jLv8e{8d>-PBEy|yk}R|{duiSF*jgaG3{ zyabqKVMpURk|0@THAnl~Yg>DHw03_>TYFnmy9YP%_!uoq+L>$Y#0-D{CIrz+BubKi z)a%AW$hg4>n+cF{kwC^X1Tvlg8Be%G#uJ1xMj|13ctl0T@rpAw)nJ7PkB^5QS>4#$ zg3f3bc~BP?QwPt0L`d+)Dj79u1S0B6!2|p?0*yX`0styyusnO5{hmi3ePqq`ix)#! zTUnL?a|kXWM*AUg!N1O}lDqD@_4=z9m(nJbbUF%(Knv9j%3PPdv!f*F=h+HP^KoYN zYJe)!;ZYWgm@)_f;ZUsL+!}ZEL~ZrqJ=?z9`u+A@d%OXq%w=zGYHDfg?8IUX&Rd;9 zjt8Iu0Unu^bWsYtA@m5=7~b#c?e2CVh!wqBD&o+r0mu#vkZ|{!MH1c{V8w7J`u!j@ z;RpP9L&HsDMFKHre^=}0pMSA!|M8=YNG7G++qdsLe5Se*ND8w^gd{EaE|TPu#8p~7 zc>@!Y$QpO#=;_Le@)w?eX2a%PJ1CJ{Mh$HH?z=-xJuTGp_#qt@rD4T1BU2#r6s?aY zZzND)26qXBgDY7e>2!gl$v%$g7bd}IP8CQR_Sd)sjLs@VJT`SZ2&bP40ct+fSIP}| zd8_WgfnR?5cGJeFD77lW7=d6Uvr5ePUEQ6XJ+Sr2tm1dy{pZV16oTdXetBxDA<{I| z1hvhq;*bcd3twvN;FMO7YtmNpOneEOF>HdC5cG4J7NOkuyXJ zBQ!FTd#zfHR;5&H;OBA%I1JJPemZU;$Jz$}i`|1Dyb%6#Hrh@Y!+wLH?Pj6v=ArEt z3)*glpzSm^TTfSO^Xsp_^Yx)qZT7NAds{WkQ?0uWfdA&euB`~&+(B((#csqyb8I}w zbKLImaJk=snZdfHUvF7LJsiR1?)p4-J-R+~YLvfj%KEiyL56OjT8* zYzijZS;;sRoLkbnx;k3xD?k2l%Z?N6v=|vu^g5z5N;iIiWNtrh`vL&vF9C=U!*;0F z;+o2UTh7V{+yTsHTAils;;A(amCwu@yX49R1zAaXdGOO^4;z7~*x{L(h$Bulr6Sxo z6|>3H7!JT2^K3jw{}2|*Gg3@Vyw~l;@#489;`!&FeSY1mFTeQ0lV-EI?3rhtS^LDZ z#RQFwvP${<%dfxw`np$NU%M7uMcDKqxQS zI4VXj7qen9ti(~QToY)(s?rh|D7$z%ILZmOOD!1XYC%s`qo*p-Qg3<*)!y=VPgU z3&K4pCl$_g19L_hLiZ&tp!|~-5aNo3Eg<@}l@JPxh9v>7Xr{s~%&HQ!1qfJ4Tlf*= z%I(29>M!*X>O0h5q)P^&(OQu+8Y&y9e8@_9=~HM0av=MCB8NYGih2h@M~dd;Qpm}H zr$9A$$_epFK&1 zgZcnH;__VF{mbCp2cLx=iFc6}N<*H7dIE3oC{8<>_(`MSQGjX^b%}$|JlG@t+crV) zl&B~dHq20)lm*-5gV1w0LTv&Y4|x!;ojMSDkajIK8b3QDrdHqsp>+PJP5x9m+yFuG zGVw;V$t$>MxTO&D?9(t|t-(9ANds_skk8wAhi7SNC5i-T6k`&Vk7xP5meSz^;j;*_ zry4;|Q9(YJM&1f-yQ0<#tfFg0Nwcu@QQ=mq1S+nXO!ZWxm04p$f0eS-XsZbOoNX-S zw2G1&kSczyi20flvy>*Zx)Hg^1S3XhUH(0E+i#-{!m%j@jBO9e*y!lvV660K8wrT+*}%ZwJv2@2!`p!Yt2iNk)_e&I4_6tj z*IVhVOu`QKvPh?-t_}Ubd_fNXdHY0>R>&iVr8ppe5IH?U4k~gmTxg%aDg}Xe3QCBa zTuVU?M79OoP2{wS9BwD?VSuxmrPSpALe2sauOQbwK@Q`{;TBw*w9|4(cv-Y5 zDPm=6y`1)Xyn!;4P864uour}m??2VSAt6l+cqK-}Bm7C`Ik!Kip&`bSLkEaKr>U{I zo6-$IhL6l4$uUZ0pyl{ao1se8D#Oz!&0P)#qXk1p&+Ix)WwK>bT1-G=T$#z^gP!Z- zs5|bsap7edVX^}tFk1iSr#tIC$&2qeIA+X2OG>1>8Z1WT73bO|#<|OuExTsn^l>Ti zf#Y9pc=m}Wo;Vpc;u;q*ok53*Msguz~ zh=cordPDNy{0!dyddVPZ(K7yC@oPWZl}IRJroIquoHc7BxQkBmM*a~oxQpI@`WpD~ z=K@MJ0+c4pgXJb}4Y!tii`xmRxue{-peuR~R3{GvOD*6;6A&r63e-n0LTMwkMbY#J zVDf#Gdj#|IbN~a7KUWL@z~l` zBSph|#kgJ}zz4TVpE~H&zz$xC<_K)99iZ`Pq7>4Tf2@CF;f{m%(;9@$xIL zzjDU12OfCf?$tM~SaI|HrHJu-3HJ7v38x_Sf@bN|g7MjD1l%-gk-NJPZnk&LU|MFg zREfi{xZ{SYiMZRTumAavPxiNg8ikk20`>cPU`MocQD;NpBRTreMuzhiWefDpv{&JLyPiHDrHsgVjKtW|G8stuki}d4%(@p}+HIw|&0zPEuXy@= zhgTAwQyk3Mb~nC9(`+dSd*abgFGFh2Yx#SvROd{RIFx&mdl?zGBY@e* z+$Z>vM8ZllW4g|_bhcTw{io^=?P)&W+yZO}jg;(Q3HGs4bwosTR7Q?f8?h*D>E9+z z$QhQH5#uJg;DdjzZ#}a8hq{wiCgT2?g_sGp%2%yiFm25Ef_}`NFNB^;)bh)75ZbNu zdq+d9c_kD2Q0bU@n^xpv!bH3p8=3w4sid~HqzNoF z!J_FAM{sBRw9e|@fo80QX4$Q`Qu{`Z-1izwy=Kw$M%-Aksp{6k?REL_U>q?QV*dKv zEP8*|toIA}tI*n4S?JD=LeRQ>OMm!YAqOfw`fOz(cK~TL3b^gKTwfn0gE0{%L#;)F zt&PXy9dJwK_AaU&f0fHAcm{kPmhxCM5@z{|l!O^`HOlK(P}A_&Zmc+dzfR9mdW**E zyL0v2X%hVb4QRva!?RM$>}k2 zxSYI)doR?h^pJ#JAPJ-3E=EW~4@u|+k}wD)0pn3aL)s|lV~{Y>#}svS8R>65wcutd z1s|+iM>Mk8vx?#KoemQWw6Ym2;;vz-B3fB7R|fv8b=<2V&FotI0-Bj(V4%CJsS&yv z`XCm(LKim_{C$7Nz!xkBPUm^+WG7GrziX zS@DDkzWw{HGKYexb|fhtE~MV2eiG#+fy>0qtn&Vo6~Fdc->tV=rS*K}uKLkoMKDyI zq(_JrjYf2&nIQS){9SAb;XC95;F$Wpf+p;1Hwn>#h>At z4z-jOYqfB+STzpE*3Qo3M-i!d@&v*g5mhDkvSQE)$mLc|bOe>C@+T~vR|`hW5`p})u`YxWI>pq~hzPjlD&b5m-?j7TF?mv4;Ox&o|6JwWbGTCj z7^%AB9F}P_K~wno$ap;{;Sy+>TG`v&1z5$Q@#7|skN35oI&xtD{tAaSdDPhP7FKnp zqP4Y^j*X@0JMS!kMzR4K8H)D470cGFiL%AaTnYAtxkC|ZsJK2S0-+I!Q?J8{^9-gR zj!Dan$sQhMm3eE9)&25Iou7?Z{?40QDtXO_dDkspHZ5hK?dazB-m$1UIu87Vf1Xm4{E2sf}x=zSPlT=vWa{q(jJmuMO=Yzl0x5-Q3#^Hx21E9P#n{4!Xk&B0?dO< zo;FOafXmb(bDu45J$|BtVT-8Op*Y?sesX6ZdUi3o*BiLRtKz$-1kQd{1cUbt{3=Tk zmgw>P3duXWcklk`LnKu|Sjl)`=S`fO+XhfQDKCR7yq0{1<$DspM8due;P8txk*GTX z6Z;WN@*fAwF3!!TU|>9f$Kl!!|9H4%fU(GEeb(f-fD5hQQmc9nZTWU@gVWV3O1`XU za+*$U$*!)h>w$~NR&}DLy1k>}*xtQ+D{an>_S&-tPjtiO?QOO7wHyU-{$Oo8aq%b^ ziA>7$_qcezEP-%4=%T|UA__#4=TDyxflm5 z<>+Y>BO($~v;o3)CpRL!^;m3&a*|-mlQX`mW442P>Uj$iAg0IUmt=_9h<>$RMf*i= zWDW24iNu^puEb-{M-UNE48u}K&zoOTG^zjud#fM1wRq~Bc~de?faH%~P&jkx?f2e$ z@6GdyiGD2YtE}=j*L7QEns}ppY`%%JgaJ_ImAiZ4(vXP#PB$;QIQ#zRR*Eyhfwz$y zX%jhOxy7KXCxwj9`w7A6i{eGeh$bq+=@Zmi z=_7aDdds~JV88(~MUtHNbavENx3KaGyIh?%&MmOO`_s5S3E zRZpC5I<#vidhkbAU^6)pe;CQf@iDxXJI}p~ZR7piW8970_1IiK2b@Ld`S*DZ$y zK<@Dbj=%Hvr#lX_@>7Su{$yJG2Z{5t4lO@%yu2RXZM&o04Ydi| z!t=*Y9IvjeuRXl=t8aGyxc6+AqqC+OJ|8n!`K8G8sWoM@@|;*HMay6%V8P#`*6^*k zq{J8r*RpkJR(eJh0u&4}5s1ygFbjwx(o-`N3=!k!&z(MV(q)(B7mUq}je{ZDEC+gl zF~latD_ObJ&r2!$`KBgT($sXGQFpUa73b^+z`;6n+O$Hg3a*i%nMQ)H((4UF3rnVr z&C8s1=R%Nbny@VxX$W}9 zx*FUSkvL?<@{2m~rSa@C6V@|9KNjeBK~F+C$qz}DVT)&`+AUNJws|zDq=sXo2XZTd zPaOhnG_{S6q3DbTIwdrEE{%S^^sd-#{@c6$yU226-2>YC(#Y~lZKg88c>Qymsh!yO z&CF23|7B)MsYmfbw@}E1Mc&(>cH<=;gw}W&10^klAtd({T8f3p=Rdz^KLyW*nVyG{ z3a~S2Y{Fh#$C{BQiX?Kwt=g!wv&4 z`{Xt~A;YkgWE?ZY@iQMU#NKx4J^#!qEnO~*x$X#Ar7sUzrEkIYf>!CP;Nm4WVEmyr zZXw2L8ojE={O2_#NNbXHSG;rnOI~WrGdPUr)RN%rP|gT62*9!4N#z zYo@Nc(8g;a-L--h;8Q`5+J+TiE$+NlFmfyc4J@Als0)ErevvxD2&;lx8&*?Q+uC}T z{A*~0X|TBkomgQUmYJJvXmu!KW04d%Nk#Wm9@xEW*RB&ZIwWgSC_I3gVaBS%%-Ylk zKc+rwSban7*%O#Kj~zq6tWjYaGbYc7;Hr}i@J@S;aJQxy6cVNVsKuPm;}>q=PkLKU z*Hu^7RG*zUZ+cu17?r6gd|e zQlJL*AiYL2D4iRyGL1o!7>l_%?D)9zxOr5 zqzDHT2-75W-)-D-xT8!G6BQL3E@pLn^5u)Dfu810Xkh~$E&wqH0OYYzE?1!Y*S^f+ zQGlwp@A}}=gVip?GeL!r%HR~wh`Ihsot*!lDNf<(X@Q=pOV@)nM1=SIXb69e6ycQ=iPjmak1kB_xWx`KSml+)} zI#+bSG>U%#bv%cTNh{TKk3(w77sKS_^9N{&QZsy5_K2LEQL$Jaqk?Sh#%O~fDJe=4 zB^AdE9hRo0J00;Qm(Lh8W{goI8|We-Ozku#SJotV+q;1|p8xCyUSi( zUtf!V&0^Qs=F2tkY*ZFJ1cS7 zqDE&M%ESs_Gks+`N5!UBe>qyy-9tcaexLquW@Fmxt$p#H#~9}hH89H{>#dQF+yhp1vN50Dq-_4qCEY6a$rGq6{I zkpSS}wobP+2BC~O36i$zW0q02KBqKNn>GdQgWxTs2wMENNA8?`#r3z{Yf_v)2(9cy zRCduQb?v?#J9gA*idGYHzB19@ieT0faU;ejfp3BH17{@y2!7PKgtCOrv)paBEuB6h zMY?Ct9`MJX=OS*h;S)m&K>270F?QXdReAs06DQ9!+Et(y5;5<5bgE3<-`vad# z*gM()$b_1Uu*^0)V6g3nYrK8!xSN;?L>J~y!Nq_PEyTZ}VY(su-j=4M(Q{V7jBrzK zcURij%dc3pXwkf6*U5^r_3e=ql3OwLzf_f}+fScsL)apd5w8mP%MxN@nT`&(R4sRr zbr1hs_O?2>SL%0FbFRVM4Fsn?T`)H13&v(4#^xA|%`t+pDU6;n`jFR%qIXuFMk=H; zXDW98tlocc4`QhZf2V;_Ys7B%Q!l>1?Pz7?o`1aLb|)I7oK@1%+1lJD#<)>lwRqmF z>CbUFVA|EC#n0Xr^HcF)6%4C zCDpZ+6_x%HFjKw+TioN6S^D6EkKS?3%G#;aAsTe*ptIaf?SVG4C3HPedio4}x|^z| z!x7e_LtauR*ao^J>FJLZDtW8u?RQ>#3g9M%QM~2z_cpxv?2Av7@GHTSq2mVlN5y7# z?bBGEutf!w)n;QAvB_C^lcr3WpvhoGNjiIn)fn(PkStQ(WADYrtEW$@INR!R^Ku0u z6wC&ny$2I{Ur&2;Lv3w)vOyQ`(61!q^iwF5rVx-)s=6 zw8#&Y7>}IGN~PK)u8M;{Sle*FfSzUW+vXJ#HN6GBHRH z9*;d2NdLq5ekMk%3-cT~a^zTLZDTu@*w%*DPLDnfQMb{a&eI2=y)`0nE<4)oaQC|z zg-*dB`bi`*XeSiHCSnp%-abda+t2m)4M1%>ecs72(Wyxh5~r=|sAW{R*M@7hoY=Mh z+_`g}xQyK5YllY1WnPUP|22!2UN;}q6O*#zQY2@0AX&z#^UTDXNmoK)W&;tyj+QB5 zEx~wet#knR487x>FFyS6!=nv$8F+PgMZ9dlOJRndni18qd+T@G58Bk@Z?lAr(Dh?= zJNNDDTM)0}$(ymV5WVmd@%+3Y)9#uE;tWzYpx3R3ne6ef)vH&px~gD|?BIJyeX*@l za&0kY<-?>fkHEIghH;GA*V@=pT~p~oIyzoYmp~PI5cV?^%^Sx%08AgH| zrPhC9O?dyM1&Baf!4JX2ivk5L53%ES!hTnRWPjRV$;ZsTT>AX?(C*$wmu^HewI29+ z>wylJQsoa2i-0aJj@S%ovBc9{ck*bXpN7@U-P7_rI-oD zVt==Tkwu0}by^uhs=GXlC^1TFNJ@zd3p88CNhueCaF~QFlJKyzrm0OMQY&1IQ16fT zD*T=>uv7S zB#q8ZkJpM38=x?zrQ}8{V}}e)N!0oW5pl~gLT?j{&?f{V^ihn^b+;W+a%5Ul0ZXO2O6t;L?3&7}E&k7F2YGZ7F5 z4LiVRkHEeuhH^qhf}#`==&ps@v}aep+p3>3S_R;5mq#iU;j7Z*@$(59;%V(|bEb}; zgFGR3+xg794Vy^C&NecNqI<^**UHq#5kpG*pykxCjC0|TpG^~E+kSS>{o z#lW1`tI5tsDAG-SfpshayDBgw4>GHxR&1&>oUgx|hN-~GrU>~MY!mhA|| zJ&sS!@P>RJq=~4+?EeESaR-0^-U-Xy^H>KEgp(?c8Icreh(W@n)CiL2CoY10Vg35` z2Sp~tIROJ~GtIlF1cRCsgn`ojK7hV&&^+PzqW4uCz$Boo(|~u8mKcSOeZ7{ z;dK6Q;wP|ud7}h05yPPkUC-Ykehtuy*Ghqq%?C#W*$}k^*c=I0w6~wE{uGI%!YBhX15tIfYLU#E z)87@qpwwYX7Go^S#qQp=-Zrn3@}c9~y4(mDc7Z{niEHy=1?qw2h0PR+0)72{?*JwQ z#LeQLTMe76MDC?wJjLuGRSo#jN9_G!Vb&a5lM}d<2yMWpz;{gXoozN}W2dvjL3TL} zeGXdVZ)|KlS9j189j$JFNeAuIalWRh+tziy!K>3?8uIs0z@pHyK4?rXtOgRb6WkFV zN|P8pxTal+5p#`T#0Z(ZAHs;a5+mkH!HBt8Fk&)O;<3++ijc|~RHfIh$;-*VJkZ zK>1=x*!|s3n7V=Hr_gzA<)1wJ?0Xga&(4?};HN;%0scsJ|Mgd01q1YoYv*9M7nx!j zHhOflHr$Y&J8JR>*|9G_hnmjn55B$OU`+AC8&=>T- zauWrFDEa&v$;X&gHa}Ye%!Ud!f;s$Z`m0UFum?C`A-GcV9IEok^V30MQou{N)?n#G z(oP#T0*Ba0aX)8FiHtGmeW$kVZC6Gqlo$`JJ~GmC>gPi+M|ZoK*t{`A^kPfq(aJj1 z+2(d3-dU{Cx=x=xx<{+8J?D#v#E1xBzu%1hboTT)XkC%WXW8%QZ0qQ8VLUMksSk$X z0ao8T;Bz~AeRKeel&!6`p|Q)7dG+-Rp>;F<0Uq5nB74?#*DoHCmX>6?Wpxhva`%8# z8xMk{q@*lZ#3EhJj_Nar?sd1EK6T_oGdw*QPsoZpacQZxr>U~C>TGpgLuFOF%R*SM zo>bqxeEIT%lKd=eABrC=0juC92<2_+Nzuajix(AQrrN1ni7P~<#6%9m#%%IsQ!!t@ z#zrco?zWbm?lXtJ{OreCP6n49>cQ%56K}uD(0=6GohNEMw6nF%uN+)C3Na1}1><0m zVC7hhad0Ug;}pR-NJ{(T)U!=ZjX(yN5kz(|->mjG`DQWHlMeoIhS}2Mxx{O(6eg9` z{wArct;VYObTEzVz|tbL$seYXU9%b{VlzR&i+__Z_De-6tNl&B*dsq!XCNi)|DP6i z*P#n(VQ0X7FH8%28fjsVqF26;r@fE{Hf+*umQWg42}uJxGSQlZ9S^jQVB%NNC5c~a zsvBT3HY+dWdQ}Eau-f0`dTp+^CQT*DT}gJ=C|k=V*$tW$_oiyGqS_U1q2CQ zO(U#HcMhg*of~=T#3iX)m#vsi09ncl*;-q6d^4D>RYJ10&bTJz3%Lco4n8_-V*b%Xa97v-Ja)pQ zNt04keEX?i$l8%ZBW#S8Y7J3g*a6GcQ3j(a6>9@D|H@9K$z-7YZAWc3jJ6@L=ZsC0 zAT&J2V#KyVE0^gLC(MO?YT^93ic~D3;eiZD_U-{*;MDnMo0EllG782_ z?2datU)J0OWyCKM#aw>RgAXrB=OmJ_7#%Wu%fxQX!JLTZp#C*fcUnesTA;KT&e7iC zq!r4605l2(EUfm0q+K;zwz`5O3RL-X}et^ZT zD;|1i&5~i^$vI;u6`X_GQsb?jGzDSy$!bsCsncKx2fxPv9aCR|e1`wvmT`OerLsLx zRrJhWSuwSaR@0eOYwQDAFbQ`zwYuG^+~E;Em&;LmxCZ^KzpHz2_9l_%mkGw>48eGu zjPW=U<8h>5JdPBM$LNM;$im~|e*Eq`s0N2ml$RekaHtAiCM53c>Zm>AcGpzbH-Uie z*x>^%k5!hT#!~3^drP4;lMVCZ!D40ZxEJiX7*V1-X2Cawoa)hf4dDeaWKIfZ5xF}; zW|fUqLObm3@yvn&TZ@>HP z&Pq%(o__y;HCm>F1|X43!z1+AaPk4p69`C^#CRXx=kfB$f~a8J4x;Ho1ru4L)nSma zQtCh3Ks1DUunjaf_w>TS#)j*o(kEnaT5LIP3q>_8x#uUD?*~z3SDHd+)ttFvi9hTrs`ZKnT5sl7u8AAqkeH5R%MH zh72jBK@w6RfzSh?nP!7AHrU_>HtxMjvLs8^)xVBRW;B^M^JdpX8O_%3UN^Uh#)zXZuJA;&<*G32pj7E&d0a`&P6KqHF>1@&Yz9!NzA zA;k?}X9cda!^T#2+t|uB*vjww%|C5pD^Vinpx8Jk7iTADcgQ{#N&>t++Z+bMkbflQ+gvE z*7qZ&alJ1z{#ToMS^6?Fi2#HCBwv?1^Q0w~a9AtI_^0AAyOvm-|5j7se zCViJ`rZkkELfbKn2I>?xZGaQ3kfkq90={hr*WonWfl~AvEw}(~hXh2$3uNVGDRfN&~DI00WFN%3dUK zc4bkJi$Ppz{-s%l&N%(uy&Z=B!5*`&u}Q)k>TRy?=<4d$kSP?SfHgKIdcv3yu_H$- zglwG=5)`2!G^*qc9W{Wk1PAXyJ*Ba6(5#A@l9D=oZgfOgh>u^0zx`ERdURN*9Cak_ za$iwYm{c-7W0bE<kX`1Ax71$qibk-NLb=%cZH08+(v>=9-G39v|jx=)sifD zuL?<4twC>kvRcBiT4HQgOOnlMiN$IO#?BgSv$F=;tQLDaK|WH)WvK+#GOQbEGaVnG06E zu_X-|;~+n=ie>@3z6+E25n$ox>~-!<_cIZ*6~mtIQy@N*az;Sbvw&yr!*+R?_eyeb zaPla774Ogfva>($-xn)RYFJl_HB1hM_j2X|w`-pT9+Qh|nJ~w%E;82f(RZ%_kWVUlK+q-OL`>f4u zAH{6%#BAr-%=QO1vpqg;WEgTSUSc6hpz@(~N)j`Yz{HesDWe5LEGb)HZY{Zd`Etp< zhOP&9@^ID_lvgwpMHK`}*v!2kdPv z{;G`|H_i%;^bGZxmtpnX{!IN*{MxDw8-Yr1Ts4mhR(J*YMvNZiBCzv}jgK1PK_fY? zee|g0!p}b+B|*J6VFcWI)U6gks1n=eV~1&rH@))e=G9LxoSiii0siSeV`aB{!Cb@F%?)Rg^@UZDVAEMx!q`0?WtK@o_> z-su36KqQ*PBhh;7y-E1(nHD!ZH5oea4EnG+_M@He052%Q%hlddWaw!d6mhsB!{dj| z13V#w)g%gU0A~Y`#(mTdM*&_ycU_;x3?U(YK;qaKXO41w-j&;B4<1yv_YwIS6Y80G z*h%zF&FuknMC$$S%~I;V!mGQv9*U=6))|Jt z#ACBr0+F0$G?D!nID-J7)sSA#c9iE5=_I28%mgFkpxc{jA3W+-j-NGma>|79k|Bm5 z;6skFBSr&Zh=_>@8Z$E^b-cfyP$K4&xQZVzHqmv243}*&ibeK-OKz(w)W4fHhC z>4*C3if$Gal=m9++95I9!Ui;jcdG#56-DoOX9U;6BI5KH-papquK}vBtu0+TrQObL zYgepVwPx$wFhJp9%hQ0Te#m(R;=3ENk!t%0B<9_)sBQRoSG;^_%A(Z^#{=*liDbyT z)E^vXZcc&6DfSQb2mo^-CN_oIrtlJhrmEIII`i%4-yJ<&*sL398f2sn669O)vkGtc z`z(7mnb{5rGRz3`=%?=w9LaBC@o7W9QS^VSz~I{K9ttRD!b^%K52UCdl{rKHd7C^~ zD=0I6^PkeON7*8Vn{4)|<=CS#u}5Xv>`|FESMf8Dj@FL$p%o<#?tZ@VN6pRmu!u{6 zOw~MmSg$4^EKl9pQdt}wt#F8r_SNg7qsuEF*AgykagoWaLQh5B)(ref4Nk-AJjIFh z61sWL1g-QYprJcB7ltK~%W)bsP+FQpbKsy9;8XyJ%?p@3C2LGxp28t7Pwe87mp5_F znhiu&Zp$lv4yrV&gxU{A>$2r5V$z^}A>zck3_3W^q!&PYQbecHY4il^NQb`RMEW^; z55^W+2+HaXxIV7SH>BalzfJGiqu}k?;}IOZXU}AuQ9tA3J2+{>&ik*_O*+C!mCaN# zUBhkHaYz^~Y~B~2ojAp29h%8}0k&!ns6Z`GMjcbl++(gWmoTnc0hV_Z(2_EkhS(;1 zdj-oLIx@%(nas42EJijh;_;P!#U&)McrV|mZwF4-jp=Jx*^jqCn~ENA6p7>_7c< z=x0=q2_Pf+s9DdaX@w(Aw;=CDceXavcOv`I-lW!L+M_3_7-SHFTNH3YOV?OJQd=A3y)#aTk87r4H=zVcVV$t6OAq zGQMbIb;N6*538GJV|DXwtS+2mq9r0m*GZOdV{K(w(PeNQ3Q@kva|;BuL{9hJ&pUrE zuN2ug%p@w=2ql&tO&a-pLHOv7>%{X#py;U`Rxm;#Q(9^;UH=l0+PrL4Q+a5ILlGkUq|vIjg25B=}c@#nVn2xXVSFRJ%ZoR)YQdx_alO5O$w<# z!yUUYNCK_hI=s6tPtm|&?h3jqc%>S#GC|i(w2P1-t3=i-W=vx~b z8k#-*qLZ_brizjpTkC2on`rnMQkF#9kL}&mTWhp;5-FV-y>WXT_!}$B$}1iwj-D`k%?mHQkm^k}KYm=(>q9Ce_4HI1S+gIy%OO2v*AlLL++E08JF2Q;69B1wodnvzh=`H%rQ^$xPO@c2WI`ND0f#5u;|n z!O_Kz!9h2KX&W>~kAOu-h5PWex~`^{wr&FiUL~lzxP0z18X;74>6%(e>PT;@x#{zAPX4Sc8>Do<=eu1L&7KRm;or{ z@{{ajKAil|!Q%Q6M=BYgQ+ruEQF!hg6_b=UE-p4@#?!0D2?7(*1tU1viJJ+z)>qNS z1%vzk(Hf7`O_^}9ZUGKILH&ulecN*@GNY7}ElyxzvY%Km-x3c0XbEp$@tr%@PJB8E z^*YajeiebZQUvnlOv_7r)n`Y}!u$GuGI$3Iu|S*%ffIv4%t^!OA1dT_j-EaqE^eM~ z5rG3mHwqv1=elzEo-Ww=2C8pdE^5J+Oj`iA#dz8&qpuWI0~Bf3sFC=`;jV|)W^38K zs`_4_dODIqfeamF{F<67ic2B264~0;qgJDhOIv+)iy7boByFK?%aA-?Uu$DGLEung(t3NISFKit+Hpj&5@Au*kSzPrISM4s3wE92ZA-U~>UMAvowG zySf|h->d8F?yI~1uoVrZ;C(XGpiqKjs!RYm!OHxLm#^O`zJ0H{xeF;76oy1@-?VAd z!i=;@;d~yXAKAXiv6E)cTacU_Ek(B~s*0{0`RT5v zuBt(eRWU#bfIGSQd2!lGe%SZJuNAcq9@MIz#6a_~D(2bj^tS#5Srzksx6{wDSruVJ zdaMPhv$wx*zY)n+v)OLR`<+$n7&OEGuA-c^|O*~a)vuwnY z7eGSHq^2oCpgC*e*f|08bGd%~L3xkJ$3r}{ZrzIc8PR^MJA`3(ug#paPAQC%!tfcF zQL~>Wow9N$(x5np4B4xj7N$%J=(u`#|Ni|K?sBJPLFzCc`FJuu%z>xqG&IE32>rvs zRt|pu{m;*WgA3w9x>dyTE$OD|Q9imK-hco7?+Sa(nJAt{05RUOg9~=W^<#S%VTG(= z?l8qbhCGJpg~+j+!EK2^A~XSX7=pc6Daq*Ml8ROfuW-IRg-Bvp5bKbFJv4M5RIk@r ze>_!}%a%%g7ZA08-Gb!_jzem-(?k@yenRaNJsSv*zy46}+gH@eus&i_y7uZ@SMNW# zTL`zLqFFuA-C18=2z2{eA&4&qtP~m*k|8XX+EFgzK*^E;L0Mq2b8{A<00rOX;8o!^ z3=Hy|7=bd(OAbGs8ZvX_3@s)N3M8fhwogdhSb{D``-zNg;EL7qfiQ<~I6O$mi3lOt zV(II?ed^e)c20YHL&cqImn)#TXc3_i7OPzu7JhsYzj$>bvlrG+>JHIUJuUiQZC9t`PY3!%q)heyHUr?DQ>nPanLl#j~))LF0m- z*z-8p^Hdvqw#_Uqf;~gq1X`RN3MYIjzNE(4*t1td9ikY$4t>W4>$?h0pFvvvW_d+T zb#+ApB6bg4si(8*-V;Z;th%YK9F8*K^V3QZ`~WU@$e@*YdJ<`;mv&^qz}|imb-&Ac zX~#}0T+P}-C?=mPpg-#>X)MjllMv6id?0lE6a?#AUqJ6`QMeRKY0yy9C*se5E31Ul zQ3*z1opszrdi-bX**7u1p-F)zQB4*H2L=1=*#rD~&z_`N8(ty^HjxH7iYWR5X=t4d z7D)0ilMA@@M#~$lA=9@rnKq`&vH`%~qG5I|^5F?EPPuizHdtJ-;T9>-a=Q0c{>fit zGNHmwCj0(m@%_ix4t0Hl17@X{MS_2u%=)%gP0b^uuHlZDG#Y3^YmqEdcz`|#=*Dee zpqGIZpr_QNrEtfPA4XNDm!mTRIv-!V<_4}_-)R`YDs3C+>W7Np0QL-pt4!oE{V6uP zk>nJok99$RIpB8PY_7^HbsTtmXazOU8=sm1sXRE*EacURm@q1>ph@oK77#bWV!5fX zvtXAOaD_yqxL+t@KgnUFz)r^7*vV8IZ(u&`Vgl^Mwjy2j1TRxtHh%WnEbgw=8 z@{S!lrbU~sA31XF`t_+(XH3hCAvz%Lu5OO3N*9+xgImzF&6_umto!_}OD--l9*b7- zeL8?3JuGg>0zmRTPTF6|kZ(&C6dwBGi?6?a_0{K|nG_AwL?QMJ^b%AC2j{8%Mm{&p zss35CV?=jRTX1mmFPH04Y9DD?Cq8rL%%yX8FC0Ad_19m|03R>bB1I&G)H2ZID#SuJ z5DVquqte2KG3;01{@!^1!(WdpB>Rqi`SCqss9LB(D&V9-LQ+ZVExE{ovhAGh086p7 zny%J{n(C_7w)U*y=t5Oo0N07SJ%zTE?REL8EbrMCwM@p~FjO zr^qvH?eiO#&YB$^9Tw>01J_3(XS;fbPiL5kp?>}r{D|NBGyvt_bC)3+Vzb_o&&~=A z4D^qYby(0Noe7_`Itv6Z0yyo)I#TghtX#M0*=3+c;C(obPMNq#AzC^qYpOfqe9yV4 zXi>tif}N~{ovgIkPgdI4Nvr@w4!lL0G2SaH!uET! z&L|KX+G@~`rtr$e%LO;jT>-}**&B98ZAl@x-_b(G#NwcFAjjw%5(t;Mwy22BLx7|) zX^`bGT7o~2FjFTHy;Ni2@Ncn!=~3VaIRUiW4uinF;3o@&rF5z%oXc6 z2AbG=`07I(ABU)S`O7CJ0Sj693}L_hiQ0pB{hT725lTHmBS(!4^Q)@YI|WbKxb@jC z3A|`+O<_TKH;c<`er|b&KWp$7h;U6Nr6_HJ3z1(2@b^j*2a|D>^YW6oq&F8* zmjDN>wT@ZzNZJ)az1+%Zrr{!fg*!5w4nG7w+#^z@iokx6LdLMA(UYd6Bqv4vl;7i% z{&G6*?pM_3(poM;t--=`=k9c{`KS^2oH{_gBYY;x*!s<%{`9Ad-8gt(wY(<#%LOD@ zOA9WXy-^5v;iuh8P!Y7#N;DmhdLYU=*zib$fJ&|fFue*Xyac2^NV_C5qL8Rwgza$? zjJ*_7!lKlVN^Uly5tG~Cy(_i4!NG8lF*%XrCyewFQyfM=C=N`@O7q4692%~SZE400 zw*C?EM7XbVOIvqaO-T`ak$VmO`aZQ*-E{x@ufP6!rL4A3kIL_8Jp)KdZDx$-p7sv4 zu}{Zlhd5z(kvsW?Kq=j<=Lj4;eck0wz@_K_WvqlR;=-^8+8XcOEd^_|$t)7`MJ^)v zRSbvAsJnY<7r#KDwR~ZJR|ndaM1v~S)86~|QP-e{3s*PT+1vrSdDskJ=-}!E9THY| z7gSx1YSI9)?V&O!hU@K&NDYdfgId(D6*pQ$9Fc>E5PL5i-_DlDZ9{T*cSIa4zP7av zNrq^az|vUJ+EUlWPKlHZ3?SLft>_?L9J*gZ6qX0#phzmRXvH{PTW${{3^TB;SXVP_*41pAbrs^u>F!d4)~Dl9y&XkoPTn(LC@8yMcBiP|#*Lzy<^h3R zX1oUvC&zOzBN5uHadBKis`f~_fHI?DbgS58&Sh&`8z!jiYb|2F%t3B1)d|AKP1(3@ zIX4r=^|p1vyu;f5@*8PbBYzUTzH;isQNA7l&yt#2yQG5$4;?!6;}0Iba11>e%58U(1-Fn+DJqZ%y_)Ex$R3Fs4n zC*xYwT$RM#lf@m>Y1`ZE1#BGz{q09s3>1gw=;{Y(KMI|v9uugnbdGTTbocm#C8Y@s8z|wrTU@Qs)Ny#JlbF6>EkpS=`N=;HGKtu^Y`+QPuRQTAC&OZG zF|p@tEOr$vb`mUhvW>;gva#4eI3Wc6Fb@5C7Ea~4IvtgFrnrmY3IvE!Zr;3}mxoMe zj*M;5Q;e=huh$M54Yehu3Ter$`|U$4y!j&&PBVqOyJoQ4GT zciin6F_9xiWLuTM0bBvX`VPM5UtmUO@w{r?pr*Ctf{V+!TkSfpxlbviPc2FJVWD&- zI5I$HRI3D|qNUhPN{gW*a0QOVVYn7#d`HiU%%aS6Ab{PwplAMpe&da7dJ;w^VA%*7 zMTj&HJ9jM7a3*tS(v#T-F77ZNVmnMW&f zcteJ(hkv>O##;V`!~1{H=#fI{;E$Y^px{P~3m0gNDpqroI@g=c4(8$1V;63QqK}GF3fFJk`rPVCQGwJ(BveJR zIcUPGz%qYVVYhtM>St%7d#%A@dYpf`GMB>!L?#*L#%+OBzHPIQ9<;H_&ta8YVU=5L zta6u)RgTf1TP`~O@ULCEn3tDVRNqUn_yu`+INz@n*R-3sAkB$HlH0dXTvBweyr%Ba z!-jUX25!9~q7(FC6YNy0?ry*#QPXBJJw&t6I?_&}yrI_wHFLe*#4^DvRI<4exkTkS z)&-}I+0edWFrg#n^{HmW;QAudbP$ojGyh#PqbuaBY7Xc5o5% z?1KlFOYP>pyngkHXGrn=Nhs#I2F8vEaB*>Wb`O0D2=0QZDJi3|QI42`FXpF@j2<29 z?cx$WAzN5p)|Sgg13Y_hg6shZRg~PFh^_Ys4D+mYC^@e`9UdMu8QK_w=!c`F)Yfqe zuiy**Yb)oXBi_`>GvLQW(xKMj1U|+?)Xv-iV)hrjw%zEavy~!r7==il6yXS3Nq9iy z#7scG!`)_;g4frtU%PzK>}juNJo&E=>|R?rf6>f1R79^?#=CT(CYNpD$(=zrnj_f_ zo^sy#BOiQx;Jfd>TL(900bCP%pkxw~heW+&{}br=7W6g#z-(cjX67^VtYZnY7M~|E z6RabRnF1A#-B7dnnYoQ(XCs(*@mNGc@Pn@I|Nfp);n{KOgMAe^{_T=jtU%VI>%WjM z+)`G)_R3TK3SRK)=U1c!Npsm|eZN5kqrq)781y`$01+>(>8h)%Y3uEVd(hQfU3TkQ z9srC>7jE2y(Ex2It7rq9)~JSRk|NRqHW>glHdOovV0nG&wl)h)$ZCcIXa`%@j!3`= z279N*geHP@6`iUvA}+~q^Bf_!fvY+@xkQJJK!vh5>OG>9rY%|a)Vz7~7A?q{1Um9e zY-+*&Zq6AcqlykUDC#pZq#a8_cLNPc+{`()2F@=jeyu#aaTGXDyw4Jsr_Nr+6jPHvIWAnd9f z-gt4z#EDCveriH6df1WhC2M6GN~aF914O;N8Hgv}!Zv;qxbCM|(PVswHGR;!QSZ$m zvX}~cuKjD90Zz_}3w9Oj`tBl(Q$WU0A>O+ed)=vV-ho+*}&k9Gf-Br zXK0kZVxMj)UAJ^fS|FSPygZ3QB7t_YC3M={=eAvZXi$Z#yW6`O8oM=+tN^VS!VC|J zWe!52OkQ1OZ-1u}z}2Ig+Pd~W#Jvi8HXAKfK)Y^#R8`xLx<8FZ0YOIv*uIE#HJZ+< z>JGI@70Q?S#%DwXxCcig!|0E=md&oNHZu0&$1OFL=0RM4$Vj8)Q>m~w^;froEH%iY z+j~t0()U&YMMwqIR)H{~Kr-*w-hm+%J0N!9W~kZ)y}5Dj!lf%#E=D`Hg|XuuWU-@t zJ=bn_avT#4>9n!QlcppFLgHOvuWjm5BXFgKvhHrJ&c*uXF#!^h2p8`yC_Z$okK#Ou z5%_-poK^cjtumWl4Ma$YrfBq*7tnV{k!AM%YAiF-#`PR&R%^*8%WUBox)0ScyQrl! zLk+JqlB>6kq-}HcuVSTMgW_!(}s&OI7gLJg&2kn;4Bx*ke*4o*n0z~oAK0A>&n>N-*_ zZ#eBno#WwR#>3;pi5q?V;CYC0UfhvN<*?);mddfc_CC@Ax36BfaJ465qUP?UtLDXo zd3ce!0=Fy+tK|nIFv-{@9t(nmYf4HazZ1O<6k>SI910*Mi`8451*9kIiCp%p!t-{? z$)A3Ds#`o}B7E*)-24QXXhkef-T@2IdtH_fhj0u4n=ye5yad-F|T9n!D=kWdU{Kt2(CGGniBBJ?vw7V z$e#4p7hk(_C9kv{uu!sysgg)rcY1H=^u+or(RclSEh;V-o z?0$Z+DHF5CXQfQco-rlKSIQMknaO6sBXJ6eh#i-Wik}H12!}P8#~b9Jkq?4bitX!8 zLMajaA~!cDG-`!dO(%L@qeZC7Zr-HP;C3X=TL0>6TeiRaS~~HEDJ5rhlCP^5iErK! zxVnMH821#(-F*yv#fnt2Uwj&}!-`;`l$JW$p(*>2h2;ZQq=b!R6Y4xsVa=c;xX#RG zQ1&qF7ZK*Vt>*QArsFzDC|0A%!!YkkP5#+H9;|Y>p$e>Is{;P-u3~#$^02D@c}InR zM_HSk#{d7TyLtXj-R-~Q{1dHHEJN!fQSm0tbTMsKDPe01fkHBO#J3{#TCdui{U6($ z{Rc32L`Ub@R1Wo94(?r>9m%<^+uGm~GDk8;aN~pgs>&Q0L#`)VD0lP-?d$DsudjM= zzowWg_Djgj%nY=9jA8>q5-%WLK%3MhE-k@XAwV>uXQ29T$#oh#c3fJ}H-zZH3`u``^(iN{}S`!9;MCA6CjN%uTk99}f6F+-9G_7RFi*mMX!WQ+^xHzZ#CvGYPq#P{R*+Ih1b^7R|xAy$n zFR5!}Ba5@)sYLe{Y+XtTUoh0xrfF@vd1(KaA7lZZ-VP4MdjLt!(<@hJV*|3PqQdw1 z0m1QGqB}p0&zL%I_47*-T!>6+4u7_=3emcBGAb|OD!hy4W^5KO3!cgW{0O_b+@K&2FX_baC7=9!;9 z*Z>ym6r{1^tpyEpEb9?C9%Y_o;utP84#@CfvVqF1MPleG@bgUUrCtb3{ZWcA!SW*Z zxz)@Nj0}9B#7i#22$_ec=k*51zcmxvyx86WQN9T4E_7Zl(wV)R1-a9*4{Oa|O%HCp^3H}35u z5r{m(qg=Hdjs}G@T9XrmI-#Y&MHfw++MOr=h~tIz=ZpOcXgfkL!N`{ia-B@3zM>!Y z?7iH}0wm+)ZLik@tyIR_@gX58@o@2v2n~o%N*)#F;XWa4Bn-#L)xmz;c)r9=NDYbo z{hT~q{NhL!JjNSx3bMgL(@<+0PCvE2oiideOd){lU}bExa-D?2@OYoWc2AE%Y@7`> z?Tia5;+2vq6XMg;CoG(``lT1vBcqSB2y4f-*Rz5BTt%pv_vAeKoV9c1qBPJG_6bwd zCuWU{n=o(Twn<>P{uwFavmh;y@gwyEy%Q_&LxpT$0FKlkjt`NrRWxF>mqGw2)iW^6 zna$)nkyeqG=0djJ0L~zzf#*3AMA0W1uMDi-44c)v!e;fZ#Olq!>dmlOy^CyCufI@q z^SX!6qe^Gm1heEz9G!ha?%uq|m&f8r32|tE8<9(Qb}C5ql5Ti?N`ivO!YppK*rE19 z>HqlghL>+%$eI%yl>&Vyerd8_Cki!nj!96OMt9w0g#a9rq$qc1tTahk z8HFXbW`aW#yiO&3`*s?Z(aulDa|GDEn22 zd9$U$h0l}9)&ozBbRYFOYX$bjT~bf?r(TW9-L{p>o%o>_oK<)eqdHSj9BO3i9(uh|96Bs!-;T zm`Z4kshFX@R=k7C8jZyX(UwXc66NCb%qp>H<^=M*srcVCXn!9=3AzYU@puwKD5?gTG!jHX)cbo9 zL^WH3s7+I>LDV0qB?zLd9?S2qY3uF%J8@fA1G%Pp3<=wOw-9vX{Zu9vITQNvW!gy5 zi?-7`gl$Ty1pjBfq6e(s+s66>Y^*;7*6#u9_pq^k+a4EE4+u{bTyP1judk^GfJeC~ z>4E|!K5>qnd;A#EdpZ1*Uxoxv8V4>6RjQ;nZBpVB`@Ju2-_8J{P-^*$WixmBw3pVP zr;O7agVVtBHT{QUX8ENomKq9c$J85b$+Y^j18M89#35}%|vItSUD#)i)J zel_G4C`L&O1WJ68W@UJ|>D9|uq-A>gp(6t&RMK5tN_^t3d?qYJfGPM3wU_(COQ{)X z%|O1Z)spX8XXL;0PXGNrW{H^jM4OqPVl(q|G4o?E^NBVypJ==9fCeYIbHUu!fW_U7 zw$*2PbR&iDMUn|NPpU&o4>E z_Oj3=4`FhnFX@m6d@I>;SZXyMNEbT%)7t+H zT}2e=F*h9dCctj9Z0vTCjonU#-6p_p6Kw1@!NzXg1%pF0i?X0U`h%uGzgxFYL}orH zxm|D(9x_jwpI=y3r%|x;^C6lpz?V?Mu(Xyc`ORD(S>u(<)udI!7dRjlw8lcRk}pxm zx$?%au&J-7Qs3inyP)8eZrr%UrMgVP-ng-}R3X5ZAAfwPD}KF_U&fso&pgP#n?bYb z5PA(AN6%lE4%w@d^mz7E&bm$Mc;Xg1JSUZ&i_IwAs{Zoe`Q1t2Ev7)as+_rt9qTX5m&{kJrl!+b;IQ?e8hbPf5Vz3> zV8~x8c!MaltuKA7VE6ZvqBnf$;LvoltV`*RIzT8*@i>bO8^2ahaY z!2_R%!{&0J(<&68buPZt>DW?qTE|EjpnU+K2m%O;_+{x4KC^%Knp zHzuCY(bzJ{7K%{PawrL!Yg+#b(REWnX;jqXbTFlxr~=wvI*IB;NqiC=L|>!>pgPe; zb-@`*rS8I(Qim@&{LAR~g}QB|pyAiCuAG-yE!fZ-XK*-SJrx?nizpkP@97BPJq z#uATTHsQomkVhvp1SLH|9eWE~`l~AI>hsFF3NO~yRhBcvtE0F??STBnI~>A0R5^N1 znC3-~oh>kGl};N@WMp7aM;hr6`a<}ST!bC*8GUD|-Vw9e)(*`mIoAn(#N z1V;2CACwvUIXVhlqM<}MF49Xx8y)1ZZlV$0r&b7!J*}-MG3y|;@?KotZ9*t7D(m7% zf#u-{gr=J-sN0bt#zE9SS-|%kQt%ivngnSKs!>n|kBm%B2$O2T+U@Ssjh!W85uHLi z4=*1tE$yAP;CTp)J--a<#oJ$e@x?7`=21Ho0GC%UMUmj_k#0@~5G4UKdw1OW;lmF< z{Ah1yf3BUjOWo9Fu@m7?vZD+}mH+ZAp{HkXRFFRZ_|c`J38KBzTp9zJDJ zCY(+G_~RrfpUnX-OoS7LK>1I$%x8a{UwoJ_U(lciHfU8ULxSH0SW2+GWhH_P1TU%8b$<9<(HFcShc7I5sgW9J0%F3!bAQu{D2wnPoAl9HWASpr1 z-DP@0Ucw)~l#fDuhGpl#&6TnFLKi|*M|F=*>MUWDqcl9GtE+~w_YDif(H=Llt~NTv z14l5$<(P(qjvic7Z+B0RQ6QBL0_^5nw0&@z6kco*mjlpykg=Es@n%3NRWo+Zq$EZ* z#Lcx6^7VXs?!cgl$5tB{S~beiWu#1IAD_8+%Zu=co}2QhGSVR&()e*nBOGMGnRBw^ zLqfyD!~H!y1JaPTPxH4!VS>VwE%&lRtYcxZ%zb!U;F?!fQ(}-c*{o)z9hih#HdjB$ z7Mej6|4ok}_IJKwmdz>~|3B=7F*awevrts@&37k2zWUnhufMu8|D~6xnukc9l%p?l4)%cDEC7LDAvt-D zBsP>;mZwn~H382u&oW;Huwybd%{+ib`P4PUqL(aRkvNpcx^wILtgdbVjfjHh_ zLoa#>zTb`bPeJjAebiLUNV?68*!rmJF(c`ik#w6Gv1Rr8{R8r^H;m2d>+R`kt0Ra% z1wo_V!Td_$*sSiyVf@cjc^uM~as(eC#S7U~H| z|2t$peHfXi-+LpSQd+*V>=chr2N7s30pf8^{ZrH(?Z*hzzLo#>SJ(9fYgY&Rit2@NCak{!mg%p_d_C4KAO`d3WWasD> z7#R+wNp!M(0*7}Ood4$Qi|tC0$<$ksf8o;2YAs9Y$7eynTj(tFiHsXPCOLUTU~KHP z=^U}6lf9Vl80d|L$A5#k^{(Ng<~@_Fgs5`V)M+V!F7f_@N?}TTbaHay^z^0MGXZ5= zJIqnL=NuACn7C-OwcIz zfxlq`wmCmre1-?R;*w!wSAVayU~LBYzjQbK@1i%WWr`eX@v#4~>-B%?yW8we z2)L|CHfw^?-+GaM*01wFy~^Lu6Z&*2fEeKcojCDU5P3dn0&5K$&`fg}yZZ00f>v$+ zRwvE>?kWOul{oUS01v4Qx&1f=@nC%~tN!1-mw&hSB-s~jyB93BIVqlo{ignIU$m{V z_37?JMs%RBTMfxqK7FyXt)b@OgOdEn$H(%@TZuy%}V1;F(f%h&Hfxkm1arGbVQV*(jocphLA{9W#p=f%=6O)a)$61{tf6 zpx)3_*NCv9wPiq};Eze0IBVt7ryY0HpM3eEwKZRexlXT%5EQxY!(;l74GTItLh07=wHTf_llr!R=M504v{ zHD&%bBA5FC@8#$)!2q=#lgFjiIzWFY4c998OENulExO=o3J5Q=R3c9{*iGiR$kDU6 z5PAMwZf4->joaSH2CVl1WFm?|H!ep8?=#klXcz*T2%=V6=moy5%thR%;ICai-i6~e za|_^*Z>U^)Gy^n%hd`OEkN;i4?{B@l6lhI_l|Xv?;_()FL|02J2$I+*l!*TaDD1!A zr;+q{_DyBO_VJ$aC(>p`gyCy1yuW|uJ4r{!iNrTAjLD?6EdvxAUXzl}&sVU3Unx1o zmG$+{redSIeP-OuSC%3fMG)|f8x^c&%K)feFTZn#BnOLGhu&I6S}@$B4& z#g`U8h58oqePrbDyTT`!56O}x+04@fn|UIrA3>{=Y)-x;8z0k4>L3t7a1MVchR!=r zNdC2bgF`$?VIfHXiQF6!ojJ;+Y+bKH*rhfPbpgt)Y1-v={rtJRU4xD2Ompe{rR<4Q z!6V3yaDamK)G2UCb3~O7@Pn0YJbil&FamLK*cjm2<0tI0`)cn8M+(k<_vM#ge)`d# z7j|R-$FP?93Aa!8Dn9=CYj0q+&q$8PA z5pS1Qa?-d^so4qrn#QG#_X+exI#3{U8=E-J%Ns6wj>w3DIhKfO=#%;@gzf_18rXR> zZM(ddE_^CIGGQ_r-aNf}T~=l)NQ9mqBNi=Ll`$UpQI4pWsQM1n6<0DY3Zb33<}o%V z%|O#G>#F-#kwg&gGKnO-ZSHcA&0Us~wIFq`DD;VFZwH>6OV$EDcCqT~pHD>>rtZoO zZ#Lguu>vgRT(S`Gv5US_kVYLuI;!+g8t%~{?orjM4b%!nt`&0~MqYQZe>(EnN7-Py z6@bNd++1UBFyAu+Tr+=#CxZFoW0%x0$Ywu+vebnOH?BboFqhaqK6ddvJ=DF^XNLt@ z_dNDfOTd-RCB~1BUF`4}89y5t`29F!-h}Y16Dlrxu@0;8Ggtul*fs2H1i}8JZ0z4w z5iuS!6NH%wvzeKAo0+jklRV6gok!(uzv!;V_v%QnGQ3y(ZNES_DC;!wyDK)l*;KL| zTl*JO4qnRFzik|U+dOX7{B_!XuudE6h;k*Nx>Zo$;y13@ZX$oTm6(s1k6CAPGG;U1 zI-8F$o2BL=^8qvVAM-E2Z7F14t=o$I{@d2`*X_q@ zmt!&e(`{zoR!xEA%En^$ZPgUU+RVPE$c3#hyg_v~W0Cah%+y7-(G8`T@}YZxeXKcp zD@*Givt?{AZZ9tl1niUaYH0E1!i^wfFZCz-4N!M4@HZ@uMn-7dV$?|DweQB0AxTe| zSN~HAZLqvikcK#$fn=^TpW(sIb1BWinY(V_8C z&VQFp^X%;&9MWm>D=JYzRd~Cs)=<;%0AAgLhgxg0o)9&jB-AvXNfoO1NKUAUt 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ͅ_(pnTUcWV05C*)8SUOlEMe#8y4ZN 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 bTmN3X6S771o(Fjk0H7$ZCRZv03;e$TurQ4| literal 14087 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 JPDHLkV1kxp8{Gf^ diff --git a/nym-wallet/src-tauri/icons/Square30x30Logo.png b/nym-wallet/src-tauri/icons/Square30x30Logo.png index 56461ea8bbd20fb3466cd18c9edad869ff6da20a..8916d14e49b215a34b977f45139e58bda9be6fe1 100644 GIT binary patch delta 2200 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 bjq?5rBDNgt#1PGY00000NkvXXu0mjf?=5lZ diff --git a/nym-wallet/src-tauri/icons/Square310x310Logo.png b/nym-wallet/src-tauri/icons/Square310x310Logo.png index f4f3d70c8fb5f0e7492a7cf715d525b40dea7d04..6fd3c36defe3a350f9e77b8ee9acff7722ff1b0e 100644 GIT binary patch literal 31861 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 literal 33987 zcmW(*RX`l=4#iyyi$hx|?(R@pq_{5bTHM_o7I$|Fba7kU-HY4eS}5**`R~KL%tIz$ za&mH#Zz7cxq%hG)&|qL-Fr|NptH8j(^8ELpAicjiZtwgJ0}}$078g_VSozoCnQaR6 ze0%eoYyr-DPa)NnePRo+-X@4}v@RNu^~vjaj-MS+j=RSd`mmzg5ya3gWF_eq%m zd?=)>7vK;9X8M*9&ZcNc@h55~R3@!Zk8-8}MEL7_C+oo(`-FxWR)1gOr&2q5m&;EX}&C+^k_t52r5(J09aM6 zTc2MAgu_KC$Ex!oB~T&k!~24-qh`u+eNZBh(gX4-^Angp7#893Y*}*!Nr}VGdtg)+IA{)WhH*x53a!<&SQy4|^}_13LwkxAQ^HR9#{<0(@M3K-j(}=& zI11lo7r>wRZpa>fSUavNZ<_+2KrB5Ee#(GaZs^7Eq`P#scWz-+ReM0CL zv-5S|-%~auC_mg$iv7Mvhbv6-tIe!7Fd`p}Yb;N|4`(3`MCpe`-O%lpR!iB=+dh`% z`?{$o#)4Tq>rfG7{LRA>b0a7sLYu3-B*eei&~nT;DHF6F>{Ly67r+GHvR3x06|-EW zzY`T~c)qTMH#wa(JXxVU*cvVQdon@8pGwaZ)kfM|c5MCLn51P06mLcuq}d&Hr*9h| zji8eTbjLre?cRvE#0SO#Oeua?^aKZK(uo8y6X~cld-fdCziKN{YioTNUbL%itZ3z_ z;no{C&y;%f&lU`POf^lZdavdXwA5EILM@-hue6b@2j*uf^I$l&K&Kmp# z?+*9xxHg*DH;F&?=L$V^*V-nr`uo@oUd>yTKP)A>HK}L23#@BK!-=FBwgeC8l9_wJl4M09YUE-W^wLq7I687J24zyU@=f^nAeWT~i0LmJK zYPbN`ZSE@q*3s>1gEW>=1W54{MxCsFq)t=VX%U6I>s6))t#>epeehtN^xM*pbNx8= z1iW)0Xab$TUAqPk z5W=}-KwyO^{HV{J)%;Lj&6!=-sytIrcwo@W?gq2QsbV<%`47!0+D=BuJa4%F7RnpS zW-7FrqPk4CdkVSqtBEqVu1;G0R3XHKVn_Y=GO@KE#-D3N|`Td z;u;Ft=X7><%ZL#tyoT0KP1^_GyQ}up%Rv!R)A2c&gAM`NK^(;nO}%knJ1yFuwIrlq zvI#4Ce)83vIRSwtOXl7W<;h0xUk6>(@n(zrpY=d%x0}cu4~;P-+rfWHs#+pDIm+VQ z)xMO^E5Pt$-oGj3R$PR|NrIxx0P14B6U?FXCDTqxIa?Q-u&Y=H3qBU#5~(QkE-rj0 zGO@D^YuBm@Me$PJMsgk;%^SgV3QQU9>bP-bsST1PJ9EF{imG1STAT5fD0H2yu6}};eiQl%@!i$3^~2~EerLaLz%q@aWNS0V!Kc=cxV;3R znWwqdbBvlyVz*oV(A1>2vd<1+fJiCY>uey11m_JUIgLJ>p-}PLui{Elk-fFpF4%~4e#tgUboxkA+4;!E^gly8yxoz-5xO!H${?(gl-W>&uj?YA|MNF-%1n$Mf8`A|R?sOyg(g4n2&TB`VKJ9)v?l}7%T6Y6p zPmdoOAfWnm*v5M}i2L!=dZ0<{YQ` zYd;0bh)MW5z7s`+J37EFf4>6yV}#j}QNYQmi7^;}iK(m^IF3TlV|nb+!upl(!I)(o zJJMdyn|u`>LB~-k=a~&h$+f^$-o`MOFZ7L|I`3&Cue$4^WlA6$O0PvjP~ACV5@^zy z0F&0uBjq|3T55b%sQ4k9lE_5d5vGMpMqQSbAjSVXpR$g+1WUp0SGBB;AMCyL^(n3f z-3wOM45teYrC!<<4G2HABGuDEoHkljA&X8(R{X2w{HxZn%y^hQ3S30sJ&bwsVAmms zHFh=kXsP@MBL5i(PBvIUfIA@-NSnYd`EAxWoclVB^HDanGx1k-^0Wbj44P0|R@C3F zGWaYrSm<=`?QX7woeQH=%~hb$5Srm;HHLNi?*)Ff7{mIRvqUqJoxiRSNny)9!f$X- zH_wctP(ds@vIP}!pfy^k-0>gxVrdqApsn4{8^ls}l}62?WKPz?0$f~c+<8xsXG`Hh z#H9wqX9gC~_u7KPyk7C7W$4gycZuB5N%r;5PZ-SsG=TMpZ%v&fRq-i#mE+we!X4J) zlF+na^C^)XpCn~FiGD5aS46gzE=d{#rKHZ(k<_i&&kemQb8t$y5wMzD8!)Y$vIff> z)uw+LEy&d9FCuc$q;6as)a*lp1!biDH#$#2LA`D5buA4b!9Y$DX_fk4qzGwoX$Y2m19d967Fh;JFd-kZHcxI<0K`6xON z1O!^Z07VV@JJk~wQM|;nHMhQbhNo+Ooadr&<7RU?SjM-xcOrK~DQe%Jf8D^Rt%6-=SoxZqVHG;u+U6ufeNUm~_$6(*Ah{M~-o z)6XI(w5;bNRF@%JQ{BQ9CMTO$HFC5k9J+Jo=t`ErL2qHWIb_Jn(PuTsh<}2INULWP z5M*r@QRfa!IY)tfM#^52w-?LqA|imedB3f=!(cybeptE%pZe{f)42kBzRIX5Plr(|VL z$Eob8SZc&&dl(DkEgGW>N+3}x!ESMP1kGpa+t3vQ9k*tWRoG+7h9edX)N~E3s(%S< z01DBr@S(}$?X5Kc)-e-jb+WR1t|VUaG;{1}-G|aRsC!LgD7^6~t&al*K!Q8Uaq@)0 zi&{bSGv%?b!*nIs3$-uDVbbyWW<*%ta5afw1+lcKnMjuqheD(de&I=5$d?uA@p5jtAWcytZU}aXN!7?#+Xb zwE}3&$73PgzTWhilQ4-b;J=f~g;5m}?abQcq10ZQ78z34E)Kf(wEk^nX+smoC0(X} zCowQf<@n1!n407)lht+K{t8`G z`gJ4({$q)GHJUoadbnjzczc=t$`X5aT)0X?GW}@HhgsV%9Xc$hYRtj-Pa9Lu$VP_l z88dB|Abu?8h?bcnc~3^TkEg7e-9Fu(MrmG+Cb9dr+jUCEK>YXa1x0(>p~7~d|D{m! z-3RlWz=$ZEItfq(cYxz!-uVhopt^5!Tr`TA_2GC(57=bDA;+Nd;})%Tc#B2Z;Qj^D zhk6jtV0QdS#t1yX_zvK9G6Mf`Z87s|7Y*6nlx%sehZE~)M+^Dp>b;QBWvH#zRh@fI z(hf5Sh!2dBpuQN)KiMl)dxqFmv@j;u(0yvQ>sjTA(!!Nbl}^ttveGI|)`RQ_{GW9G z?#mgromuH#VyP=WqlWioVnw?zc)Ko;v@c45h6lipb?NeBeM$|RPGRwKWIrKMRb$0V zS~_s~eQ0JTW&Be!fh1kJyuA~oQV%bwj*>@JT7>GFW+$$CsOD{_gJI1ipG6M(ekQY6 zdqCUma$C#NEGXut9DVg%h`v{iil4gEiLb*twSC}>De=T}pwur!B>YfuDJZdF8UOLo zkX^f7z`i`f^hafqiQT>SBOBh5+vixwuDDAB_9&Wuw~2%Pfc8YrwN4RXP;S&8Kq-Nj zGP`50tM#Qz0wlW;Hmh(I=A(6W1!|S~2ugX_@w3eY%7zaAu-+m#YK4!+aI16Lem#Fpn>~a{#M^;D zslM;@-T<(yI3MLV2C4b5xi5&5D?d1emuQ&zEg8)#my`lU)!d=2p4n$rM7t%JCKW{B z1c~wrQ|(kOxaC}AJ!NQC`OLY@nm5)7(^a&@OSaPz+^d&9_B((x(NAs4&zpfk_4R-z z&ZVEB%27^uxIp9&QBA}W4*`w0MeA*uyv8xA26y_TaLB}cMvK2L;}Ia_E@z>oNg3?z zj0K4qR(+4LiST=TA=tl$`Tf>E_ z9ZVmtL*Od`QCS2w@>QWJ*b=Pie9AGL+q-dP*=LmxkvIGbwNXVy7C1o>qiljtz zRGYEX_5ho9DqSTSH%t_}i7gW$7u!1>Wft55DWL9QR?lFuuk-g=1>sE9fJ)!vq(z5m zck>>KW)q#1*%6!ROQ z093mQg{r8e1)eI)o&^Gfi0`^;YTuvbfgs4*8$LTB|II4(9C3NrwIH>@b{TSu^<#dA z>iZ6%BKvS)B|FlK*Gz|Z62z+j>j`)6sO&3AW|2^CMSzDGTJ%XUW&I3>=hu8d<@C3D z$-_~MdFa)X{Emvgo z%Y?|iAZ`I)bUM3`mvKpZdWGkX>kC*M;S_P5DVLP|Q;?pBSB@a~*et?>0nmr5VUW{( zYdAgXFN$e^(Ep9L4ggF`^G)R*{{?mm%+Cnp*P$U;wnE5~^Mr*2R@y$}fD3X)VAiO| zH2W^=?;5x7PdO;z%Sf`1y#M~LMx zZ2D3e(p5%6T-ubCeVKX>fO{c_T)Tytmh5?uwUcaE8+Ol+dXw?w$L~^+BsZ^$cz?{@ zW+yeqgsvdDk3>2$03O4Mru8@8O2rY|-=sGNCvYYa;6qxpFZ#%|{`sr4<-L z_%;R>$Qr3w>hED|;0>*3UxL{J*AexGu)UyXWtItrsbdrJM9yv?@XUw3q%Ca==wD#5 zZj?ICw?k64vP_4r$}PxBuZyKNswpz+#91NJnVXb7A5 z=jZvz9|Uf!mC*)4wtTDvH>sT~bm40rCUC2Pg%h&+qnbq&ER^i`LQQ3S zwN5CxiZE|Dt+`(azc9+sl)4I<%}6Yadpr=y9*<(^Z}A=v-H(#5-Vdzc9x42_gVzpP z4jv0qHDq!(mGn3Y647_<|L*bF>xYv$&{~AH?$bn9nmt=62@Vz2t+P_be&A572vcpZ%rVFQkwvfn_=rS|$c>TWb zJed%Fe%NVuw61C&tDGo}Jx<(BfK8rxw~g;f%RpTC9qk};G>s%9anE>;#D9vm%Iu=6 zBYEJ>)fR5`wd_V#VZg4|hJSpT{j+8`qAOm@Ov=ayV9OVM{uVlQotP00)e>;apD#QT zf~A^NE@>E~lB7Nlx3;>@2RumN*i$DMZBPNVJRq2KjQr(SbQ&2X!k_;V2kVTElYp~~ zAj7Bfw;VE$w!D_3XxMhX=6sokmyUPG2%~HCQsij9PV>nRaL$g$@4EXidzzXPjntJ@ zMa-Dd0L~8_61{LmkJJ*1NzKvUm35dVfsqfDmfbultIK*E(cD73EFX7AMQu%%zot~B z@5z0Y&BSzQVc40xim1Z+e}YDgq7EUc(@^=dTm?*s@tGo-Ay`CC`$N=`Je&o1xMQ>O zVj&c@XLQ@%pDNJS{|`7yp|5Qrcrsink8mmpr%G&(NO@uhdHvs6G{I_eqr}8z3{O+N zY3Stm`LS!!^AK}Zi)9}XHC`*qhd+s@jGI=|0N>Fd{dI>qBOzNcQSO7^$M~o89OO$8 z1f-RnUS!}5unobM0sh+>s_L&XSHSGf--g(51AjfZRo(gjWLhwmemFRv!CblNMn@7r z^$G-E65|Re+m^`?lw_*NmBvMdyCLb+SJ(ekLG~I;J;CG8YqMoE=_Q*Y3&JL62+D!Xq`^YZBY2nRLZ3^>ayTCVgJ7+vK=Z<|W z!zkxknnp38jV9?`UrL|P_FYzs?-;@wbujk_Jb2^=_q+zePyb=GbLh^+ah*N<3L3n> z#ob`v*kn;KfWJ%Mv(V`+CO$w<(%Pd|HE>|@dt?xCf@9jJSi3NLkL)eS8gFSIblP#K z=293<&)Z$bUC81-V;fpsHYzJVH{|L}V|Qz(u$_)(Gf_%enFH5BJ(js8koVYUUS%K< zu&5N53Y{z#-pf_@EpryUi4SdmIPCM(l=@}XA#Gj9F&kXTohrn%dOjUnU+7g|mW|a4 z8!Y_z$H@KQT@^EudH3P22GOzgzfOcBazTEE zWf0p;%m>((lV;NqkIGbgwX#3s4hWcJM`GW+klWS0`CZp+Z_nb)^YO21DrbX46gCAJ zoI>bgh;-s_2O#x<^1us<*0Hdy%$=mJjd2b8jacwZ2C;74OyX_A&Fy6$_P)Fn`Q-c9 zo$j2zKe?pU15t&_t8s?nioe3{A=BJR$_^5)1q(mCuKunuSkHKk=G63-!?f7RHHucg z&`&0WSp>=Cf%fUN$ZT|!tU(D-=9@_XqMO_1PCFKX+btn8KUS(3HX`olw+ch+m~Sco;E2TVwo>IH$$_W_9^vc59y8|O zl#vitTAEzZP~2kD5hJLW#@)U@{QV&I>J%|1DxbRb7mu5T-cb(A zUyfikGcnxe&+emC_Rua})i%+bfBV!HpC0%oWO5S+NP!pa#P@PK`<&><7sis)&sx26^@LRTTi+uc$JNhzrfam?|D<_t=a=w^PMwh?KFC#$r1Dmx{O;~clfFw*JV1pd?GqQn7{AR zKmAaW%|v%d(!?^BI2>aVT@vcnYGT}g;JM>)@MTjd#>&*@IGN>4$UABTk8 z&3haDiFe_M`UDIu#N3AP)sIgleE^ouKPS5wvfXe_i+6t>_UmR?Itj_ z7#NIXJAf&yWy8xE8e~>q6qcP#-wU~#y5=M{UAwxRpnj}aS@I;LkI0)CY>$}$r>urq zn`Btxp*@|r-Tp3PpnXzy>-~gws|(Pnj8VSCTiR|d+{yEroX)@6bMsRl);m`Hi7! zQ%vEQi2NGW0Xp{CBAB5KEsYIfEiGP0}2h)Lo5ax-Gw#;WZ(5_L|XCf)$e-~; z`3V?7d-g%JJc7%O->+278A_L>`lSqX+iKXYRrc|%P5mLDG!5xaRJ@<{=Zk{Z4JtwQ0 zT6`RPrQ?{L3AB%qXN@0p|D-?RyCG!FIEniHD>`N%7I}H9Y=2549RX(DSfc)vMyA|s zXZWRgcH6azq#RnxeAp+Zi%f6Z6#WkcQX|Spg7ra2k@XxuFgG{sP1zhnq4&cWFZml0 zi-DIn+-gJWibSbOQ>+{(zJt7^A920uk_RUwS~rx zhb&)>+{k(1bWeZ`CGO|DaZFkcw9p^38tqD2f^02nl=GQgOk|04==4KM%RRbZbn%NQ zt;pN|-Va@l@SCZ|Xvx8=`66wL@8SciQrT?#P_6nje`s4buXdNH`jnY5 zw%@(+T(;;m&8S-4c+-?o3lnXs_s@?GI?QgeefONKC!7rCX>Ro9J28y9)A*OMxWHU= zX%lh-dgure_PU`V|97$-Gb98WOM5d@cs_Ne^xTY5(pURt{fR*xqXk6~rYg1tmbQ$! zb<=H6IwjPHp76y+I4@3V7NM~inI4M&PC^EHZIMx_RWRQitGlpK5#yEA0i7>sVg__& zI)1yKA?j7}X@Z*WN54^R^G}vqQyhEEqlrUi^cpq%4Qp|^L-6CCQj3gV;3Q!so z&VJiz^tn6z{3xixFQxK9E*FO*`JnwgKh)>&zKCvMGIT-G%Q7pYs}BOU0VK00*oXWOU}(Hp;wtjI1`Bd8Sj=5)thQMB`fag z8zi>+oghqa$pP(#ebE|p=ds;c8`DUPG+aTdoZL)>JbI{ch>-@p%74FMYz#Bj0Ea0{ z<$5c;4Eb7co!}9=jQmY62qyM>1x9$4M`&!_1nI(sOn+D5OBYo7?c1Iluy`J*R&jo6 zV6zKeZKA#7q_>o8ZlsZPC+hncCQ0lTd%%=UIOy>?Nmk5_hZzK*ETly04-^?BQQp6D zmiXs!^U1eZYcyj>BxNjZ&2ck$f>o;*$NJAGQAB-&fOsCfF0-L=V5XSMQOT`lfR2zS zLP3$K$6GbeWvHl~tZ$yQ^j!}#^QPO_CJOK-yV+1AW?x6ne-`eLC?=^tl2=hReIgV?Ph}@=ip)nx)Qwb3ZR|<%p zTmr4F&F21oBI^PA5i+Bypd>5PTJ3Q4Rnfe~X#z>4-ius#A;c9~;8-nwScE>C7QYIA zi;wDvqa7G}>SR*=X6FsC8Dr(oK_Uhvpqf0VQM^gwUzx>!2iT$*M+woY4$e0`lrGjJ zykxE--_O}M{n1mPCVxK;p&gow*4SS8!o`Wa&fhU6JCL_M_M^qI&$j$6Z~ilF+vdkbP3(X&x8NrW0_KQunoNK**#=D2z0=Vwvls{n+jJw^~P$ z=q-R+-#%jsYvg=ANA#Ri={n!2_ICQ&Y0iiE4&z$e_J0qbMnnFZ!;&&nVkM;g2*}jv zfw+4rSp1fTiv7{yfkG^UnqGbi151-_g0xj;;2WXs4Ai(Z?FYTT?wp>6iG&xnjbT~A zvs!i&KnJ5aT!qc~-S)}7pJBC8gM|4MsW~o#f$)%{pQ!jw_TP~tJowK4!Z1gogDr9c zbiP*Bn`#O}H=jRNnjDKONTrsn(@>wVH1h)mqTe+~&uZ#=U#oTumI)kGJlzbX8bTs3 zwp9f3uh4J}PT7ht`4f&4wzO<)f00b%G#=oE znY#RQ&9NtLq29$h=2V45I61k2c5}fNQ+8<3^I+|cW9y~3b0%ZQ792$MM>k#}o^cd! ziAe*wCrHch@@@64hlZ<+N5GN6twG&*x`6ylY5o8;5s!4Wv`@tw2|wQ^6#LbRvrAi8 z#$X`+NzLb7J4zJ~HV$&~6G)AmnXW)!xd`L7;woQ*M>&5HogU0^y-`(bcv~!}Fv()1-H)ryg;q{Sui`+crd={h=OraC2>58UuyjJWZ!k z|D3YdRO&l%P#sad#aykY;)}$@!?r*c-{h@NLJ8t>>$V8XB_GbKd8ZSkk4F+J-Z@R! zyb+MA63*^px@YCb$u}oMGt4yG_tTE~ZrZ5@Zv30FV^9KO=VYtuo8=qa>dIZ70?W4% zA|awu3KM7>@FwyrOZ)^vV=v;3W60e~0@B&zUnCk5krdZ2)F%?n4}2>>p`NKs20f43 zF(CFfe0!?*mYPWQ=rHFmSGkE;P;6u0y++&R^9HNafy)px2I3Clq*R1&`J~>nltDIp z+nkA8u$2q z^(CLkK0i#qf>IHOYf(#ADU*fnS{a%<%lsPXv0HM+^u zHt$v7*SvcFYDLIpm5EvlzGH-8D}yTo~IFdq{CN6DR=wa+tQt$wd zRRs&Cy~3p(Hg-WLlh`?7HvhWQm{W|-o@CKRr4X5iY-dW$QWbWBB&{2bL*w4eIsMnU z53+DP|ziaxkYcE?je? zPA-Bc#{yZfCK~m`9Ch9f`z>doIry!<4aSQx^{v%9!us@QwT7&WOeUk#SNl}QwZRD= zi!pUCj;K;wx;-x4XmUw{Vc>3LkpAYtHsC1@m@`qllMTBHk~J6(L2(hl4eoP__>?B8 zBexWK8dTV@lN(6#@v&=Sf|_*%QC=p~o5d0~F0M+quLBP#0QwNGRablw%Tqug&MJPb zDY5oB%BtiopM~dnUiAQLDVn=~LA?k}v`4A-G3W=DRRd~shMp4cecXnP(TPKjOzP2m zV&Xo-JNp4lG<7O3M&_+)i5X7rZYR~VV62p!LMVXiW-*jVU_3kwk>|1&Sja?LJ3cBh z2T?YW0*tR-#Z=VO*V1rRPIPU^fAYjmS3ul8J0vSVHJK}X3+ery`OJ2C^sdRSXmRp1 zQD&^9_F~Hac2a1_`y$4%0_1RjPT@hh1siPJA6-cCobHvwM%Ny`w6?($_EXz>qA0nt z#;>?%$iE(uDyg!$xVX6GcZn=RZ|OpXiEoDjzqT`{mhJSRrFGMc?3KpNFozpN}HmWVWm1Yij8?Yd=$VkB1xB_ zth3xKUVej7`FUF*WgWCt$|%{gKLvlSo`{~A+~D6@OuT5j(mREOv|4gH$>m>~|J8Z- zet-^L$yFanksw+Vn0!ZSGnST(w#Lt3#icrTw2T%AZ@#doMBylxdldgu#tY*qPer!wPb-N+AYt=L=GQm$HU z2(=@H=#JP>SQ6#h7W&?KZ8|9H3YSOT#r~qrX}Rm(r)N*FAi}kd2{5-PAD%92{jo{B zW>ftqgZPxZ>|#LFrj&{^a1GT;TKb6@n#|UA0>&h5aW^j1TIJzf78i^8TGjgvxE_K+ zNrX+-evR#oZ3B+2&5Vc;z|CPTJb?U@&vB!doh?@%X3~8Kx2+%st3o(dN#m1~xrX+D z^rS}eje}_m_W55p=o5MHpvi@wzP-->Ci@H2T{boEyHNa=#Jg^F@L5`aZFAl6Igb6@I)+p|-jL5g|DOBW6%gttUYq67kCKvwvf3_R z>y6OroSjyR`7| zE={gqQPTyJWH=pn5#=lQ~|amQ)kif5x-A$rOS0jVaW zyH)d?j4EU1Q&=}zg`4w=FJp^~;is*Fah#uy!eXMmKgzVEGbiMKBl>{~u11Je=?_k; zaNHOqIpJ8sT5-~hNTQci6T6Z76K+W)Yudn%=wU_6Ws_C+JauX0*TjfJmE zK27m#-r>wrVcWZ4OcKrNlKTC!xhuk`OFoI5PqVSqR*%qHqPwm%Oy}b;)Yj48M7-}Y zY+3;ou8B&PR|>KOWcWUYqr?|^HB++Q=_{X2;PS4ukCE=WquP|OJEPrW9Jkj`!narP z#XyRC8g?h6+1R$4k05~yM|b~?M987C3@8R0&5=EY^Hv0k%xs87M$)6!6{VC&rJgyX zU(N0UY&IJ8QneP>0>$*T=WI zw*R!z(IeahiLfD_yZ6VM<4GQJZS69{z(Qgo#TUa_oH7nd-6l^?lSv~)^Uq(EdH1=w z^m5iR4vd8-)127quT0cy$a%b!(l?F7*`2b{N(Tgt%Q+$F4aU}@2K=LWJnG*S4`Fx1 zCb_?sA`b>$ty9qDnR#RX&6AXR*!zQ{Hz-+dyFaoL;%Q5GWyXOBmtL^M6KKKsSkt0-X6buu z4T4s4?<;7*LRZ9!TP;(bG&f$pQ|(P?JoUP7C!{Sqtg?Uq9r79K&X{BWzSHgUd}M3NXY7u;p|~Y;we(1mwYUIZd4ac7AV9tB0pY0*1Zl64;jE?9V<9@q&Yce4XV{s0S7m*68~Q z1Yv8U+F1s<2ZLslHUEk^wVpQ&y6g>gUJr0(0E{>1fB0nL2_>yR-bZvmh>P7(O#)~S9(u~!BZL_0Pm*pyj)ep@C!=UZai-0LT+Wx<(69gcuP&}=4ZiSPLs~=`nDszaQV@iD*%_AeZB#?WxF&37!uoCDQ z+~`-zR39;{|3Z$=OFhPs?W}42a7oBQJI2xJGtaBZCfZ|rr)@Xm(-pJak=F=@Fk@{5 zv$y;Hi}k{Nzu%HtZMu5H5)M(QbsYZZ^4U9q=;sw0L5c<)6d_$AXYKTqFngp{bZOZt z>#|k}%v3mI#=o5+>aK@POt>kLL~ArUR}^Xdq$VYOe{;m1YFn;co0z$Fmk&^utE*e! zSxaTCzQ>;QyUD=7z%Z(`ly8%fSs7X^hkKWGJnTL4-}{Vw_&DRZ5=SUTuLcf<*pIMI zPVqL_U1@uh4M|;A#RjT6kHiOgU32qClgwuB*Z)Q`eJI&o_gG|`EbVFbzOwvTIWR<$ zH|6(8mF>GATJLL!V)6m{uAMgnbW_gkR|PDs*Ty?>C6!7YxEQ9o(ZNI|8TaheOOHOt zD=WiJPA>jA;~&0WqUBKc89>w?PF5TRWD*51Z|nBVqb(Q2UJgn{#;qs)5QBriFCjD) z^IyWSpt;!-QyBfdC(?5qxnyEv(p6F0qqf2{j%i{)q?I&DiAdsiY*>`gH-s z;H-xeZE;VY*x@&$vMhfRsfEhTIz3&}iVh!7dII2sN1S9cNwJNpWwb)%Zv;e1 z$@)S6WTJpjF*Fp~E!RM=xwJ9pO%SIAa@Ib@F}oHPIk#^n<&dP^M9s2rcIrFRPF%hG z>T@wo9P~R2jw%VrVrOplz1%rFh^ZFMDk#``cfAF+>1X516vQ^Vb)f=6T=EZ;UkD<+ zHVo{-!-p+bWizL((ZbMf$Y7uys@-X680JS*pgu(d_;vXOr37QjNd9P=>~xn!Z}$CH z=k9z;IwkG!?s6`o(g!1n#!=g%qNGF=&KHazY)qKvoD0weSk)}v9WINNN^@ewrxYX- z&i2)G#TQ9X+onsGf6!q*A;a|d1Y%PIxm}v?c_IyT1vWjofi*djE&1Tt>L=T{W!ADW z)!@B+$fPrwQ~dY#i(%m@VH2;KwWnOdPd^SZT%FoKDT0{QX5C&10CZ-IHY5`d?+9d= z#+2usfI7>vK5bHGyPsMU6BElj$gY%P>tQFyZ0&CuLFSH=qfY-2`^n)KZ6f%lcPAl8 zsQpqtdjDqxGjFIOwD8>B$X1{3C1<%TBoS~5RoSazMqc+QgvYe|==Ij-ajc`Cx0%|Y zSS^nz5VJK|%YK?mR5~{vtMJjn+FbJc+A2LL#IsFqvVx}vVm#u^Zd@~HWzN)%z6#-0 zoc#u%t+)JH@Hl;mOCrK-m2vE#3S7TCZMr%mY^U#Gw#?JEh2v6t*a(E>&@Sq?U|j$r zC^Uezer0;^STPAdqzDFA?rav($HEN*`8;_>$HsD7#85X=pV*d9pgg;Iq@Q?FrTUGx`*X=f;N!<$^rALm zMUhlM25zzpNp)_daBOsSyx?kZ9LE0$DVct6lL-^G1=l&{uiF&JWVR`exHaoNPhPbg zlG_`(xY*3Ry^rlF$GBw?M!?3=6O#hX#p8;s3WNq&6(j{Zo9YUIPR^ye+~95!sdS{L zxf*X7SB;}ZnAZl!psmcfWVVk1X{V2}74j!UoVrbuebv2{J*ynGGi{&xm zd|J4tY0KqLAhr|vr&OAFg296uh-5|Lf^zwfNIlCF%SksxNc|4lV4e+1;iKklDR|1# zd7Sk3=RE7U-pEKVqj|Rn#O}o#Bwpj-7*D?wWKz%lAh=?hb{>5y>ASU2Wq?d4DtysT zu%zDcX8ILz=VFi*Db{)&xn9#cqr0RwTaX7xZ!v(mRVNhBMNSRP%BQqNO~F3eC$GYSjEPim{;WSW6nXQAJvs%J_TP@C^bL|I&Rj zQN0s<=1n+ng_+0HRNV0iUajLGbt|DHP;G8b!K9Jf+Ed~Nl|3;3`vaSM=cZYDxSbCI zjZ{CeMfP7f3i8|Di1BPb6p0p6NfKyFi_8c_fyVN!4hou*4;qNQ%jNCZGI%&gW+_oG z|1V(|$c!QD(`|!8OKR1siF#<((ohrEifwH53kqD%{%)aYRBtWu%I!)~lIv#8RmNFn z8y1igqq?RbbTjwl2HweNEO>@F#=!f`^W}JQ+ayg-repobd+io2=F!S6bhsM_xi*sQ zErqhx3o;-n$Bj;RD|^5KRJA<0%qyImYyMF_6o3EYQ^I_ z>ydi&9A<>ozureuTw5Jw4q=uk+)aNdn;1ctpq91wX(YtNb1?U3pj8tTRGs7e-hMKC zwoT5c+*#fWIWA1R0;MS?cH6jZKAH^y^E0PJd}%nQCwLNNFqx!`7rY*DhzhnPFXR+x ziuc}ABrPYJg;a`I#%U=ts#n>Wv)$oCSH!d%v^>xFkAbWQNgusGPV!$ujcniHX4g3h zOVyhn=hnRGLM5~a~Op&}}Y-qdk`o~yKc?7K-iPVP7 zlFNdg`h*yu%D?Wl^`YwV(N&(;(Y~j$2CDxu>c3r|*NFjCEJ`q`{Esjz4aX387LF?_ z=QC$TT+E-qY-?D{=YJwi!VmU#sR1VQnR3h-D^ln)A14GdA``)X5{Tcq(k%aI*v3ih zu3-R)ja{Ti>mYk9X5-1onQDH$0h;aH{%pp&1yb}!2#_pFcqdVvlt?4CsTOCSY*0FJ zY6X`OU9ElRB4b=E(0b5NjSWrmW9Xkq1%oaEEc{+ib;D%{NfEc=_R6~QFBKa5-Rzs{ zgUd>LfA_qe6SFrDfxNeWLpZocH(vjRC<#$A+vK62Pkkx$cPm;1`~XTENc6L0hfF)& zN8(CuURihsb;E{JEq*0z6VMOh>5k6_LVHfcXToonnODuPI=rWx%{do|v(1sNfQgA!k?Iyb~JME&}~Io`0Zsk2(9j>$!* zBYm}an~IR_o-9M0pZ&6Obw9{!zhvRyJ+hJ4ODOt=TE`^&9%LEr4ni|z7Xa>dwRUTs4AF8o&fzjan;VqC0`jKmDhaZW3h1u%Sh|21a zd7E=CQ$3Nj=T6oJ#TLY!nb$ga&+SrrY6r~fA2vCO1)kS_PZ&G|ni{8wKXG~&$~{E5 zK-^uMgv}q^Q5sn0ZeO`2^d;DKqp#AGnWy&z-Qdxy-ox!o+m4^rFn*ucUa*sS_jk7!xoY+rvloCw7!Yv`hvJ3`{dj#;&3Ehp3_B`6`cqiQwK--5T zn{%F0qnfuzs}+|08fmp_v{SRFr<`-|pcal3i&gn;<&0YICmuG|(W*>*GXA_VPW=(r z4#f*20QIeG2!AAW*)WCJ$gr1vj=(^c@U$~LE6#y2g=5lxb-?G=*dkH1Dyf0Q(&n<5@3ozTD5L)cc1Fjj(h5KmxD|23L6-hJyh z^q)*pJ7Oo?QfEoyf9sWPexB7(AbII16)F9_d0Sy2l49NU%K!N2^;^B%RO|ixReG{8 z#Jv&DHd9ye#5tD2&&2`hOit)jV+z!n=8UU7FkN zx^WMOPRQ~ftDA);#$^ZcXt*G);46Jk@RPvephGUWZZgPKRc&x(w<90>y)Sag_k-}S zZkUdR6!Ka7J-p97Rh|``t$p8#y`sm5jn>;JCYg6r)JgJLf;bQ!k~XzVTxK3X1F}nk zvS|V6njmdQuG+#_(&gnxEO#xXX3{)Q+7=Dv`#|k9(k40{&eG;HGn3i@+r%_Be3eZr zd{NzUN@`#@T^JhupIn;ofJJo2H!|r^pb+D&e_}vs=2P%Vz@7GFhwPhM>*M5aCC5<3 zq>^SfLpHi?N4!~ffJ$`GNrEw01bqY0h9<(en9K?RJNv?_*a||u^=%(VN3e?utz8^p69JS1Qh8BnYiW#*%>$uwlkFgq#Y=>UoAUmNG<=T50 zhnwgUR~NV4v?&n5)cqwT#F=mI1LB2HAgfF4Q{0GJCi_ zHQhqgMc#hZze89w>Bk$AQ&!o*ItSC5$sO?B44gWXj?8~Xn7?RFFuvGjsTz<=N(jzu z2S$gBwT)pNa5sC&!8={)TUy(0p&JN9#rgb8dJniM0N-uHmRhv+@|$|KHg2*`w|PH7 zkxLs9XY8;1%oA7TzieNRJ@ST8uGM^vHSlAfu0QbtS5~wiE;arK=|C30zr_hBePUSU zHW^{*@?}f7a?SayUb&p!-rhiN0SMq!>51cQRcviWl%}y(TqPG_@-yX{$A=4U`h}(K zZG8Q|&gJ+IeSA{G(nfMywrmMkUVZ_)@3xBG-k{t95?{6f=f_bM9UA)-p~)yTrQaBj z2QM|J!O>${hNYg4_BOt8_VDC3Sp|jV%a(BU6&JGSp1aZ0pxgq%?V8u72de5BbrDNF z6s=E;=8Ygt^?`)(#JoP(OHOZcYv&thpUe9`c=8SlOBXL%z*TF`=V^QGK~GOYZUMU{ zlw@XfJTgjB`jgZ_x3Dcwlqt4==}m6m{PqR>$9q3qCpYINm)sUDTENv;T*$u9cv_v@ zf@<5vuE{hMt!`7XGWkKHsAXJ2FS!6~E-1ELg4{aV`ObGQ;+W%31gLMonoM$=KW`3K zt~sA)?z<1&Jv|{T-9;6fV?0%W237+xf>_4?Kx&?J#35k1lUrwJ2j`x5F-ISJLW6R1 zlUh)iJ9jo$tT~ToKl2%Na+?TZ4Vb!kGR4XU#Wp@Vtc4ugE<IO>?= zQ{`ssM) z88K08;ehX| zCV&AQU|T{_D`PHJ2$;U)2Go_?l|TA1Z+*wHl*^S#4oj2mSFNorthwYIUiHeCvT@_4 zKyK3zMudWx@d__VK2}wXiVURt_{PO-QL5O&#S@g$Z+uN4x9OtTfJlV4$c}6J zpuP)Uq{pbrrtyTL*+6Q0(O^ZwAbdcbU~09P8J!(mf5Xo>s-i80px6SoMlv1H!O#EammG4~QFM3rq@iLwp#_DExH58!tmXXge2v2nJ&+9> zHU@IrS&2=R7Hi3w@l{0y(bQ~mlR;&D%5=&Y9csx!7icfq;P4SJEWy-jF`blMt2DkwDG2z7FcBF_KL*Ld4u2c_f|!qT1UdICJq9z~3^Jy#n-(e*~r zN3*2cc*aew2pt8B57$S)2$y8m#Cy}t|I0y#yo<*leM|z_-u- zB1a!}I2$%@!US^LDd1F@oy!x688entM5SIlko86|kBdlmnsghxcwmJ2t-1Pc(Qt7D zjD|Rl>FjLhx4-=(2fgK8Jo3o8t(4nDkm{Do4dCpre~x31d1ulJ63A`JBAYmHDD(1p za^r9lN?X>VWNospH!A)yMK=xQ*@pie*)*vL%x=!rTRy@RLcmxAlPR~~|NhS$eCWG) z_>o8JP92j~Q1IRZ@QtsW$#KUX!4pBbP3h}Kft(1la`~Zsp<@S>0`voq8(U~zC&;D- z#U`UYD)vfelcB9>aG`<_FwP4#juUeG!yo^`fp0#72OfB6Gjf}Vu(VOR8DnrMxqa=+ zpW*%QIf{*e+@^FG+GZm;B*X)m#VgIMb;Zv=~LkG2L95KFBEVdx=ImkMOzO? z0|LfRZf*Se|8C{LLyqA72Oivt+$Kx`sAAI{sQ_R8!l(G)2aaLmrtUy)Q|($w!_d|! zqBF|XiEXqqoFvKw&~E2yj~l_D=>1avojT%^kt(*XCQEz45QhsPU>gahR*PwGZ{xPV z-OfRWyo>wpdvH?2Qqw?gU-<0lobZ8TgL0dKh&36d>dHm9l-OkSFf_x4C@Kz^baV23 z)N^byDwD=unNf;pE2N4|2vZ0F+pOH$+FH5oZ@2TNH@}m$Yww-(urwpL&z<=RK6Ju+ z*wh`A+f+ckaG*+CgJK(t)rRtLa<6)aNgr|l7Q$>4NuO93Eo{qeCIkZlo(#GDccz{o^MkEqXLbs$1XkKE#2C9KoOed@H$zuymsGUYnB} zc<=exM?c7?KY22JefQok(MaJjsNr^!dju)uUZwOqNpgMa%UQ;nz7EG z^Ga*Mus9>Oj1L0>wgb5}H#PC_BkOqcVMp@k|GTvwmNtfu6Bm{yDQNGN51;tnI=LyN z{}wP|NYzD}d7>ihIjifRT;Vu!Xs#qD7QHKUnSIx*%%t`9a z7EXG=b|SZQ^VB2j9^=i29mya5_?HPUC~O{e-jizHBzaEop+$xC(xB9*+!TdO)3tRSlMG%k+E4QXniANrNj5i;8B$r*^(FKLZ`PD@W7i{+Zfb9>j z${tP4l#Cfqs|VSPfT;do!E2mTmAnT-B+0)goR0pu4x1L*M>xety%h>N&Td zq;`I_R`H%C#S-%i1*&zcqTwknsfMZwVijGd%34i^rc`W%A>M?ss-nh-n#V+v%0e2u z>hNrtzK~d1*p_3rnFT6N>l=y!0w$W=`uYYq?CrvjZlN+zN#}gM(!bKjJ;y_|uyMx$W$#4agb8zOAi94dMPMJ#5<02=eDBE@IQjMsQ~E&D@SMZTM}bQ0*>7<(%{dcR@&!yfxs}Uh-u}+x_{oj` z6Uc2RhEt`<7@pVKHXgN>{)<>pRP-0=w|%Y>4UyNq8w{#J{c~ifXOAdYPHHc z-t}I7bj=Nc+;*lAR22i1z2~{Dtu))AW$dF(8zhb%f}*!P823L~#i5EWyXpMR!c9QQ zBTO}>xiPLZXg-RZEBxC zPtxYGPfH7t$e24sWk_^^a`QslOde}}169?DO*G51c~tbbp#4CkqYzs*H#$)BJZ)}~ z#qD{@Y1>CYz~qvfCzs3No#%+7Kfn*KytcjtK9Jkg4nr&6v!GC5@0Jz@onw5~o{~#U zCizXK;qpz@t%*&=5Npl1GLr?-?tcXCtgFRQp2r~6oU*7b&okzg>YJ+q0(OLQ%Le3+ zdiU{Me#JFGx$OkR7OS#POACwA{xu_G4n28Ewj8W=x#*VI=J8@3-fT^5i%-3dLb*Vn zZZHqm?gaSh*6MG|7bW$cHm}O7R<+jG@r4U0V26;K_e4VvG&(2-Li?&)gDA zJM&as%DUnD3D^-i8}ErCix}bP<4)wFi!Tr4HU(is5>v@yk$sw*$FqQavj$sL`BBzW zYmD;jKYn|7VtaJ{!z5#*0+?F`xl5BxSUQ?&%ccqC|1Xsh2{$8(PP z6UM0e7^_YvR)mn zdiGn`%!1Y&wZLovQ;6KGwH)`p5A)p%E(zo|MNspex%oWLYinn~yVNar)QlG>CS8ww zqp==ioav3tuxfA%mQqBF6Jro-e}?c-nra*K>^oIvG+AD{qJ?toL$hwclp?o$KF|9; za5Cqddm+}^x`AXMx5-7;lw0wh7k6|pBbOU<95aa+C0X*WveCy}j|aTEXoN6#Gb}mf zI-HMD=S5@Jr*KWmYC}bf;X={6l_k7#Wh*Ut6Pk4crWCmuV<;5zeDK7NbI!RJrd!|x zx$Thik%pl!@0zh0sf=P%BuSqw2>i@ic|;5nOU%fb}_4)Ff;9xH4PI#~69G zEF68tyb{lx*F=9cEg}R2OfhnM{|TpX_P5T%S`(DpBqJ#rIG*0x%F|m~7;s4#I+~M5 zgRvx_YaAYrnkHXB)~p#Hv6&4eM8%6YDDrE8e;{f!8)Fz&Dkc|(S7^=~UfIyo77#Gi z$gQbV}Pqwl)a`MMm{r13X9sJfuc%Hi^>mQNDFV z^4topa{va7s;C9+SK)>&_LdGCj;ba_gu$BU-&V9Rzcokf!$lG>^~g=c(9~4oLmxSv zuYKd3&DQM&a+_Ghs?5pfd0AH{<%Xic=-zAfuYPX4tP_vz%cFy?f7k~Mmv>{y>DO@I zsjo}+mnH%5MJgN*YP7yGdE^+g=9C3(IbOD+h4cQjfzF~$R`gA~eB00s5Ia}5OyBMo zLhOj5Xy|4O_uTeVZcQaVeDWF8YBf$g{y4n%)M~X!zgCl2OUb7MI~|)qRh3AD9_KiC z)@&9O3iQWr%oTgt?$GqI|DI2GW{V1|Zn$9l#0DVE3J#5oXMV>&|Mb8Ui*8cn#ezCT zhTRq~B&Kee3FWI+werKibx%`LOWtQbp9dhH%T3txMCtrvE|*I#`cRPBuH@F-+{`JT zI1_*qk3VjQ?+wl8^V3o>iU_ePt=9628C~_Fff;qdUKWO8fWKlZnJ%LILK;@nmbOl7#2Vg&lDp64xW;yDXS+3Fw+Dmx6?oMc^-V|VOFhNPPJN{ zeANa-)^f)kcT=2Z=ULO?_CfF2zoUcawzbmlTvA*dMWLo#;}wjcmuXBH)J7t1#r5AG zC6*cmkAC(QRN}m(DtRu#pG9@9s(292#h27<7)Wu3pV+ zX3U^BOW$NsNCS`5mm909iWpJtMR+#Koq&m*_&smDc;qN&)ZC7bFjdqi?vsxqdIiXF zNk5513_C-byfP6OtSK*A(!##;O8n{J!DQ5Gn%Ej;3Fat@Xm4wqG?f@gZQ{2#h|6)Qr&bL`vN$_v}u8T6TNdWFO_rESX2zQR%Z9M>XRonfWetDM#V3A$t?OeR(>bQ zjp_DfH+uM`Sb@Hp=hdrQSl*S`8BMnnwktg6u0(F(wMZ0E{Y+bF5 z%pZV9uqc028~snR4;ig?&PFc3{HYOJp&M#a=Kh~QZksxa0Ow_99^+{~h@CR0ImbbJ zwlf&}!~-ex2n7V}5@=l3^2S-Sn3c;lY@r(EVGTC6f_@i`t75RVLP1^s;F!-lCb2E~ z_>U0`UaWIcpc2UsQSL||tD0@X8jh!v@&Xm-dE*}KEbq*xo2-KB2ng5}U_>Z;&$3d9 zH_V(#bu&_vk)&ESv}6SyFp<5;0#vd6#f_0)+CU|IYEqBzEC)#hWZ3i_S2NZ_U3 zH#hPdtHjEZ_B?OitAmR3>8lQ^Eg)dJt2F^CsvIGBt9M3J=Q|TdXosX#@si&ztw^V0mYON~+odxdjAF z;}BGYiuWup7CCU%EC$Enxt0c>UeQQYo&YXPy8Z>)I#}`3HRDr?<9(qU=asQ>PDQce zc@*@bH2(FYhNI~pRi`X$&vEEJL#iz#!UF=PCq$CcVpWwx=FDb6F;8`~xp5gT2GwMA zN_}F5rfby5eQLz^x3_rPzj6E_@VH;7i7{$H)RWj5oh{Ivxa-O&!)-ETX;kwZyk|SB zXA~*Nse5HmZ2{5 zUjump)d<9o^@fc=Z`JXNm94yVSqptt7nZ&R1WX4)OPg`~oa4ov9lT;j7rk+eVN`eA zO!#<2BUCCXe8E_cP1&g{-!bvTCIVQ4(~_!qtKuI-_+~ns?-@b0Ny8Va5E!VZkdwoQCqiNJf1Z+|@U+}R9@A=42uHwPLho1CndP?T*x#j^> zRn@Ci&nAU4Hn+hX;XtJS8G*j4)VaPaI|^m~^! zo7<%%-bkskz|(5fHGmz=%*&r7Ma!e(@r5>2Bd{m)&Tr2I|rX?{0ywCPuX4 zQDx8l_kL=x>nXo61HNpDYkAu;zY~Rzr>5mLX?jx_p^%^?BsNggVZf(R*QgHya`QDDC*6REA zqGVSKAKTE=LtkyshzjM|rH>g+l{pPvKRGM)ZMG_SxL<(N2_&a2f`Ym zuj<)qsRGMr=rN8Pq=2r6qROgkFWPRe)ojlL%BnL-OlK)?<~b`RFP=L3ruv1dyY{oaomf~FNx zQ8XZ5CqD-lWTebvb6g4_WbDL5G;B-L~u zX-~!Rmc2T8(;n^gR9u)P4G7rLAt=xj$GlCkc7MIwo!C~K{8PH`cr8vVsyM6O_bHs1^0_orM~4kb8~=>G@{t$LVXs+5 z`fDNI77(z*NKJ%(=h>sVnUj_-CT8J(zu;;{2>f6Obe`i6_Q`)f86 zav*Xss*3yF^-dhdIIa`)yJ>wODk{S`JPMOmZ@#&Y&qpdJBl@Q1+AYk%HEt@WA zjVx!ZT*{n6vY5q;qY9de87E*Bu8&Ign^De-v$*@8y#O&2b1zQ_u`NC2Cp4KE+l7aBR3tzZMU%nCTw=>rc2tg0DA zxOoxs8#f* zsC+X0XQxBHZKLMf1Q?8!6Zf0Niq1QR~>uBf1rHkrTM5E`` zw7#w`jm(U|dEWAUwPNt%jDfh6o6y%k;gaWpPrVv(LJT-9bDumcD|F>AL}Y(ejZujZ zRngScso|*9os1ySn+y0aAHzXN%&t!UEN2W z-1@4X=PhXF(=VBa08RtB1q5s_QWFt;BC9xk>eAoPK{u7QYdF~h;7;FS0Q4_&n-jFIq}wrnsY$Dts+)bU4u8%i1{{10`{JY;|;6Z z`REJhP<5eF8W6C(NKJr2?>Tl1?=*SXN*2{YiUIW-<@pvX5U6-XbDujG8ElYDPF*kjIt81q5Wo z{Q!y9+&U}HHMy9%Th5U}mAz@|9nwX?hU$g;(hy&sB%7*AeJy&#bw z6;VAL^a)ffs2AL%lG>ybTY?@y@HX-)V!g;cz&q39W=31OycxNr-s;}NXI?s=SFLDe zQ#s6(1_W%YT8oU(9Xnp!)xoD$EkjYf4owz}_}FA(D%(bv>Jfb(Mt+N^rJznkkT^f- z?`zVDZQ1EJ;cGP(Kk*1v;~nZP==B00OV^EhNs9@Jjy#!=Hps-P6s+*YmoMbSOIp}e zaiPa8AYi%sHD~tJD%0v%GdT<$;>E6x!%^14h88jn^`mwYsv7B)KoPm z%FR*DyeyVv-pZ@0F~X{Af3QQ|-wwU&?>X%N1P`hrB5Ku_V$9D(bw5O6MI%wtPLPJN zt9nDAqAK;B2_cI?^G%zy2*ig|@RgU%M`X3*ddR*`#E zH4-G&QOqeDG;z`?9ed`rX25UHh!Y#A{s zN~A|RRgkpmsvKc3Hwt2__ic#D2{yJnoYbZau`N5}CW=;RYEmBiXC?JT*Z&6Ioo3fe zMsCU&KEw^=Hm@be*{@#A{)<}JRCYurOeh5GdZZ>I_3G#Too#$$?^Vn%78r1TOkcI3 zY)^XUXl6IYX=>#HwHV^6%Pr}^4!G^UyWq*fPL&hz#hdQr{r|EXtsOZGsLhdO@<63Q(H9$8Uf!FpZl;&l0V6vXAG;Zy>!aFcRQ6% z#8+;*llQ-9b=K#sUX2*hn-wX6yhu>5$r+HWc+*I1*~!ShGzc}PH0KR3U)IL`Jyrht z_#j1VKmxf1Om9*%>11M0?0CbRnf$-qm(v_sDh*B@_4&`n+aM)2O${Rx7b2V>kqF;w zs>)HdQZH7m7!@_nv+BA_r_}p5Q|*K-`_wf^8f_YJ%u+|>`6$9yK`h{<-tj#0bV8aJ zz^2Nr5D8y>#X^pHda`9+gDXhDG$%E$%7Akmxo9q*-(xuiW2iQ)%WJ$>hWj4#rNX2C-d(g1H;am>3OMbVa>roG%9VRgeSN)iZC!J_&hL2wZ=-JtdW@>XqF5Cb zR8&%-j5avC)f;(-tXPZ)MJs&kPwV;O?;b;doRwf!88EF#&8B{83Y@TPAxABm$DsF{ zjY)0Rc-#1AQX)u-pQ4CTQc*EaRl4j61McyH8@S`+Pd^(9mCIGCw=f(kZu^H9}! z{hK78H&kl5V?i!X<9sKZQ`yKTn}$!Y*mK;oX7Tx#E}&oygYi(WTTpKSJ2RnWJ!*sA zQ#6MEx5skcy<{H!&JB^;I0^*~#vL^vCvZ~@4(@Btd!IJostT5=d%sLsVq0*=H5e1s z+h;0HOjB`?dHI=d6SxA1&}?tQIKtA#oI}NN;BFn9{i;RGY0A-?Hu8pwX~51(YFXv8 z*E!}D@|^XwRU9y920gJu(tPt+;iqPL4Mc?+N=}hqsgXArV=7`WD(Vq1s;s>F2UGT# zn5lfimYs1Gag@V|2h@9K%_G$fw9TJ=kP6>Nhy;8lpczNbO^~`-<^GGB`QGc7@caeM zbXOb#A@3Hj(~(;CfxRh?d2UA==RSQmp5M`ym_*8uBhKigmgKEdtB#sLPT}X?m{+6P zYgCP<;ipw))isw)>Ep6fB$ggH^^G`*lSXJ2qlzy{g|ZaBjdHYzcvL0%;F2NxC}pcW zLVXd1B%9`&bB2MM=geEyanWrXC`LkLLf$Q4=O8sJLaa)~d)_jCHYcrIM60#*J5MA- z(TWU{e{T4??i7itQ;`UjYYp*1N>oj!3=*a0Vdal5nexYGr@C|RJLPrRxiGP+kMen_ z#a~vD52EUmS^`EgZ9WXKWd((-%QEv<)_CbS%+ljj)u8G@ShW)n+D;LQ zZgoPV2(N-7J~Bq~1N}JF;{`q|h)F!f)oWc*kDYh3W~iv}u6<^5&a0QOv?I@^N+RP! zXc{mTLr(*A*BnbqMb6r1CI7x?4*kyIR5zO@kkPeE=ELtB9B{v{;GX;AKnOc)UO6w)JI6nO^5GnJHv_G0T>X zx9RUm8$~5C>hP&_v!G{Ja`Dkk{bkgM0riOBMA+@BOLnSbwNu`y_kZ-Y5JhRlK&5I$ zjT0>HoxnM&5{abCn3Mbg!!Bgj1`~s{9+a6@iV7G1?Fqi}hsW4ZcC_RTK7^(LJ23P# zK)>^J940!P3k=e#8_k1d4zvMS%c7l5{nWgK6H#eb;EjrlR$pc9JId zNKr2$$2jM|lN+d@ElmmSDJY&*S6{kQ9=DzT?!51m*8z}p4H^qLl&4|jDpi)F)I^A~ z1ZncIHZrj#>KxQ3O>!+cLx1c!>yMA~-M_A^=(e&|GX9u zViY0gG+8!%E3iN4uLaF%GVA6^&BS#SpHPvZs%d0|{#sHt|LF7Q^37K+X78CLx+_U1 zw>3jWh=73YMQD&XLVHzuV#gk>CC=JsB_CO}ki0RQw{nc3a`+bvurHKeETo!`QG22ps(s_$s1G&#f59h~VXLU-K8*1H(u*KQiPE|G)Z%SxVjD7}%B+&9_q;Xb41audfG_=F9lv<6 zmx49qt%Tx2z*7!8tEyC-XTPpiPFT5+=XA6(;5@M^c9?6j{`f73ElH&*X#yrjHA?HC zXXOW?50p!>Gpbg>;S?JQE3dqC+8onqcL(0}zE_iP%VqxUlCPk(yupiqjfk9&>MWF4 zMXU_(>fRs^R? zzw^u~;ICG9f9;X< z)(B13uy#|KbN;%XtMBe+pyp}G8I%y728=)KEE&VA=XP<-(s`_IDbXK$oF?p(r9*@v zl{NygX`#+*_uV!&}-d=1(i9X@|>hWkyw!QLs8P2XanarHuW|P6PwiPs1hqPN;zJ!w2gh| zG_h_VX6>d54kd5RR^diK2syJnS;c!Q-t+vwT(&t%u&RucqU z{Z+CHOaz=DRz-~<*Bf}9s@y4p^-Mboas6unzP>Gdm?%u??w>`n%)(=vQ z3#R}G`tARDFo<{k!U6R-U?mFcFB9~khnhcc+i3Q6Zz_$h6KQZ7H zCx}g}3XRiNTM^r4;b}we%}7!`eRQD4rMGY7(%Uz3Ur&WnloS{O!R@*sXDyvcUfh)D z(1o)&Xu&Mz74!7f93F-bJBPdehKNnm=Sb!~lgAo?+d-(Xaa9CA-vl*d_0#dq4UH z#0;%oRlM{(iA-|g7K~7c3~M)4xb%(< zT(dSII4enCT-qKU6x>d%(6ap4p!3vJSy;;R`gvWvX~9f(YbjCjNsro)Q}a-wtlm^R zGO;CBR@!ol;3Vr!Q?3L5J}~!s!H8E?V^l@xT6;IM|MdG^?wsthchK68ycsLyWCwz) z&}@oU#W?E~Z#V$u%cw3(dK&SnVkH|%7%n^=%6nv2d)oag^&u`*C`N{y5gzKTa{ayC zT)lQ9x2_+=icpLUR;Y)m0Xqi_$-G|KB`q4ex0ZO_{29D%UKdMB1!AAr4Alz*_0PwV zTZi#DEbMqoldF#_)6)V#}5}YbwXGHGm4_MQDl)j}6A$cz+L<-MN9k zt{6IBHiLpXz0+W3FjzVl~Id(4zV>uMc^Sbz#nQgR0ma{`EwTTkOtiL zvDYwbu!J*EiE83eF&H1^v=GW1$NJsif>O?itw5cr(PGuxwYutcZFEXek+26EH zq$OvmIpv<73fJGeiJw2%%WY2#5__d!lMvRVp=$kRtKTF6+ndO?RA)7xEKP|-*t@-n zm(K3sRr5Mo(p02iq~5lXb;(M7pPdZ1lz2E|+brxv#ie;$D_n&+KI3bEXx6N3`>YlmQMCvpKRhEIA0eX0H0g6j4 zLQK*jm-fDmL2N@yWs-zTy$>#(G0jxm6XlrSuN&andp2>)BmF!+SfiTy!Q~okYeLas z`x2To+!(Pc{c+-lHmi_h|Cw#PdR`~b>};VcpQG$NHSd!iMuz&(NLsx|+qS+Xu?@9O zCM}Wmuv3t05YEt8|48!sY=3Lf6$dKGb2wQ2!ykkb7>I2gxwn&E1Gy5Ki;&77C{_`N z^B9qT@$gBIe@(?#EP_$gB-PV|^~NH$#+87ZIh~Sp59drma88wndTadh;a+Zeq>taN z>u23S4UuHKR^F!hI2}HG3K%=Y%)(57idSmhqd-?aV!s(}ykJ%q($)|9xYtiJ5Ba3TY- zZ9DGz=o^{W9?`wAN+nsSjS=xJ_dSc=MSnOP;rPb0HRg+e%lK!{UABoX@=!abm zm`yVXkTZs+$WV5k2YRaf;jw=H`+**AT|dAh{WX-N;u=X}QkaQ>pytL_WlobW*0S>; zu%MJ@b!&;2&S~fQGg?{PRG`UP2Arqn)6~Ic>TJvvcf%2zrn~PXDGG>JG)lKdt{2tM zikh<&U&g6uB$6xSymJmbtoT7tXo1+CA|5#D4R~XSB}T;%d9nQieXhCGf*0Q<-n>VY z;}D&jt^kTrH6SAOevgJ_GNWGfLm%WBCuZS_)1;FX9*xwTX{(_Oft9L`cmGBcTja$YgvBD zCE=zF#J2tL*lYHsZ{KC86=blAklG)wRhds2etxRT_G)k91vA^&qrF5+WGR_M6_?XcH0wJP$+8QQv}=r0f!B)y zX+Bl8Zj?4eXviRN0q_-7y+e!v#p1m)l`ZX!yzr=?t(<>L$xNkUr1Na(G4?(eDc zKyQWHHQ|KBr2}D^;H~$+YJp zI`WpK%|)Kx*~~LKn_1FaU~yA{mdH{`LrkZN^9dnJdN78pwlgvtJ7>D}5*0GjM~@~R zX$e6}RpDY(KkrrlZjAvjDgxGeM372_m21|7n=TOBX78?i~fqNTfR-kAMkxATHy~3u7NlslpSf3r%$EDYD7BK+|@b{>7rKtc(kM%YXTO#gs z=nGNtDjJdOfvN#N0P_`9|0fZHS8t6NZ}NG4{K5rDouFYOmJ&H|oa6`*wwvE^t`Z{&UWn{}Su1suMkz{7o z8U|yfr{?IZI@S-y+}l&(&h9dIb(eW`phj=i(NlADS7WL!v9C61VIm`utY0g;kfc%h zjdg`>sR~my*4PG^b@uxP(siojjnJNpXv!G80dhO>P2_EbnikTJY!zdzXzab9cw@T6`L~G3v5M}KDmG0w zXPGoyNw(Q;rQ*g%Y+DZF*KgW}n=c#6HzJ8L%ZQ3>`w=`b81qCqWQzfRm>KJrMQr)FtT%6{xG-<+0{~R7BB}GG`2$R>7<^of-Sh9xpTts`p zGPjs#ZYjsSQl44Gh|YXOXFkV_Ld1-Gv{~bF_L^cHe6Vn%_-_;8;%DxDOpf&X-XP&R7wT zu}vK=9@t1JYNZ_aJr{Tfa1iKRG^@O+OH({1+t87W<)otxPmTW= z$cv4i*pkzc6gXAt7Rs3PVD%_+v%onv#|^HkHBDx+j3C6Z`hfvxZx>cv9GYtbvF)U| z{lwQ(&QV8cYLfksX{4&M zwR`kaAhzMhy@nc3>*1_!ohM7PQ}yD)mbtUx@@b8Kk;d0szaVAvZvHJEH~z-h?LurS zL#-Owb0-FmLZm~F{|BB+MfDOf-09Uo1X5G0g0tQdH}@igO<1)o4-K|~*rp5g^wYU} z)9+A}$mEkx@uca~<2@Darzp+OP~;tozFd&K85($3Ouda4$h(IKKS&>#di8q|c1 zaad?V3{LUS5E6Cm-{Hm$3ym9BZj4GICSqK$aYF!+2nvmMGj(@$)w{>V`(9Nw2@4XZ z;JeF8<*WB9@15M?oO9njOmB6Ssp(lPa8(IAd9qWfHvoxBG1IXQ+PrCV2()7~O`vMZ z$5MQ$Zd;dEw*|Jl2DZ9uHnO5Jim@R~b~#JZA2wfMe~S24=Axx~kA_or*fX7oDfPM9 z>*8$o_5-y;ffm^QSADqm-k{f=q_fs%Vs+4np;M%)%8`jMp|~$Oy(FcVjbFr?AGwE6 zd&Jf0TPkl~Bl~G6S!#i8bXHkHR{uY>sJAYE?Jx?##LyD0zVHRXmnMCYB7Htk{FaA5 z;cUs^s0J`OF@Z4`e)*N>j~{Oz@D|wG`02=D+=<%cVUTM3=Wv9=$r%|Uvn5s9kNmRX z6`MVhX3GZf#`ZGGluoFWt}5x>*o5_e25cptb)A*Tu2le1ab{5=&jJMKY{)+VpD8#| z!KH*qWGaP{Nd`wwfg#!KKK4ob5VyeA#+~BA(L-#=H@Q~LA|@GlfSj`okyNRGz(cpD zxHQ{4fOuNgvor4=8CaK(g{`c@ z6m;p8HS`w%-ID#i(bw1~QeWT2q*ux@3@l|xiCks(=|y5?a)Ox%_8j}TeUVyVYvXR? z+|k!YvZg?_Lcw$gIc{|ZK&ms1)Y+hjCj&nRegLr&sU(>~~wMpcdHL_{TE2cV5M* zk0N7FH2z+)NUBM2p+b1G%*LBtuFbAIoXisz`(*92*#+K(^q9uYT-Oogh5%JriYA+L zqitnqJEw*{JNBKS=6?*>#`CUX99w_6&cZat=CAFZ1Q|PxjAlmwIu7QR&tuNWIs-my zrPG4b*>R>q14b1(l{?B**%0MYZ6&6vHH=u8-OhmzKWrbg7TDVOH^ac`_uqz&=v-d` zB^5_sgT3|IoEPS~5OXpcZ6=y_)rjF=z=$Rj zTW7#nG?cezZ0pyVTg?@Ylmos^K~OTbp74^Cg#t*z6l%)=R4t6h%EjvcYKOciHzmRW7b0Uyx%m?~6h z6-}`Su_zE@a_>3kKi{|SgG&&lF442rUi&=u+2?n@{omjI_J7_&e8hqFT7i~&f!2Cq zwACqkbDc@^(e;`}`TQMM{ZhEsd>O8_yHVAA5EU(Np{#Wr%iDAmx9eEkeijQl-hiWH zKXN+ng}r^#G4om{)J+0vmzWftLKj^oh;9*1T{8bf2f7Hh$199$R|~zP)->5l*R2iW zl^T!DXl&Sy#(y=xL7fj1u15Ufsygf~cHxeN71-e{!?yXQ_|m*m+&Hfsch0TC@LVrO z=J;UP+W~X;1X8<(gK9_rgGt`xFz9*$?^YSu5N&@wwBh$kSj}IfptIJbb<~Pyz18Vt z;hWIXIEtnQJiW?=?FB20(m91%W>#J((dN`lHis^(4u3<~!bzcI%5vyQSx(K8ogZ>% z7i+gzSK)BR8bIj=M9-@eqH`m}cSMk23EHFyKLPj1^zl~hs}TrL>a7u4Z;g7OtxCXO zE6%pntVL)2Ya|UkTu}-4{KcVE0#pbt#pX0-WaSy=?0kcu4C|D{_xRa#DnsCglI<|2 zXXk0%Gk=zco=I$CXiodyQQC`jX>Gr%i5>+K-2XAa{T_n$2rb}IPxrV5zS1T_UEZDW z*W*yV3r)@?!33*QPqI2;jsu!`iAnxYR=zPKJI^rL9Z1i1YFjePLZb>vMf3*8Mb~D^ zr9{Zm5$N8Fzz(>DvED7TK972~*Cn28sz@eFKYxneTHIA$rW2q>u&`VRiAzdZ;Y6^U zOK`qc?748-3PQt44GfK-=(!!DPl%jl655bIFa_G!;1U=l*!6Dp^tx*CWb>+IlE?p$ zJg{|XNl-C6xJkhl<>se^O9uULa3czCqm-8IL~6EEzcbCPK?D#I{_jKd3r*}J{6owCkf%PGmNu&JiK!5dGZ1&);>Xo`;c5`0h7?ky03Is+VD4?(T5w$K(M+c;tf7C*eTGQXmA0!KJAE!eRThRh;K$TOx7h? zY-j7b^9w^smawn=Or&rT=ow*HgM74c-LzFYTltLQcauCKo??sVH&3@#Ak~_ung7}W z;qpMU$1tYRh?rwr7&|4E*IEsQ0uC~Eci zdtA;+=bT5Me^@!oMe3Vc))H42cR-UpSAQU-o`Bbn>`!dT6xihc^2DGErMZi=6l*w$ z;R;fx=O7{N3Yikquf%klGxm|BjM=e!d~Qmeg$#4<1<+iEpJiGdNXeWNtACH*iI?0o zOD;^2@9^{Vne%05XIZEui^1t-QWj^G-YS;E?mzTYfbu28E-+yXq4xpLJEGn*&_bu5A3>vbH5=)Uro`O5y^@8MZaBtI9 zNVGVme(6JoNU-7Iy^kaQ_`=rfA(FB%H*YykoE(++90jHLr+>Lyo)7=>Nu3g<*||&c+UsxN{rAVQ zuxORE_|Z2;WSODO+aMCG$X{HJKmYk{d9OP_5u=!a7hZfxULQLAs?4vw?i*49-26}O zdq&>--AjjMe*HJTEq|p%b<56|obAx|B{mcAz!MBSzT>JAh?(IICoP<4!vhiEtH1bF zynN^td0x}dAvHHbRvRB5$I{Xo2-PgD&&MBMJ1VVq$F3jA>qr0V39|ZJnWDfyy!$?x z|7_1*`EvzJDslSs8N7YsB>sK(9{KF6Q-Blg4sB0zBLg2~V1Iqv%B2?oM_=}}_2GtZ z-73%Ty>GYF=g6PllE6jFT}UH9zW3BK2W6Rue*OsFeebk9FJHX|sSrQ3^FPU*71Ko z@hf@ms%^u!|Lz~;`Sv(qmP8Us;*n&Y{|!9Nz;E2?UU{z5MSvfC=oj+kfsI=UI74=}5by++up}h#BJ!iN(9^diCJQAwTe>cGa}4}^M8gamSbw!Vf9d7JICbh> zjE%jI?0?yX*!hn?h;=$u0vE^_nL1tQKw=96KgMot|M1#!Bt_gB7ZUWbAN}k7v0ly} z&!P(dcmK1b-4CQRUMEknSXy{q%)*_$8zWkO0Ern_#zrk3gnsqweb99sCDc*b&mMpK z1m1o3Jp_Y6{Nj){9rd^$aEowj z@HM-{#Z(X1$Mv#&=8=!*_t|yw``qGWU8BNWtWDBfkK&1Ic*e1bqBV}xG_rDRM$Daw zdw+QRhxuMwq}Q|ini@NBS$@vtrp5~F5z^x7WB<$bM9Z7w>SyCbhh~o0uFb44$h!E8 z;x7@$0##0u#l&}3o$Gk~5gMXpbH;y|uj5lZY%~u)%Retxh<`VF@BF&Xe?R(8#6xJ0 zCvk^ce`r^lH%Z{eCYHtU;jT)MB(%7|-GBJJ;^Am`$ zu6_#S(Opy&B5x5tJ^I`O`0u5=*t+_t(!E3m@RNfs@nBt9GFkc6XWA-|Zp+gmFMlpm zr0DE9gRDE>RuCEu2k(0#6Hzrh3Ek)x6ccacDgKs{;t*+Bu19=Mlh9aayF0apLw`z~ zQhHVx;Yp|(UZ&dCAn;It<*{#c-D)^zFASyG^5W-q#%DESX4nL~0}V5m1tDEoU>C2o z@r;?**`f<6D(P6f)4#eHn>@kcrgEO&=`+q>n=n3$H3{x$b7&qnqIU3_#E};hTBnT* zKLPhDv6UZeBm+V57dp^<*VD?$O!_t9UAdn(KH3|pR_Vs(Bx3xiYE(xRGW8Gr1PEAj!1 zi=L|^>%yiF&G!U7!ZT+Wm-C_;XtZ3i`-%^m@fu zXH5V-b!Wy}yx6gHg+{QNLVw`XXhe+eX_zl{yMXgZ^D`*>*}GHS1j@eFf8>kqQ-*hvRISS^jyJn=(O$O~?F~5M_29a~<$BJng&~vGp{rJhks7x# z6WyGNZpLt@aMDwU2bNc2FmIV&GP{tMXG6(0rQZld(Ip$+-E_w!JRcSZuBn zXszRoMU`?z?uu^f7k_8!>)dE)x(D^X5!CoFR@sE3rS;fXT!TG}T=?;V)wn;e8jmHpmjmWO(Cq5V$9d+^tjOKb1 znkl+#B7OUOVt=_i^K5lv6{>yLqpJBnRJ07Eto0z4x1B+8+dl~uwm*#p?T;b1<1Wl; zzveIYmXckz)k#PtD5aB9mrAf|xcR#!{Kp;t4+hA>&5g+m3;+NC07*qoM6N<$f=EUU A!vFvP delta 3284 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⋙lqQ7YZkBe}xx|Oc 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 literal 5796 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 diff --git a/nym-wallet/src-tauri/icons/icon.icns b/nym-wallet/src-tauri/icons/icon.icns index dc2d0d2a7d7ee4214f536d32c8eff2a9e1279046..129da9bf18cba4bc793f99662927249662da913b 100644 GIT binary patch literal 318732 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%0A5=QlF!?KyxY%R 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]`~OPx$&v?Oqo%#4m^v>39w|i37EWr- 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 ?81%mHB8!%Ex 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

2hCFsHI)*k<<%Jz5Pz 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 I2ll1^0g!omyZ`_I literal 314911 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\^i( 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 z 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

AS(RSVCuV5Eyxm^ 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�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

- ) -} +export const ErrorFallback = ({ error, resetErrorBoundary }: FallbackProps) => ( +
+ + {error.name} + {error.message} + + + Stack trace + {error.stack} + + +
+); diff --git a/nym-wallet/src/components/Fee.tsx b/nym-wallet/src/components/Fee.tsx index b532cdc80f..ef6e743df7 100644 --- a/nym-wallet/src/components/Fee.tsx +++ b/nym-wallet/src/components/Fee.tsx @@ -1,29 +1,29 @@ -import React, { useState, useEffect, useContext } from 'react' -import { Typography } from '@mui/material' -import { Operation } from '../types' -import { getGasFee } from '../requests' -import { ClientContext } from '../context/main' +import React, { useState, useEffect, useContext } from 'react'; +import { Typography } from '@mui/material'; +import { Operation } from '../types'; +import { getGasFee } from '../requests'; +import { ClientContext } from '../context/main'; export const Fee = ({ feeType }: { feeType: Operation }) => { - const [fee, setFee] = useState() - const {currency} = useContext(ClientContext) + const [fee, setFee] = useState(); + const { currency } = useContext(ClientContext); const getFee = async () => { - const fee = await getGasFee(feeType) - setFee(fee.amount) - } + const res = await getGasFee(feeType); + setFee(res.amount); + }; useEffect(() => { - getFee() - }, []) + getFee(); + }, []); if (fee) { return ( Fee for this transaction: {`${fee} ${currency?.major}`}{' '} - ) + ); } - return null -} + return null; +}; diff --git a/nym-wallet/src/components/InfoToolTip.tsx b/nym-wallet/src/components/InfoToolTip.tsx index 4004027485..43bacff3bc 100644 --- a/nym-wallet/src/components/InfoToolTip.tsx +++ b/nym-wallet/src/components/InfoToolTip.tsx @@ -1,6 +1,6 @@ -import React from 'react' -import { InfoOutlined } from '@mui/icons-material' -import { Tooltip, TooltipProps } from '@mui/material' +import React from 'react'; +import { InfoOutlined } from '@mui/icons-material'; +import { Tooltip, TooltipProps } from '@mui/material'; export const InfoTooltip = ({ title, @@ -8,12 +8,12 @@ export const InfoTooltip = ({ light, size = 'small', }: { - title: string - tooltipPlacement?: TooltipProps['placement'] - light?: boolean - size?: 'small' | 'medium' | 'large' + title: string; + tooltipPlacement?: TooltipProps['placement']; + light?: boolean; + size?: 'small' | 'medium' | 'large'; }) => ( -) +); diff --git a/nym-wallet/src/components/Nav.tsx b/nym-wallet/src/components/Nav.tsx index d056cc637c..50d2b3e0b4 100644 --- a/nym-wallet/src/components/Nav.tsx +++ b/nym-wallet/src/components/Nav.tsx @@ -1,11 +1,11 @@ -import React, { useContext, useEffect } from 'react' -import { Link, useLocation } from 'react-router-dom' -import { List, ListItem, ListItemIcon, ListItemText } from '@mui/material' -import { AccountBalanceWalletOutlined, ArrowBack, ArrowForward, Description, Settings } from '@mui/icons-material' -import { ADMIN_ADDRESS, ClientContext } from '../context/main' -import { Bond, Delegate, Unbond, Undelegate } from '../svg-icons' +import React, { useContext, useEffect } from 'react'; +import { Link, useLocation } from 'react-router-dom'; +import { List, ListItem, ListItemIcon, ListItemText } from '@mui/material'; +import { AccountBalanceWalletOutlined, ArrowBack, ArrowForward, Description, Settings } from '@mui/icons-material'; +import { ADMIN_ADDRESS, ClientContext } from '../context/main'; +import { Bond, Delegate, Unbond, Undelegate } from '../svg-icons'; -let routesSchema = [ +const routesSchema = [ { label: 'Balance', route: '/balance', @@ -41,11 +41,11 @@ let routesSchema = [ route: '/undelegate', Icon: Undelegate, }, -] +]; export const Nav = () => { - const { clientDetails, handleShowAdmin } = useContext(ClientContext) - const location = useLocation() + const { clientDetails, handleShowAdmin } = useContext(ClientContext); + const location = useLocation(); useEffect(() => { if (clientDetails?.client_address === ADMIN_ADDRESS) { @@ -53,9 +53,9 @@ export const Nav = () => { label: 'Docs', route: '/docs', Icon: Description, - }) + }); } - }, []) + }, []); return (
{ }} > - {routesSchema.map(({ Icon, route, label }, i) => ( - + {routesSchema.map(({ Icon, route, label }) => ( + { )}
- ) -} + ); +}; diff --git a/nym-wallet/src/components/NetworkSelector.tsx b/nym-wallet/src/components/NetworkSelector.tsx index 5c7df70a1b..2f72c47fbd 100644 --- a/nym-wallet/src/components/NetworkSelector.tsx +++ b/nym-wallet/src/components/NetworkSelector.tsx @@ -1,27 +1,38 @@ -import React, { useState, useContext } from 'react' -import { Button, List, ListItem, ListItemIcon, ListItemText, ListSubheader, Popover } from '@mui/material' -import { ArrowDropDown, CheckSharp } from '@mui/icons-material' -import { ClientContext, IS_DEV_MODE } from '../context/main' -import { Network } from 'src/types' +import React, { useState, useContext } from 'react'; +import { Button, List, ListItem, ListItemIcon, ListItemText, ListSubheader, Popover } from '@mui/material'; +import { ArrowDropDown, CheckSharp } from '@mui/icons-material'; +import { ClientContext, IS_DEV_MODE } from '../context/main'; +import { Network } from '../types'; const networks: { networkName: Network; name: string }[] = [ { networkName: 'MAINNET', name: 'Nym Mainnet' }, { networkName: 'SANDBOX', name: 'Testnet Sandbox' }, { networkName: 'QA', name: 'QA' }, -] +]; + +const NetworkItem: React.FC<{ title: string; isSelected: boolean; onSelect: () => void }> = ({ + title, + isSelected, + onSelect, +}) => ( + + {isSelected && } + {title} + +); export const NetworkSelector = () => { - const { network, switchNetwork } = useContext(ClientContext) + const { network, switchNetwork } = useContext(ClientContext); - const [anchorEl, setAnchorEl] = useState(null) + const [anchorEl, setAnchorEl] = useState(null); const handleClick = (event: React.MouseEvent) => { - setAnchorEl(event.currentTarget) - } + setAnchorEl(event.currentTarget); + }; const handleClose = () => { - setAnchorEl(null) - } + setAnchorEl(null); + }; return ( <> @@ -47,31 +58,20 @@ export const NetworkSelector = () => { Network selection {networks - .filter((network) => !(!IS_DEV_MODE && network.networkName === 'QA')) + .filter(({ networkName }) => !(!IS_DEV_MODE && networkName === 'QA')) .map(({ name, networkName }) => ( { - handleClose() - switchNetwork(networkName) + handleClose(); + switchNetwork(networkName); }} /> ))} - ) -} - -const NetworkItem: React.FC<{ title: string; isSelected: boolean; onSelect: () => void }> = ({ - title, - isSelected, - onSelect, -}) => ( - - {isSelected && } - {title} - -) + ); +}; diff --git a/nym-wallet/src/components/NoClientError.tsx b/nym-wallet/src/components/NoClientError.tsx index 305b91a579..7a9cf06558 100644 --- a/nym-wallet/src/components/NoClientError.tsx +++ b/nym-wallet/src/components/NoClientError.tsx @@ -1,13 +1,10 @@ -import React from 'react' -import { Link } from 'react-router-dom' -import { Alert, AlertTitle } from '@mui/material' +import React from 'react'; +import { Link } from 'react-router-dom'; +import { Alert, AlertTitle } from '@mui/material'; -export const NoClientError = () => { - return ( - - No client detected - Have you signed in? Try to go back to{' '} - the main page and try again - - ) -} +export const NoClientError = () => ( + + No client detected + Have you signed in? Try to go back to the main page and try again + +); diff --git a/nym-wallet/src/components/NodeStatus.tsx b/nym-wallet/src/components/NodeStatus.tsx index c91eddd09b..8b58492eab 100644 --- a/nym-wallet/src/components/NodeStatus.tsx +++ b/nym-wallet/src/components/NodeStatus.tsx @@ -1,36 +1,36 @@ -import React from 'react' -import { Typography } from '@mui/material' -import { CircleOutlined, PauseCircleOutlined, CheckCircleOutline } from '@mui/icons-material' -import { MixnodeStatus } from '../types' - -export const NodeStatus = ({ status }: { status: MixnodeStatus }) => { - switch (status) { - case 'active': - return - case 'inactive': - return - case 'standby': - return - default: - null - } - return null -} +import React from 'react'; +import { Typography } from '@mui/material'; +import { CircleOutlined, PauseCircleOutlined, CheckCircleOutline } from '@mui/icons-material'; +import { MixnodeStatus } from '../types'; const Active = () => ( Active -) +); const Inactive = () => ( Inactive -) +); const Standby = () => ( Standby -) +); + +export const NodeStatus = ({ status }: { status: MixnodeStatus }) => { + switch (status) { + case 'active': + return ; + case 'inactive': + return ; + case 'standby': + return ; + default: + return null; + } + return null; +}; diff --git a/nym-wallet/src/components/NodeTypeSelector.tsx b/nym-wallet/src/components/NodeTypeSelector.tsx index b86697c451..707b25b6e3 100644 --- a/nym-wallet/src/components/NodeTypeSelector.tsx +++ b/nym-wallet/src/components/NodeTypeSelector.tsx @@ -1,17 +1,17 @@ -import React from 'react' -import { FormControl, FormControlLabel, FormLabel, Radio, RadioGroup } from '@mui/material' -import { EnumNodeType } from '../types/global' +import React from 'react'; +import { FormControl, FormControlLabel, FormLabel, Radio, RadioGroup } from '@mui/material'; +import { EnumNodeType } from '../types/global'; export const NodeTypeSelector = ({ disabled, nodeType, setNodeType, }: { - disabled: boolean - nodeType: EnumNodeType - setNodeType: (nodeType: EnumNodeType) => void + disabled: boolean; + nodeType: EnumNodeType; + setNodeType: (nodeType: EnumNodeType) => void; }) => { - const handleNodeTypeChange = (e: React.ChangeEvent) => setNodeType(e.target.value as EnumNodeType) + const handleNodeTypeChange = (e: React.ChangeEvent) => setNodeType(e.target.value as EnumNodeType); return ( @@ -39,5 +39,5 @@ export const NodeTypeSelector = ({ /> - ) -} + ); +}; diff --git a/nym-wallet/src/components/NymCard.tsx b/nym-wallet/src/components/NymCard.tsx index d8f0c17503..0009573a3a 100644 --- a/nym-wallet/src/components/NymCard.tsx +++ b/nym-wallet/src/components/NymCard.tsx @@ -1,37 +1,35 @@ -import React from 'react' -import { Box, Card, CardContent, CardHeader } from '@mui/material' -import { styled } from '@mui/material/styles' -import { Title } from './Title' +import React from 'react'; +import { Box, Card, CardContent, CardHeader } from '@mui/material'; +import { styled } from '@mui/material/styles'; +import { Title } from './Title'; -export const NymCard: React.FC<{ - title: string | React.ReactElement - subheader?: string - Action?: React.ReactNode - Icon?: any - noPadding?: boolean -}> = ({ title, subheader, Action, Icon, noPadding, children }) => { - return ( - - } - subheader={subheader} - data-testid={title} - subheaderTypographyProps={{ variant: 'subtitle1' }} - action={{Action}} - /> - {noPadding ? ( - {children} - ) : ( - {children} - )} - - ) -} - -const CardContentNoPadding = styled(CardContent)(({ theme }) => ({ +const CardContentNoPadding = styled(CardContent)(() => ({ padding: 0, '&:last-child': { paddingBottom: 0, }, -})) +})); + +export const NymCard: React.FC<{ + title: string | React.ReactElement; + subheader?: string; + Action?: React.ReactNode; + Icon?: any; + noPadding?: boolean; +}> = ({ title, subheader, Action, Icon, noPadding, children }) => ( + + } + subheader={subheader} + data-testid={title} + subheaderTypographyProps={{ variant: 'subtitle1' }} + action={{Action}} + /> + {noPadding ? ( + {children} + ) : ( + {children} + )} + +); diff --git a/nym-wallet/src/components/NymLogo.tsx b/nym-wallet/src/components/NymLogo.tsx index af704dcc30..4d407642fe 100644 --- a/nym-wallet/src/components/NymLogo.tsx +++ b/nym-wallet/src/components/NymLogo.tsx @@ -1,10 +1,12 @@ -import React from 'react' -import Logo from '../images/logo-background.svg' +import React from 'react'; +import { NymLogo as NymLogoReact } from '@nymproject/react'; const imgSize = { - ['small']: 40, - ['medium']: 80, - ['large']: 120, -} + small: 40, + medium: 80, + large: 120, +}; -export const NymLogo = ({ size = 'medium' }: { size?: 'small' | 'medium' | 'large' }) => +export const NymLogo = ({ size = 'medium' }: { size?: 'small' | 'medium' | 'large' }) => ( + +); diff --git a/nym-wallet/src/components/RequestStatus.tsx b/nym-wallet/src/components/RequestStatus.tsx index 8f979552f7..4fe4e15132 100644 --- a/nym-wallet/src/components/RequestStatus.tsx +++ b/nym-wallet/src/components/RequestStatus.tsx @@ -1,5 +1,5 @@ -import React from 'react' -import { CircularProgress, Box } from '@mui/material' +import React from 'react'; +import { CircularProgress, Box } from '@mui/material'; export enum EnumRequestStatus { initial = 'initial', @@ -13,19 +13,17 @@ export const RequestStatus = ({ Success, Error, }: { - status: EnumRequestStatus - Success: React.ReactNode - Error: React.ReactNode -}) => { - return ( - - {status === EnumRequestStatus.loading && ( - - - - )} - {status === EnumRequestStatus.success && Success} - {status === EnumRequestStatus.error && Error} - - ) -} + status: EnumRequestStatus; + Success: React.ReactNode; + Error: React.ReactNode; +}) => ( + + {status === EnumRequestStatus.loading && ( + + + + )} + {status === EnumRequestStatus.success && Success} + {status === EnumRequestStatus.error && Error} + +); diff --git a/nym-wallet/src/components/SuccessResponse.tsx b/nym-wallet/src/components/SuccessResponse.tsx index c54a7e1036..c94ad1d4e7 100644 --- a/nym-wallet/src/components/SuccessResponse.tsx +++ b/nym-wallet/src/components/SuccessResponse.tsx @@ -1,18 +1,16 @@ -import React from 'react' -import { Stack, Typography } from '@mui/material' +import React from 'react'; +import { Stack, Typography } from '@mui/material'; export const SuccessReponse: React.FC<{ - title: string - subtitle: string | React.ReactNode - caption: string | React.ReactNode -}> = ({ title, subtitle, caption }) => { - return ( - - - {title} - - {subtitle} - {caption} - - ) -} + title: string; + subtitle: string | React.ReactNode; + caption: string | React.ReactNode; +}> = ({ title, subtitle, caption }) => ( + + + {title} + + {subtitle} + {caption} + +); diff --git a/nym-wallet/src/components/Title.tsx b/nym-wallet/src/components/Title.tsx index 42201b3266..ed041f824e 100644 --- a/nym-wallet/src/components/Title.tsx +++ b/nym-wallet/src/components/Title.tsx @@ -1,5 +1,5 @@ -import React from 'react' -import { Box, Typography } from '@mui/material' +import React from 'react'; +import { Box, Typography } from '@mui/material'; export const Title: React.FC<{ title: string | React.ReactNode; Icon: any }> = ({ title, Icon }) => ( @@ -8,4 +8,4 @@ export const Title: React.FC<{ title: string | React.ReactNode; Icon: any }> = ( {title} -) +); diff --git a/nym-wallet/src/components/TokenPoolSelector.tsx b/nym-wallet/src/components/TokenPoolSelector.tsx index 58c575c80e..e09c51c10d 100644 --- a/nym-wallet/src/components/TokenPoolSelector.tsx +++ b/nym-wallet/src/components/TokenPoolSelector.tsx @@ -1,31 +1,31 @@ -import React, { useContext, useEffect, useState } from 'react' -import { FormControl, InputLabel, ListItemText, MenuItem, Select, SelectChangeEvent } from '@mui/material' -import { ClientContext } from '../context/main' -import { useCheckOwnership } from '../hooks/useCheckOwnership' +import React, { useContext, useEffect, useState } from 'react'; +import { FormControl, InputLabel, ListItemText, MenuItem, Select, SelectChangeEvent } from '@mui/material'; +import { ClientContext } from '../context/main'; +import { useCheckOwnership } from '../hooks/useCheckOwnership'; -type TPoolOption = 'balance' | 'locked' +type TPoolOption = 'balance' | 'locked'; export const TokenPoolSelector: React.FC<{ onSelect: (pool: TPoolOption) => void }> = ({ onSelect }) => { - const [value, setValue] = useState('balance') + const [value, setValue] = useState('balance'); const { userBalance: { tokenAllocation, balance, fetchBalance, fetchTokenAllocation }, currency, - } = useContext(ClientContext) + } = useContext(ClientContext); - const { ownership } = useCheckOwnership() + const { ownership } = useCheckOwnership(); useEffect(() => { - ;(async () => { - await fetchBalance() - await fetchTokenAllocation() - })() - }, []) + (async () => { + await fetchBalance(); + await fetchTokenAllocation(); + })(); + }, []); useEffect(() => { - onSelect(value) - }, [value]) + onSelect(value); + }, [value]); - const handleChange = (e: SelectChangeEvent) => setValue(e.target.value as TPoolOption) + const handleChange = (e: SelectChangeEvent) => setValue(e.target.value as TPoolOption); return ( @@ -43,5 +43,5 @@ export const TokenPoolSelector: React.FC<{ onSelect: (pool: TPoolOption) => void - ) -} + ); +}; diff --git a/nym-wallet/src/components/TransactionDetails.tsx b/nym-wallet/src/components/TransactionDetails.tsx index 1b50cffed6..6efbe2747d 100644 --- a/nym-wallet/src/components/TransactionDetails.tsx +++ b/nym-wallet/src/components/TransactionDetails.tsx @@ -1,23 +1,19 @@ -import React from 'react' -import { Card, Grid, Typography } from '@mui/material' +import React from 'react'; +import { Card, Grid, Typography } from '@mui/material'; -export type TTransactionDetails = Array<{ primary: string; secondary: string }> +export type TTransactionDetails = Array<{ primary: string; secondary: string }>; -export const TransactionDetails: React.FC<{ details: TTransactionDetails }> = ({ details }) => { - return ( - - {details.map(({ primary, secondary }, i) => { - return ( - - - theme.palette.grey[600] }}>{primary} - - - {secondary} - - - ) - })} - - ) -} +export const TransactionDetails: React.FC<{ details: TTransactionDetails }> = ({ details }) => ( + + {details.map(({ primary, secondary }, i) => ( + + + theme.palette.grey[600] }}>{primary} + + + {secondary} + + + ))} + +); diff --git a/nym-wallet/src/components/index.ts b/nym-wallet/src/components/index.ts index e2f4d2138e..a6d1406143 100644 --- a/nym-wallet/src/components/index.ts +++ b/nym-wallet/src/components/index.ts @@ -1,18 +1,18 @@ -export * from './Error' -export * from './CopyToClipboard' -export * from './NymCard' -export * from './Nav' -export * from './NodeTypeSelector' -export * from './RequestStatus' -export * from './NoClientError' -export * from './SuccessResponse' -export * from './TransactionDetails' -export * from './NymLogo' -export * from './Fee' -export * from './AppBar' -export * from './NetworkSelector' -export * from './ClientAddress' -export * from './InfoToolTip' -export * from './Nav' -export * from './Title' -export * from './TokenPoolSelector' +export * from './Error'; +export * from './CopyToClipboard'; +export * from './NymCard'; +export * from './Nav'; +export * from './NodeTypeSelector'; +export * from './RequestStatus'; +export * from './NoClientError'; +export * from './SuccessResponse'; +export * from './TransactionDetails'; +export * from './NymLogo'; +export * from './Fee'; +export * from './AppBar'; +export * from './NetworkSelector'; +export * from './ClientAddress'; +export * from './InfoToolTip'; +export * from './Nav'; +export * from './Title'; +export * from './TokenPoolSelector'; diff --git a/nym-wallet/src/context/main.tsx b/nym-wallet/src/context/main.tsx index 64176a1b5a..8f022fdd44 100644 --- a/nym-wallet/src/context/main.tsx +++ b/nym-wallet/src/context/main.tsx @@ -1,147 +1,145 @@ -import React, { createContext, useEffect, useState } from 'react' -import { Account, Network, TCurrency, TMixnodeBondDetails } from '../types' -import { TUseuserBalance, useGetBalance } from '../hooks/useGetBalance' -import { config } from '../../config' -import { getMixnodeBondDetails, selectNetwork, signInWithMnemonic, signOut } from '../requests' -import { currencyMap } from '../utils' -import { useHistory } from 'react-router-dom' -import { useSnackbar } from 'notistack' +import React, { createContext, useEffect, useState } from 'react'; +import { Account, Network, TCurrency, TMixnodeBondDetails } from '../types'; +import { TUseuserBalance, useGetBalance } from '../hooks/useGetBalance'; +import { config } from '../../config'; +import { getMixnodeBondDetails, selectNetwork, signInWithMnemonic, signOut } from '../requests'; +import { currencyMap } from '../utils'; +import { useHistory } from 'react-router-dom'; +import { useSnackbar } from 'notistack'; +import { useMemo } from 'react'; -export const { ADMIN_ADDRESS, IS_DEV_MODE } = config +export const { ADMIN_ADDRESS, IS_DEV_MODE } = config; -export const urls = (network?: Network) => - network === 'MAINNET' +export const urls = (networkName?: Network) => + networkName === 'MAINNET' ? { blockExplorer: 'https://blocks.nymtech.net', networkExplorer: 'https://explorer.nymtech.net', } : { - blockExplorer: `https://${network}-blocks.nymtech.net`, - networkExplorer: `https://${network}-explorer.nymtech.net`, - } + blockExplorer: `https://${networkName}-blocks.nymtech.net`, + networkExplorer: `https://${networkName}-explorer.nymtech.net`, + }; type TClientContext = { - mode: 'light' | 'dark' - clientDetails?: Account - mixnodeDetails?: TMixnodeBondDetails | null - userBalance: TUseuserBalance - showAdmin: boolean - showSettings: boolean - network?: Network - currency?: TCurrency - isLoading: boolean - error?: string - switchNetwork: (network: Network) => void - getBondDetails: () => Promise - handleShowSettings: () => void - handleShowAdmin: () => void - logIn: (mnemonic: string) => void - logOut: () => void -} + mode: 'light' | 'dark'; + clientDetails?: Account; + mixnodeDetails?: TMixnodeBondDetails | null; + userBalance: TUseuserBalance; + showAdmin: boolean; + showSettings: boolean; + network?: Network; + currency?: TCurrency; + isLoading: boolean; + error?: string; + switchNetwork: (network: Network) => void; + getBondDetails: () => Promise; + handleShowSettings: () => void; + handleShowAdmin: () => void; + logIn: (mnemonic: string) => void; + logOut: () => void; +}; -export const ClientContext = createContext({} as TClientContext) +export const ClientContext = createContext({} as TClientContext); export const ClientContextProvider = ({ children }: { children: React.ReactNode }) => { - const [clientDetails, setClientDetails] = useState() - const [mixnodeDetails, setMixnodeDetails] = useState() - const [network, setNetwork] = useState() - const [currency, setCurrency] = useState() - const [showAdmin, setShowAdmin] = useState(false) - const [showSettings, setShowSettings] = useState(false) - const [mode, setMode] = useState<'light' | 'dark'>('light') - const [isLoading, setIsLoading] = useState(false) - const [error, setError] = useState() + const [clientDetails, setClientDetails] = useState(); + const [mixnodeDetails, setMixnodeDetails] = useState(); + const [network, setNetwork] = useState(); + const [currency, setCurrency] = useState(); + const [showAdmin, setShowAdmin] = useState(false); + const [showSettings, setShowSettings] = useState(false); + const [mode] = useState<'light' | 'dark'>('light'); + const [isLoading, setIsLoading] = useState(false); + const [error, setError] = useState(); - const userBalance = useGetBalance(clientDetails?.client_address) - const history = useHistory() - const { enqueueSnackbar } = useSnackbar() + const userBalance = useGetBalance(clientDetails?.client_address); + const history = useHistory(); + const { enqueueSnackbar } = useSnackbar(); + + const loadAccount = async (n: Network) => { + try { + const client = await selectNetwork(n); + setClientDetails(client); + } catch (e) { + enqueueSnackbar('Error loading account', { variant: 'error' }); + console.error(e); + } finally { + setCurrency(currencyMap(n)); + } + }; + + const getBondDetails = async () => { + setMixnodeDetails(undefined); + try { + const mixnode = await getMixnodeBondDetails(); + setMixnodeDetails(mixnode); + } catch (e) { + console.log(e); + } + }; useEffect(() => { const refreshAccount = async () => { if (network) { - await loadAccount(network) - await getBondDetails() - await userBalance.fetchBalance() + await loadAccount(network); + await getBondDetails(); + await userBalance.fetchBalance(); } - } - refreshAccount() - }, [network]) + }; + refreshAccount(); + }, [network]); const logIn = async (mnemonic: string) => { try { - setIsLoading(true) - await signInWithMnemonic(mnemonic || '') - await getBondDetails() - setNetwork('MAINNET') + setIsLoading(true); + await signInWithMnemonic(mnemonic || ''); + await getBondDetails(); + setNetwork('MAINNET'); } catch (e) { - setIsLoading(false) - setError(e as string) + setIsLoading(false); + setError(e as string); } finally { - history.push('/balance') + history.push('/balance'); } - } - - const getBondDetails = async () => { - setMixnodeDetails(undefined) - try { - const mixnodeDetails = await getMixnodeBondDetails() - setMixnodeDetails(mixnodeDetails) - } catch (e) { - console.log(`Error fetching bond details ${e}`) - } - } - - const loadAccount = async (network: Network) => { - try { - const clientDetails = await selectNetwork(network) - setClientDetails(clientDetails) - } catch (e) { - enqueueSnackbar('Error loading account', { variant: 'error' }) - console.log(`Load account error ${e}`) - } finally { - setCurrency(currencyMap(network)) - } - } + }; const logOut = async () => { - userBalance.clearAll() - setClientDetails(undefined) - setNetwork(undefined) - setError(undefined) - setIsLoading(false) - setMixnodeDetails(undefined) - await signOut() - enqueueSnackbar('Successfully logged out', { variant: 'success' }) - } + userBalance.clearAll(); + setClientDetails(undefined); + setNetwork(undefined); + setError(undefined); + setIsLoading(false); + setMixnodeDetails(undefined); + await signOut(); + enqueueSnackbar('Successfully logged out', { variant: 'success' }); + }; - const handleShowAdmin = () => setShowAdmin((show) => !show) + const handleShowAdmin = () => setShowAdmin((show) => !show); + const handleShowSettings = () => setShowSettings((show) => !show); + const switchNetwork = (_network: Network) => setNetwork(_network); - const handleShowSettings = () => setShowSettings((show) => !show) + const memoizedValue = useMemo( + () => ({ + mode, + isLoading, + error, + clientDetails, + mixnodeDetails, + userBalance, + showAdmin, + showSettings, + network, + currency, + switchNetwork, + getBondDetails, + handleShowSettings, + handleShowAdmin, + logIn, + logOut, + }), + [mode, isLoading, error, clientDetails, mixnodeDetails, userBalance, showAdmin, showSettings, network, currency], + ); - const switchNetwork = (network: Network) => setNetwork(network) - - return ( - - {children} - - ) -} + return {children}; +}; diff --git a/nym-wallet/src/hooks/useCheckOwnership.ts b/nym-wallet/src/hooks/useCheckOwnership.ts index a07f557d17..bbbafa345a 100644 --- a/nym-wallet/src/hooks/useCheckOwnership.ts +++ b/nym-wallet/src/hooks/useCheckOwnership.ts @@ -1,56 +1,56 @@ -import { useCallback, useContext, useEffect, useState } from 'react' -import { ClientContext } from '../context/main' -import { checkGatewayOwnership, checkMixnodeOwnership, getVestingPledgeInfo } from '../requests' -import { EnumNodeType, TNodeOwnership, PledgeData } from '../types' +import { useCallback, useContext, useEffect, useState } from 'react'; +import { ClientContext } from '../context/main'; +import { checkGatewayOwnership, checkMixnodeOwnership, getVestingPledgeInfo } from '../requests'; +import { EnumNodeType, TNodeOwnership, PledgeData } from '../types'; const initial = { hasOwnership: false, nodeType: undefined, vestingPledge: undefined, -} +}; export const useCheckOwnership = () => { - const { clientDetails } = useContext(ClientContext) + const { clientDetails } = useContext(ClientContext); - const [ownership, setOwnership] = useState(initial) - const [isLoading, setIsLoading] = useState(true) - const [error, setError] = useState() + const [ownership, setOwnership] = useState(initial); + const [isLoading, setIsLoading] = useState(true); + const [error, setError] = useState(); const checkOwnership = useCallback(async () => { - const status = {} as TNodeOwnership + const status = {} as TNodeOwnership; try { - const [ownsMixnode, ownsGateway] = await Promise.all([checkMixnodeOwnership(), checkGatewayOwnership()]) + const [ownsMixnode, ownsGateway] = await Promise.all([checkMixnodeOwnership(), checkGatewayOwnership()]); if (ownsMixnode) { - status.hasOwnership = true - status.nodeType = EnumNodeType.mixnode + status.hasOwnership = true; + status.nodeType = EnumNodeType.mixnode; status.vestingPledge = await getVestingPledgeInfo({ address: clientDetails?.client_address!, type: EnumNodeType.mixnode, - }) + }); } if (ownsGateway) { - status.hasOwnership = true - status.nodeType = EnumNodeType.gateway + status.hasOwnership = true; + status.nodeType = EnumNodeType.gateway; status.vestingPledge = await getVestingPledgeInfo({ address: clientDetails?.client_address!, type: EnumNodeType.gateway, - }) + }); } - setOwnership(status) + setOwnership(status); } catch (e) { - setError(e as string) - setOwnership(initial) + setError(e as string); + setOwnership(initial); } finally { - setIsLoading(false) + setIsLoading(false); } - }, [clientDetails]) + }, [clientDetails]); useEffect(() => { - checkOwnership() - }, [clientDetails]) + checkOwnership(); + }, [clientDetails]); - return { isLoading, error, ownership, checkOwnership } -} + return { isLoading, error, ownership, checkOwnership }; +}; diff --git a/nym-wallet/src/hooks/useGetBalance.ts b/nym-wallet/src/hooks/useGetBalance.ts index 63c7e7e906..e7c7409207 100644 --- a/nym-wallet/src/hooks/useGetBalance.ts +++ b/nym-wallet/src/hooks/useGetBalance.ts @@ -1,6 +1,7 @@ -import { useCallback, useEffect, useState } from 'react' -import { invoke } from '@tauri-apps/api' -import { Balance, Coin, OriginalVestingResponse, Period } from '../types' +import { useCallback, useEffect, useState } from 'react'; +import { invoke } from '@tauri-apps/api'; +import { VestingAccountInfo } from 'src/types/rust/vestingaccountinfo'; +import { Balance, Coin, OriginalVestingResponse, Period } from '../types'; import { getVestingCoins, getVestedCoins, @@ -9,53 +10,41 @@ import { getOriginalVesting, getCurrentVestingPeriod, getVestingAccountInfo, -} from '../requests' -import { VestingAccountInfo } from 'src/types/rust/vestingaccountinfo' +} from '../requests'; type TTokenAllocation = { - [key in 'vesting' | 'vested' | 'locked' | 'spendable']: Coin['amount'] -} + [key in 'vesting' | 'vested' | 'locked' | 'spendable']: Coin['amount']; +}; export type TUseuserBalance = { - error?: string - balance?: Balance - tokenAllocation?: TTokenAllocation - originalVesting?: OriginalVestingResponse - currentVestingPeriod?: Period - vestingAccountInfo?: VestingAccountInfo - isLoading: boolean - fetchBalance: () => void - clearBalance: () => void - clearAll: () => void - fetchTokenAllocation: () => void -} + error?: string; + balance?: Balance; + tokenAllocation?: TTokenAllocation; + originalVesting?: OriginalVestingResponse; + currentVestingPeriod?: Period; + vestingAccountInfo?: VestingAccountInfo; + isLoading: boolean; + fetchBalance: () => void; + clearBalance: () => void; + clearAll: () => void; + fetchTokenAllocation: () => void; +}; export const useGetBalance = (address?: string): TUseuserBalance => { - const [balance, setBalance] = useState() - const [error, setError] = useState() - const [tokenAllocation, setTokenAllocation] = useState() - const [originalVesting, setOriginalVesting] = useState() - const [currentVestingPeriod, setCurrentVestingPeriod] = useState() - const [vestingAccountInfo, setVestingAccountInfo] = useState() - const [isLoading, setIsLoading] = useState(false) + const [balance, setBalance] = useState(); + const [error, setError] = useState(); + const [tokenAllocation, setTokenAllocation] = useState(); + const [originalVesting, setOriginalVesting] = useState(); + const [currentVestingPeriod, setCurrentVestingPeriod] = useState(); + const [vestingAccountInfo, setVestingAccountInfo] = useState(); + const [isLoading, setIsLoading] = useState(false); - const fetchBalance = useCallback(async () => { - setIsLoading(true) - setError(undefined) - try { - const balance = await invoke('get_balance') - setBalance(balance as Balance) - } catch (error) { - setError(error as string) - } finally { - setTimeout(() => { - setIsLoading(false) - }, 1000) - } - }, []) + const clearBalance = () => setBalance(undefined); + const clearTokenAllocation = () => setTokenAllocation(undefined); + const clearOriginalVesting = () => setOriginalVesting(undefined); const fetchTokenAllocation = async () => { - setIsLoading(true) + setIsLoading(true); if (address) { try { const [ @@ -64,8 +53,8 @@ export const useGetBalance = (address?: string): TUseuserBalance => { vestedCoins, lockedCoins, spendableCoins, - currentVestingPeriod, - vestingAccountInfo, + currentVestingPer, + vestingAccountDetail, ] = await Promise.all([ getOriginalVesting(address), getVestingCoins(address), @@ -74,49 +63,58 @@ export const useGetBalance = (address?: string): TUseuserBalance => { getSpendableCoins(address), getCurrentVestingPeriod(address), getVestingAccountInfo(address), - ]) - setOriginalVesting(originalVestingValue) - setCurrentVestingPeriod(currentVestingPeriod) + ]); + setOriginalVesting(originalVestingValue); + setCurrentVestingPeriod(currentVestingPer); setTokenAllocation({ vesting: vestingCoins.amount, vested: vestedCoins.amount, locked: lockedCoins.amount, spendable: spendableCoins.amount, - }) - setVestingAccountInfo(vestingAccountInfo) + }); + setVestingAccountInfo(vestingAccountDetail); } catch (e) { - clearTokenAllocation() - clearOriginalVesting() - console.error(e) + clearTokenAllocation(); + clearOriginalVesting(); + console.error(e); } } - setIsLoading(false) - } + setIsLoading(false); + }; - const clearBalance = () => setBalance(undefined) - const clearTokenAllocation = () => setTokenAllocation(undefined) - const clearOriginalVesting = () => setOriginalVesting(undefined) - const clearVestingAccountInfo = () => setVestingAccountInfo(undefined) + const fetchBalance = useCallback(async () => { + setIsLoading(true); + setError(undefined); + try { + const bal = await invoke('get_balance'); + setBalance(bal as Balance); + } catch (err) { + setError(err as string); + } finally { + setTimeout(() => { + setIsLoading(false); + }, 1000); + } + }, []); const clearAll = () => { - clearBalance() - clearTokenAllocation() - clearOriginalVesting() - clearVestingAccountInfo() - } + clearBalance(); + clearTokenAllocation(); + clearOriginalVesting(); + }; + + const handleRefresh = (addr?: string) => { + if (addr) { + fetchBalance(); + fetchTokenAllocation(); + } else { + clearAll(); + } + }; useEffect(() => { - handleRefresh(address) - }, [address]) - - const handleRefresh = (address?: string) => { - if (address) { - fetchBalance() - fetchTokenAllocation() - } else { - clearAll() - } - } + handleRefresh(address); + }, [address]); return { error, @@ -130,5 +128,5 @@ export const useGetBalance = (address?: string): TUseuserBalance => { clearBalance, clearAll, fetchTokenAllocation, - } -} + }; +}; diff --git a/nym-wallet/src/images/delegate.svg b/nym-wallet/src/images/delegate.svg deleted file mode 100644 index 9c11ad8d12..0000000000 --- a/nym-wallet/src/images/delegate.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/nym-wallet/src/images/logo-background.svg b/nym-wallet/src/images/logo-background.svg deleted file mode 100644 index 4a77afbf48..0000000000 --- a/nym-wallet/src/images/logo-background.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/nym-wallet/src/images/logo.png b/nym-wallet/src/images/logo.png deleted file mode 100644 index a1625dc8ec2af6a66d532e4641e74449d132c486..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356966 zcmbqc30PCtw&vDaT2ZJYC{yc%76fFLDGn$qD9(t;pa`gl0hz-PtW{K|DheW!2q>ti zpvX)}lnO;|N7V3JMq%4ou+eU zEtw@ICN^i=R+BwqVhbg~zfwQ{1pXJ}y(_MP|MQF6Rx1xNF^PH5zyEvF9K;b5`%P?{ z$%cKtw|d^~-Xq6K7=B+d>mSM6{XhI8`H$pLDXU;Li=)=j8CU7-Cvo#xqL^<*x* zZvOr$wGK4$NWM>v=j0*YXe9gerN-zDLXa-1mKa+`@Y@(zR7DntZx}o5^N$;?Lg20F_m!{Wd}bu^D?9`3 zJ-G}<5wWnKi)biXjq_^4v3$H;e`Y%1QG_8PVQpl_V##JJLFm9z`GLvOMd}Z?n2=G- z+=Sht&-YFIJn;s<^W$;3vBUbdW{yLn%@@|wU%4G8FZ**%QG$`YE3mKGF1dSClCul8 zkj?4pPg5f+_Jxalq`v>cCJ`XA>cxxK$M6HSf`Zg%7x9+QQfjpE`! zT@`)F2-SE+-cWmuI8PP%u-N=#Sci=Of<K5?2sAFDrM6vfB_>lxD{sj{8)&_wjWJTl66!V+ylZUF zE6?9uNpPR->5G1dnIXy5Xe+l2@aJNWI)z!yFqg+%At+Er`X!M7R!oAj5dLTvfgmwqK4*H z4qd4{cSL45iq$iaDqKO3v>;$9Nsm^N%Z|t_N?lu(8Ce7t!*Pf0#1RYYRmLq04%g&& z9HTe>MtgH|6|>=(n=yzf3E@=5`y*j8?v_);pkWOaqpW~%qhCv zt%%>*fiViIK@tlW0kcWGq1u5>iFK$Yi$r!M7mue^f2)p@3^Uu8^FUyNC>H>4cnoT( zh}>#^VH~-wwy%ln)+z9t+rs64;;vC3o)nOS2>tqvjW|QJ+#(}RQ(49@hh-5Lq&rSv z2mCQ!dFgZY+2SteZl^|)y;ts@#s|GSacL-Z6^!v&ml?<^I$;w|a;}4NOU_PqrqPm; zjjX#)<|@umASPI0hBJ#PQdc<*pb|&Q6ghBW`gqqvp

f&Sge|g=d@YG`=vyWe;Fn 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%0Ac5SfSh zS)8P*R@oJA@6&E4zWhT#mRMd*Jy=Cz zVhbE@1|L!U+Ri=jz5eQ=7ifEBkAC*DCgNv#=^i3ssVe86mGJT22A|G)0Yd%wMRV;q zoG%;$E{8>W1?;kcmxmPjv0edgyDoa2!`%CXGJNjUz#?Br(k>~qETBUACWG`}2l|~` zIG3cqOKP?}uvt32QFX7Vprw}E={Jb9PazV}?vj3Vi1#PzAf)`0hk6VX7jxmx2*(Lni+}2}ZGmaS`;6CwqsxPyt7{`2GtIQ1&tmB@xS1!9SbeIi0Vsi`Jc87%K zhsrE!n`n$fE=PR!@OR#f6rv_;nf8`uOa8PK7hkfu6E>B@UC5YBdX^f-%fCT8Xn3C#oLxk&ul+|}*4R0O&WTtt(mIl%k#6T7}Ty?=5*NG5m& z35>iDeEb@mdVqUdovhqfdY*~5SOefRwZMtL*t*ETW|8s!G6Pr(lv2tg|zV1Nmlc|#@NX|*s$|0cxh3$UDIrO z#S6Wv0796t=Zx$_p=pXq%LC81%?iY#s9h+j8nexufKMnOwco%sKposEUyG$hBnOA5uxP*2*ca13Ex~AA+INtp9EnXk+Kc<$>wOE>w{_7KQ*ho?zk;Z$6#*| z;EJXbd>1Nizin0_7S%(grb3Wf1yil9^{}36MrIVY;T&n%W+L2ON4}HvWZr(z5te?I z&Yz%@qMCsdY^sD*DcT)lpOK@y5(iG%#YQVA1o3j>wxe>pvnDG`g}PRgi<6iYc>HX? zj_M2l$5rbdvfCAx824q%;oJPLg#q z(pcDV%6PN|q^-vDdWasv!j>fxTlj_!ZX|!-HHEr*eUAT9LCQq5HS#7aNmn7rmlMZ_ zVn#X8JvG_06%4hgmX&%meZv+s1;*Sp=Y^r_@`~-;Q`qWY8;LDU{o+Q_@6g-_AI)7c z%{91zEFHAwLR0bJo^7)haX&js6u3q}3D$Eboh>9LnkzHZQ?M3I$ORtj~q zfD>+w5anHiioN$P)@y&l&)cD9`+;lX1KBbim)%#JIQJz~Ry&<$!&CUv7(O9NpI6J> zbK@<>`z@g1v4y77c6hL@X6g^Z8d}*Vt$%MP^_QI)T!N5Gg!-7$U|*MoAgA*PCA|u- zBT(+0R*CDl>6c;ppUa-KKkJ7TspBMa|qXHRhfe8 z?{0@K@|5C0^?4Xo2pB_@8k5~^UM!D6==r#Pp%K|8kZ6Fbs`lAYdn9{fQwiCZ)NWCF zYQ~K0729fW7Pdb8FZqv!)+B^jN9oX0ye{9ref4sX0U$)E zyIE_Vbe3FpzA%K9FaH=gl2@Kbd?6PwvZJwb1!v+HzltiIj-7PoOO|+OnPtC0)5eI` zs+{8fF>|Q7ju8351v32jFw{6J=xWbH_7M=WqP%gxai{4OdAnH7{R%bx%kceyQUOSM zf0A3tf`ZD*wu;p+=1mlU8ms2^Thk^}7-31uKrGRw3yyH+hHL zD$jnpu6oMLsQ5Bp_}~^~zA1GA@w=|->L31Juo9<%wh7VdKV_{!!j?`3C}7;-$|Ul8 z35 z`+$7OjT(c7^$Fed90}T%6R;CB zNIy~xqz!B$Y(>zU$@E)qU7@SiGrv6vORnu{f^+Y>I~59PLPVVyz7oZ1OqEmq&tZl| zA234ZhDFUVKyb-&S+2@ITrP~HAQS`^1kN)Cs!U4$fsa;FfY2@Kxwg4 z)MIVndJ0-Occ0LL4r|v+hJ#3J#O__%jGNktl>19t=^K$CLtV-xZeSKSo|+mR2pAGoEh~rOdos z1=Kf~$E}_y)tu>H_+~bVgz59qkp!O4x^q9}be{3F6*r#x5LS5YXxZYuGcV!*8tqyq(VJ?b)>DJ)0^ zfTRyPMv>UA8J=^Ypo6AZ%&Y=2)_iUu1%2G)(D3lQE%C_7f0|E1W5yWaBeTu*2|s97rXKxZai17*ZGCT8-h9Rp z>1$>Mp(s35uLZb-A|K7VFL6~qH| z^5~(aY2QF&467m@>D&nu4g2lleD75)%)9gF0| zR=n{K=ZEPRUW)7~CoxVVB^^Vj$zsw?oYDn~`ualqqk}i07)+?*z=UzfVYO z?HY=%u&X9oh8IHNR;FFDakfV$pQfq~9l(~e1iFQ37+)S`sMutjwuMvxB*c1WP4%>; zk4rj!Iggz^(}fnJ?bSmHifKA;cuc9`#UGt1>Q{(s$IIRMzwL3`K!0xus@+rlcQ5Mf{djo^$<-9O!2LMs$PUNpXm3MPd{<|!Swl$jtBh3KfIK# zO*hGj{H0$45r?dTB+aY|!n{mbpVTGh$bEv+bo2j>0{=a!f*EniSc`l@Q2P zIj$V#IC67dIDAUkE7xh3TWD;z&R5Qkw<1hlwGAHkTm_0+X|M$V{EJo9epI}CeRiNe zA;VfFgwu%o2T|xvmnqSIG&@ISR8+)2u7iSRU^b@#>f9LeX&<{D*&5)`?j#c$^E)pWcqwhUc0mjc-4bi7x&ht zEvF_4V>Xd~ZDB}Wds53xfv6mEZ;!#^Y=(59_hT zZ12lp*VP~HRr&kDHku8L3U@)0oCzi}dn8Ax-w(HOY}jU7TAPWN^Gfm0d$vu_h@ZeT zhr&s9-juVuy6W#80l&+Q)fNBe;5dE~Hu%b@;0YTzYi3?frKB0i$#-Bf@h$4YunW20 z4B8UGT<8z%)Z)Lm)tMv>(yZ6I>6?oqkCdbU1AMhKu)Yo_+g3$=((=d?mfBQ-w&%p& zaN~m21a=xbPd?D}U1F>6qU?s?D0`IrLu#8zCC$L4_@G0ig`UsBLFs27zjBA1y%9XC zd=iHc=5*3s1iumEPNwkjy{+k1R`>{$=M93z6d$5Ap6xuLh&>!q^!rDhn-|V@(G{co}xd=Fz)aQT*$_O#oY7MJ)z+U`46mReg|EOG8Onxt{dZ(~Ff)duC!! zKa+^H>^{9>`#i*}Sdb**$Ih_sb1omOXM;RCXnYrcE-qtUGm0R+pKClOEM`AQEnPz` zrf=n|d0;3Cl|K)Et;-qUZ_h8zlp={B={#H59V-1=a@(%j)Jzux%y%bX%4GBg^*z1( zdV2;1ui=BNXMp&ALM*U+c6atD!P#P!0Iz7yEPT>bz?MnjgXJK2=p@f3$e8rszB%+- zZ|QMI{|5V}$$zmohxYXcvYoUrbRn&V#(=4!xI-nQr=wVy#fJ}W*n(z$@~cnk(>}jV z#+LvVG-i_N!!W(KZ?uC#2|10{d90%yJLA6au}J2`aWhpSRWKJ>)Lgg}M<1MA6gFvt zFasYhTmN(h93lTOmj5B<+KD}AoJntx<^j7uoHjWuYxCFoQC!Uq@|QSN3vTk|6eEmOTv_#iFdQ zUtZ$B7??@c3-Dhz`Fgz#+nuq;4`_??T}t&*gjBG@3%KkFr(%{7hdjT{#xDTy-S(tAw7b;qZ%ni6$Ny>lC|K20h zFhDRHf}z#^iLVFDn1z|P*QTBaPoPCI36u8%HR>^nBhn?obEk6(UG{BgIT@Mc*Hb6G z`=ZL`PEl8V2$u^LtLKWSE7(T%-{$%GqnGl`UeNfpO&|^kq^QSIz$R-3x?z(({k{Zo zSLdns)@<%itKaMl^K`Q9nVM1))lDYgwF~tzp9fkTYo+$~_Wnqz!W%itSvuBvw9m62 znRx26Qh*i5zV1Glyj~pFD0a;+&D69(v&LiDr$mm;XcRk+E;lTjx$eMeO!|ot-Mn$} zh%zR)Oi@FPFdRF=e~M_~t|_%CIGtt8X^+hwe66 zNYDVs(%9TZz&wuvF;}b2oN?EA)e%u9H^ngq>Q;-t?58 zT%h{MYN5Pm$;xQ-(seA6eBTIAI!b2I0@(*nvoZ)J#uO|Go}3MMSh*%9J( z&dcja(_7+RD1GSip{}O;Nv_v-%uturZY+D@o0Xwo@2s*ktmkhni z2+GNe_322^AVE20akI@?#JzyjbbG<08$5PXJ?P!iFro?^2*6rgjv8d~e16g98oF;2Hrcy@oabB6)MXFlN7yHa*f1RSi9z?d@21M>-7?QntcM*e zz%|cxro2<1xzNs@{go1lv3)#vY&sp9E#ekvXBpIlQRq~|D{6yhN;b&<>%mT!) zwr|Njr(@s&$#{knX%$R^;?GvR>6zi8_%$e90BPH$|J(+WA{5!OpJ+wB=fWP64AjmN zB+rv|{kBfpKJjj&z8Go|5Q+k=R0|LTWsoYsXFAkuI|4i%A=p^C%qZw#kJtO&K4Guc z?U$EmvsYma!}FuyYc$`!*;+Duo1FJ9R*=uRStQ%&DZ7kFD4rjK|9tTTqHOf^t3$LY zT)yscN9VV0V6p}Z(3HY`$gH`6Y1e%{HBoyx8rZ;Q1AzJT2Bo}=rZw+RESl*N34H{j zg;3X=s-w24%g$j`^vJ~ajfYYMINv&I`|)4>R9|qe zJet(8cPnrQ+MIvW>#0&~#*)r!EQ9XQ9fHZf|KFwgf`RgoQ-beBT8 zd^aZv1bOQd{yIQ`%P|48?{5*)#;!6ts~&5VtR{pCgzP=Xov|UBND%litAmiDb#iX* z%F1-v@n5R^ssUW{@5!t(+Ux-5`14;FawtL9Dh1)=msW1x7lfp?WIGhAZJ=wPS$4Qr zgVh1y5>vgrFjA`@Ko~tA5T@hKYC-VL8$6T3NrKfh{oU#Yx>c&+6(w@^sn=g=93;g8 zcVT#ed)+!@i|RD>xYl!v8$_33q7Z+#qM?G6UxGHhODby;3dnsQnpk?XG6lkj@&JjRy?G?rx+GZ`MbpIk2 zB`UA*`1QHqa)Z>$4rBA4*eQc({5O<2sOi-7LP1!MtJsm z)maS}N||eJA>%6%`%HN`GGO5RaoU$H`KLCPI23el3Q(^6E(n|7&1y(dca9fFVcj$J zZBfW-IXx2~QR>QcrJtpk(NO5f3)>h-Q=8|8_d*fl+45Kfq*g|qbr^Oc_?~&R`tqoF zel#F#F@ya!k9=w&t}^b@hjuPnM%MdbwUs zdGQ-|KHYFQvpEm+U|tR#VJ~ZrFotkS9a_zvZCjL$hCD``m`>*WZjZ>)DVfy8^EjW{ z*-4z}3SV%LHCocsR>S_9<9*2SGNcQ3#V~3keGopZl7VUO6sbyv*3dfEAtLvzS%KF`uQpNk%FYN^j|$Un~RTBU{iHON_R4KK%6$^?m)vXd@h)2Xoy+T z$WKG*=*Pgin*Ot*U`P`y&Fp(iGfz_#Cl#_qdz$7$w=_%P(hDLmNSLOsL8 zX(Eaoe>|g&)pv`Bj|z#xyIVao-VO%S#!h>gU&p$NPD-c`gl_M;{*+?%KZPDA1#ngN z$~E4ZZH3?f)q#yilp%!RupM1$iD-^Q`WcONiI;@EHm@SdR9@Z<=en)E3UZVvtkbJW zL*b>XcEPM+d!MXzSli(Cd1ZA8s9!?FaRNn$KJ80xM7ZiNzr)>1Ss4M3&Hp9g|0Q z$Svr1rj3Bub8&+>w?SGMw)c-<+M#vOc}|nhYcm?@Gv%*pVK>OxB<92nX{!>Ab$T0V z0UZd&6a+J>99VgUx+`P6$pf3|BKYgy&5pFPtnQI)N>RWEYeFtrAN8(jE9^!K1Xx^v zQ~U-o9_n_)-gR%1@k1cPf^QJ1rSkkS*&C)a2Y%j8+rTaX5;QTEvQ#9pPVXTtfR}aSxluK{J0VAZJ7?-%HvnVB z4NTL$hk^;%Y0KZ8-k>{uI0-u~>52X4PBO4lYX$W_PtoQnVjW2JI|INYmJ80kGCgq_ z%_t|E)81gYEpU6pF7M@0rZXhtnqWG~Lt6{B!Wk3N&r;KUkF&eJfpfdFoSOW}y9`<= z963RgSsw}G)8+}hmAyUHwcXiIuV+N~jz*eHCa z=JH9a;<^CJuA5OH{21;rH&`iELJT75PV-pArXF~4P)gg|qRorMMKG<>8I9VB)8f4$ z>C0%kChz|05SEClm%X|Sp!&5ZTrIvqMr=!}10R_lb5p-e)>X^s_hJ4+)<#~HT3jcG zKFsOO<7rEz=>5A+F#-_!B}f|tEeI&r{0A|Wr=n7q3V7K{jB<<2jj$ejS_jW()Iq&m6%jfev4`g}1A=a*>j{y0nizf&pRF%Yk#0WQA6g9v~M96q7 z3)#A4*bB-B;8!IUcM!7>uP&Tt(TX!UnJ9H&1?+iK-dgq3@a&|dx2b_i7TFi{< zmmzIT!}~e}X>`F9#bl^!_o z>U#P7=f%f>sLjm|vVVz_jVl8J*Q0~9Km$-LYyZhTOg^1}c<%|*CQ_)@RIm)UweUG` zo81aKn4{0EUWkJ5cUB7~i_hjznvD*!a5!;}gA_8jO$V$=#~|~_BdOr_8lkRKNErXu zMC#;1`^<%A5!_aVUr;NH)bs`+L`ntYwV=e3oj()Dr0ybxO!I0y%!46?aBbIt4~gmM zW**rZh-qsOq|5_}DH8}g1ju!)$612Qx<>r{ATwQC3&o7u^wpXsHG*9=RHLn5e3uqg zU_}jJiI=>jbhApy4{HSll4E7z@&A(`Q0+G%{D3{3!fo9$28Wb~b>N^@r*g!7GnS-I zO@YIijxHuoG$;3hGf~2nTAj+-%qj-y_EYOU&ZKe($^Yk$eBhwJQN=+KQ(6|kP7Lk^ zi-`jA@4gN3#$#zND{`@3i$Zf6`hvg0XX7!U5K*SR5GOy|_0-DPo;**|rp4|5d>~gp zm%FA)vt9uksi?qfo?ca^ZAyQj#)zfaxU9$ z^Wnt6^uOzf+M4l-db!n2KKZ3rPP(g2`>HP#jdA&Bix>X4$Rcr{?fm7|awV3%TPL-oB*wrsz{72~=vVjPvy*e#*Lus> z$StNKf&k1=1~YU3fnzW}X8Mus%KG8vh4Dh>IaHeq=T16fxf9F2t}}v! zCm}^6*R=4&(uQ@3oz~vM#6Cm4|8_wAw~ll{o-(4a!Fv0-y-8cejlkz6$a8iWh&*gF z(PwHLa{l1$4VteTu>mWf@W~@*tMKYxVbwOPQSE-|{}N61PVGIb*kV&z@aG#v1Fk~k!?OeA$yWeOB+vI+Zdbog*Xr+B1A(%3LJhQf(spAL0_?rT* zf{pTQvsLI{HEaTX^sBqqFUCUlMHpW&vD+1((9bai0IL6^rTu@8|C>5~35+ihumZ-v zFOU({aG=dxi6Wn>#p4&1^u_l~8wi>Ml3$AVfa~jVHpl;;00J3&x9B zflbPZddLO>cvS8(*(0$*Z{PBS8xKMJiQ+x*QjnfO@3%gC@D=Uz@5KzaA7&y}FPD9ghpADU#go z9aoG#hBKj)_g#uqw}mY4vc#CL&Ka4n169Cgd`*Xfufp&*n1`>^+sBiDZnh5F48zB0 zH@WM&jh}N_{h#c1+xpjmc`*E} z%IB5j;ny(_e^O!NooFS8`x<9Jh1cE?@S$jd3{Q~bH$Xk!(tVs(XGeEZc;24)_#_WMZT@OYmL43?y`p5z+Zu6 zV`&j?0FQ9gs?;ZZJ+JCUCl^O@s1cC892o@7XVh6?{i=^_m;axV`L>=ida;IFqkMoa zEPEvgvwzP}L-mNPaAupW=iLn84*?5pHEAjrs9|n{Hmce`~Rx)HA85 zCm3+af5O32YNy_EHC4S5wbT=@IQgtMm8m+>^D64rRRbiR*cq$d}Q)Xo+ zAQ@dZN@Bw0U2TPpuVeT<+yl!XB;~D$ZhfI$dUsP;7M1cv7muGJOI?0PSYfh%tZ~CC zUT{JtQqA7#WZfQJ+}vWy{ji~6;@eI9Qt+YX6dc8B2YxQOKqUo9CUG9Hp;|5XR5Mv) zO2wAI`XN?3MUVU?bOC$@8bcD>I6_yq+xY8T54C3Y^Bn#A$JI zz-f{z7T}9lnV&5*KsL+4Wxe8iZEprLJyCdg(Mv^9C=>72x{LvFf@H#&K(gM(&Q3D^ zQ({?q2C4BBlZGw&DDhO-ZUH;Wf>^+3jgd_1mW+JuyUxQz;*$wJkq?%RWC4T!QYtP1 zfO7x7!Wx!!ug?z~e}HKRC{-nLz=QM2tnGl$fCsV3+A18~V0nP0!u*-S5vJ959CSZ; z`?mUgCWMcPH~zSQfJ&NNFIF^D<0&Tmpe}YLNT|*d2EOSAutBIM^fhw^-=>tGdU>(n zQEIWUaMlrA3eG$W51}MzJ7NYdIaM;I|s6N_c$)} zuq|J#DwKcOTiXGxFtuj8KkBe-mUS6X5L#3WikvL5>P*{gi9hw>ikKjau0 zPk<1{o_zwIZc@4C=t;~wkDlXRd?1HHJx=tAY*{g4gXa<=bQ)yaP>E^?J;l$P?&Ys? zh*_R%^4DGO8g&14EG&y+0GJ_&m$NS_JE1T1V{b64H#=s??%a-w$I^1yHn3kIpjvq4 zyoXywLrO&1X!jLnDJlH5l)ai&_dH#rjS|!byIh3r&ox~m@hA{|&!fwKF^S4I9wt$$ zX#P;HC)e=^Ks_^7nlEyauP$lwM^zB>6p#CwM@O?GsvmNXoH@)j1n;2F7N=w*XNS0^ zyr-vCu8!>2SgdeDwb94k;emmVQ#faG0Qyp-g}Wri<)TLm|H%36`B(EBdYM(?8)M^K z-DRojxwj(9Q7&7YECNbopyFX)(NNdWdno+q|LSF_8fs%>^NIa}PYc)ue{n0siW4QG z@}~zZy?K0IRc~anqwI~(GhKOb<-D z9Jo5Ag5JBKH!#m}0z5farxO@eZr1u$TZUFnHTlfx?`D#N`S{qk3H=op%%`$nv$lwU z3??3BZ|||E_{0A(MJ1Io(>2>1lHUr#Mm%k6oL*{cRb3Z3`S6kU#>Ep99fv43Gb{`I zgINP+2)FWpKRs3uSBe5>Sn-YX)az5L0O(cnl{0C-%bQ5gP#~Gg81k<$uTR) z_q?~&*y0YTp?wpwyX1NtbHNDDvS)!2wp_0wnYfx))KR&?o2ko04}}{Xl6_k&Se&2; zo-J^&g=eI`?>f_yUZ`vv$g_Gt%?>VXuv=+RbN{MCZbvKXz@{M4TKvQwe63xOXAhYe z1V@bf70mjl-wp!LW;vJZfd<-4m{rVHyIW76`$BpdYZe@pv^;?%I+RrIwBiDd7norZdG+LM@t(fEB)9KO!}FG=r|;a1I|-?1rI$nt zTyA#p@n~5+;!ZJCxbwfb2XEP!%g-|3mux+i@&c6hoZzgzwN%a>sHm$uO14vG-jO0% zsxE93T5-Dn5McElcL79u*@DeO>|i;5FNGG*QFIwn&~NFVS+n2*j4vc0AXI73Kov+p zo=Ci6-nYrNGG8IK?o_F;R}`-0E`Sry$#ZvKh*&-Rt+Il755@``A@a&>>fi(;mg%)x zcAsi9i(ih5LP;f%ZN^KAyQlJqfG^napXIRKF=E1x;IL=;M|(do4K9_<7kg7H>=jt$ z4xtq%$vaptEK>0W0Ik0_j#ZGVfP`uZ#U}Nj(_p^p zQKm91ZfAAD!igOf4QD`A_1sSI`E1`u{hw=ivI1sThM20TJ%W#BE&2(&Pj#r)0V-gZ zE-X$EgZe%aA7Z`m>+d^e5uHwqy5$}wBjEIBJz$y(T-_Kc;f+8~FK~8y-WvnvH63n$ z^timtcdKyEbBKSwz7B{2geYVUo(X&Q?A52({{@N)qwSB&0o+r#lbJ0Y!Q_c34#nZk zddfuL9PTh#P(=#`-CH;G*d>v3&47b&;mPTprrhaYQ3`y3ZDxd=ei>2S-R$}MbfE7y z_W%J1LlwF=u-yOUt8kZTAJL*YoA+@{rS-8YkX8MeY@9`3S~y42shK;|dJ;%f_=!{Y zeT`Tw4t(_ZQ~B~8uP>_HWFFu0#I?P*Gz%PZ-%=V{)Hr?JU|E%nQv=FYRLM8`A3bhd z?JD7}s0Fwt9$+gZYdccV^Rf!?HH9tsgf0cp?*bsSE(uD^03|yA;Q-mbf~bq^LiNKQ zpV}T$Qg?uvY9xOpNI*m+Dbr&|;d{11pv>7EGT)0=9E6~h3o$B6O%ocv&NB{4_d)N`{ z87_Ztxsw-^omi&6QGELU82vsKAj&=O#|36r!pLi2&t!Ar>aqD<|K{vsDWMMhDzg>a z4R|64zHApk;jnnxBgU?<3L=Fn2`ZK-<6DDr%@<$wi*S@pS(P^(%l^#w8!dP-F&IBU@H&})1 z_Q%SsJCVScz!n{2fHZFej5rtAS{MhTdO-Ok~&wF{S zFRWy~qI}7YFH@glneJv09)Hz)Z;d;c+1at7BnGnz&~`@aOUu%cksbM=MjwrsMA;z@ zY5k3>#jZHD*Yj}Hpa68VP<`Wox<5D*W-QD;aoUewcA@Dj7nGVPdNpz5sHg-*fiL-A z&10XCAmiAe;V(3yV0OOM!~<$bmgQVHHPDpYBC&v`_9<*6URL>b)v6C9L~>Lhy} z)ipJ&^*`Fa5BV&y^@m&e<=I9`d+X<19#IX#m+x2?vh@4_JykJ{pH0yd>y&AqbH+7d z+Lx8Yv;p5`IK0m*E+SLX=K{BqM9k&8P0j}6P0a#Y&%l|=EGHpvfD%;v4^i$VNBr-s zv;$^ej8Qgw1UjBk{)P8fYQNylI<*dG~LtC$ROhjL}F#QWYF}L`~sUG|=TM(3m zt^44g=YX_^*ciEb5t*6tHO!mMHkNs31 zCDBt6k39f)q7GP5?X^rq#^=>19%duaS5a1WGpVTVo`(Qjpb`!-D@%9Cp8f%a8u3^| z<_U&Mf6K@~O#;g|Vr70K?v!GU)g3A_L7Rr@}s3U^WdVJrok1h7lv5&nsxGr31fxt#C_7|*erMz))p6}=n zQAp#NEpliN1W;MO+jhzKlz+wEv4LHu#O~;c8*Tj`_!)wbnvFQy7#TYybIp?zg>wg=06>bk zb}K7G05J8Y?ZHm$e(O0FyXT2-o#2cob6K!2guNgoO)9WELgof9&Uy;Jt7o8qj!gxA z6I3@_ z&J`7q*%e%H6QLf6xg=d(X=9U0D5;Dh4=dN0UvsG>zJ5Fh5+U6-mHRrYTyGO~44(Ww;53I1}{B4Q6uBPa1@ zm^bh4-8$JB!zIPR$5zTWDo6eK>k(;(uj3Rrn!HB9&lSlyX*2im8!i%YwRSIF1!7cFB%gNkEo9k9 zQzsfiPITquqX*e*o_-JT@Ut&F6Mn@-!rHC8i`P)7h6^dne zy%(WDDKDEn;C<;OoOGmn_*LkcZgogUJAG`&+LA3HRQPe$O}<*#H9KpghOppQM!K6$ zsa0axYM<=We$GxbhPw7GBU%SxZ?s1FPP)lGJQxI1LlKPp3y!|Y zp66;B)K141b;_4=6VR#Ln_KYOa_0wi#qhMo46#KTAl>j{ychNATtsiDyX-juoshkP zaX9RL)0Ql;r`>PsTFj_ZWFV)wL)P)~+9!v!H?tFO<>_0^m0*g~Hi~csd^T=$%+H|K zc`w-wk?ux@&9Ljqe_Q{dk|7N}UEDEXuEj-3aK`kO)4?OLZtu#Qz~5CNIk3 zxxG*EqnpB|4BPsfDxC(mzS_Nz3Bt%Hv-eGwsr`MioU%eOJVMycGvD7|@liLEZyrnD z7Ks@gwO@9%X!U1v@`WYf8dki*G-G_lk5P&V7s*zw#mf?@|0!@mrg zVBq}+w>fE=-M5;XIwNJ;4ts8p#M0U)rrNcE_+~Mk zsp-@sBH&#bUOkY}Z@y(*)VMh2=|I64PO$1oJ5Ayv2#IHB-m@M;*?oSw!4#T0)Om;9 zIQZy<33U?^%Mo%Gdi2nEo;7UUpwg|4*!{PZu8;K-J->N}1-IJF8LWIo6IggK( zhCnb^JzlT^xch?Wy^|I~F7iee&YLhQIQp{CqsLK#wP|)Tlum(okyU^_+sx@7Wa>hp z_Wzy}o>xb98Bdd1xoJ%uyu+dS>KDLmxW1L2T%b$!*|6X<{c&-WeuNJgM*Swl&q<}L zJncRK>pLrBD2m;G)y6&R=FbtuXJ{B z`fGf?4$#QvLuZ1u+(TRy6@?rq+2V zNNYf~pJ?f2O>6FqXf9D`xr1XS|52QXAit-WhGO{7^ZfluB7r`4FUt;OPT!@f&hS z-Jb!I#bJtrgK%7hlf*|DBZ6Z9^q)lwusR>cniSX zhG#DJFjho2eg>d*KiMY!6hCvrmV>xDedg;Wko5^OD#kj{2pE5`DQrlWq_>R&JJ|?! zqC}B|thwI-s*`K^?DKo>5@Ly02CPlj>2BH-B->)&kafgi&$U4Ol{;NK#GZWfwv(hn zXEPED_rSs=p5j?TC16=edX?(@suyn2pl@*%xvXxmE_+QS**~OPE)t*nWWT-={%BpP zK1;Q+Oscyr3crE?0p3$_rS=6UJ)IINvAM&NZkDfJoeIQ8-Mz(LYgjXY>7%#bk>A!BgNn>Wziwrdqnr@@oY zwD^d<^!Mjs+=I1NG>v>j0wyP?gQ7TtberpX;!&coe)?^i4eZ}yg zU$S5CX|fBOF6o-+uydj*opih$uQvZ!jr-yh-$kcQ{|!K>@bmUKBdSxP4OD(B*+i_< zfLBjrJ>c@6sVtivY@dCNu&|!-^p9FV8!EhD|9hHKQKilkrfLwj(jXwF$>{WOPCzu{ zKD)PQ@XL;xNWcv70A~&nUyCKAcBg;9EJbLw)DiH%%x*FoqW)B#5K-(0QO6wB(pR(? zo@z5V4TKbjy^pPh2r>=xR6{v5XcgM}=1{I`>2Gi^`>8wTK!AYM@XW>r7|6CabsMNj z>se|hzov)j(x4rWdtp*k3eRmj!@*7uEZT>Rcrfi4nm4R$Y%t9ey! z<#weR0QC@8{XJ4t->C+`LuvUN&gOx-hm7rPL9jed!KWf09~^+OQZ#kE%SlvG*=v(lMjI`GAMz3E0gu!G_>TIdean0*%5Lkz3R? zXnmgt#}!3wD-M_93GiVa@{js?u#ttjlXGk*sgqHD7hN8h@Yd(H%XSw30eR$`pR!+% zXtGZn6X+VJ#qhN46wh~`oSXSG`graO;|<&tRBPw9*?5TuLS3G(j<=skT{DWqe#mpk zffp=+H=>#+s`#M)>;{Acmw)RYdmvOBomzg3ow!40;y8bo{JP^o|7aXlAj-&4DeGoT zc_9Gk$Ir@+M{sr;oOxMiV$LNZl`C7C4D*Okw^V>gP%O5;?2b|Yd$)OP(0J!|dysp{ zjV<_DA(i*Z)O!_069}ArY%dvgJ4%$b9o+6lZXCY_-}1<&1bC3%ehUI+ACH358>~EV zlsIWe?PBySb^H`C^BoZD|*=6sUb@(V@}{ov z+j3SwGDB1ApCbs%A9Zu51VACM|A~mruz$z8AQ7jA&ovPK(S+=T1dr;~_hQ%|Z|wi| z08+~JFFLz*rK``Mo?=a^#PZf4)G{?$|Ly(({45Z4rkBLd4cHG-7xHlDS}n1UtnoXk zl=0^i0@-JNPkpym6uf?nzw23k`A5*^nuqV24B0z3Gz4Yu_KGy8Nx>Y!O%eGJ%)VSX zJd*&RNn4W+pm`x7gkKt&eD4gEI6Cx^)7Yz39$Qx%{kB{err07RO= zs3v-!)FJW@(c6b21)t7@2CS%ejj%C za_xM8QIl4U2cPyFd>X~-c)G?r_BqkOeC9{>{NIC`qYVfo)cu9{dAErF1P~98@^-!A z7~SUh5X}}U_0$pNM~?ukIZeiMq`0Czvcq%IL!2 zMC`1usekO)+OB8s%Z)gQJLEv8``J4mg=prn#wL+t722gSw+)PTx^1^MAK$5M_p>ER z2O*uyx7-j9tYT*L9$7NBUKLa0mMEv>vbRh|>OY4Ki0emd9#u#Msl)LMr8(-k0-QVpz z#W5|WG0pPK1q}&L5Hfc0 zAr{AkElpM(f+WbU(R~l8!NQ&AKTwlyAw0t1fDJiYc**8k_pAF;ApXs5eXBuoC25Oh z9{L8`SE{UVXOXLNi|F0T=1S(MqmHG=*@@?lDsN?HBo3{EjIOGqb?(=|$9kOq1g&+{ zR`y}9-Mp zwedh8*bwF&#-xR)=^GV}&p%(@fzXdiuCPFe#KHkpD{rw>a@tlB=0LcWX&gNT< z7IltrME$a;e|KTt%4e}RIW<}`X1#0x;=$#tqT>*R)2=}6KY)P57}Ut#piA{CLp?#t z%8*FD6poBc(#S)fSowmg8TID~hnfd9yWEwf$zNYOhY&~fVJk<4){`2k=0lTH^k0Nq zD0roe4TjKy^e|rdx0YhKK)>wQyDB@tO1m%7cr9TiLR7z%*P??O?WTvxsFQF z^r>Ynnk_6UHx+>ADYn?*%0oH|(rQcPRsa*tHP{qP62x+Uq-|s)Vk5o{uo3oBz2;B> zK*?U3>#^6!11mjG74D*f)5VO()-RX1HbV+|&!JQgAaeL>DJB&PoR9rn?L?`4B=ryi zUhtu$1LwF%QSXEmfHn0l7~w3Tx~W2Kj=rk;?NpER>p5Oj}NFdj}%U&F`JibT` z5vH)8Dr|6DPHKh*_%uvo!pScF6`FOM_!6vzWX+yPq=3}w|C=qM|q zp=;Ylgf4g>)_f@9#81eBs?n?N&jcMm{}F4*8tHr3jM&46m&*LX?Q4S`ikzT!X|E&G z|2nyQmlWkL&eZOpE@~U14ygVO3N-S;UR3%o&{hmTI&7j|3M5LOWIdwn^k$C{`J z7DhUWelhNI-%;cQlqJno!hd7X-zP4J;S7OK6uq`@qg|l=c!kj;8|)=s5Q1C=dPNd^ zi7pa_)f<-FT+OwdvSq>)Q2G4C!uZK!3^z+9?(};}V5Ifb3-F5J&Jgf4aBEfV!Rd29 zI%YyUVdw2=pYOlO<3FGNSc&1PuL1u|{>KQ+E2{5N2*gjxhq7oTLYVi5b3w-AN zM=XnWWk3s21Ct0L+Vo}yl2tiqJcEH{-4!e+C{pRgoOX>%RD?0M4A=0KT{$QtKk^%zA`oR*t7X5(Ic%@`Vr-&h%hOcaJaaa{ps#K~p6OkvoUw zl&EBhl-g6`Fz(`*W6iG1Np-#ACxdTWI?#MODV$N0VQE9Q>--O|m4}@#2mU=O|8Pmy zm)XGsl~f_A_aICv9MC%+Kxt}r9!wBwcyHh}2PWV~9B7dW2Z9s~&xfCEM0dT0D&DK6 zXONE^!UXH=RuT$?q>rXLoj}BboFQlh4OqP-iFqR{sL_dkJ@f|1!@;tl4qlBjg2wvD04KE^%LNrcRBc>SPFG zwcEA%_n6eO;abcKiO!l8ki6a1WEU_lWGPLcniais%*4e>1Y6+FR?EncYq?^iI*MbB z`n3w39AA|vjIulrxTJU7&In|j2XQLsI_`woWgaoCnV$au<~b~ocBx4MQJBJ=fdd~u zdeiNIF+=uKv1AF74a-zMgLc=-h`=a!Oj7T?dogq0?0wBU$j){8|GrUz_OfSJ5 z0rQgov(WhFVw=v0a$$F&c=X2662bM4T(*SWWKlL@MSEXkz5A@geJOv6Xi4bXm`jew z69d*NH~OC9Qn~-VY3Q%wF`KqiEUoG+SpA|UmFC|!m>?f9*(X?}lhE7MqsARvITA zv8uBsFJUQOUFKx_vxfQrJ8EkbVoBFvNq)x0td}A(mhTkBMqYs>)rHp{qAY3Q)q*4S z2oBY;fUvSBlg`fVO-n76B2@$)G;IR%nws1*#70QCYU)VCR7WUMQr9Y#mDP{&2S9D4 zs{8`9B^5lVe{S}YZZETln!iPRV*I}Dv<#L~_cQlY*okK>=1mtAps?h#D#XOI}Q_h+?`p1d*c0CzsyLH zdRT<=Le#J=D>SgJv&Lz( zJBV=gK0TyOK^&qNy#%~u1xIACDeEd`#Qu0ZR&BVS?M?fVC(n=e8|l)Il?YXcAkX8J z(cR}x{8_AxaaA#a=RVIBizN74TSkPKKuq**N0zyeIBubPS(vE8MWY0mmqbxRn}?cFjnso zm;PYwZkWcMEK$+VG>2qy6giDI++h>3TjdevVyiGGN|t1qE?w}Ah?^P~=Af)*Oaui5+P71z0`bbHRR^}rXsXjuq%KxCUoXR08X;Ww0!a<)db2nd zqhSxcYWnO65%km&m5M-J)V8g^TUJ@tZW_P<>~>Xx%hk&_duAy~znor*sCTKh-$)G4K*1a*rb4Mm7D-4}1LCNPFoYI!ip3KdBEl2TZ}hC8JId9q_?A6|V< zH_sZ?E}BV`HC8mkf5$p8>Rl^ND7hGoK|8*gO1T(eI4wJ&tSFpZhs$+yzu`_?I$m?1CSBCTNMq`e15#?fMP~# zxQ|E#!p?pQA$kz6Q8cEH3H3M?0(*@T7GAc29sj&pFzj7jJ9gJ;>9FnkOyEf6=YKV~m1W4&xFig5&f39!9d3|`N|*4$ zy6*!(BMp^4fdA9`kHHYxPk|iJ#L})^k$+jAdD!uF){IlAqUv5c+0oL1GZez^FCLN8 z^J5m&8=3HF6GZ*xLawQFU623G zne{kP#}eLEXvceGhX1UxFfBmWnlCpaTq~MGnzP@gh~&rKB>^eA8rIuG9yxIDAy8 zIJODBKM$k3Jz0<5cbV`)6}-pgr0-Tn7k_`<9nbh+uMD)gx?+alYy>W%_vA(Tqu~T` z#3Ft3yk@>OVM4#2;$$agmXKLr$0?Ec_m_tqUH4p!Xd$Q^ljiNKI&1An+S8x1JP;oc z#XS?M_B5d7H|plGW9`kfOw%F&A!%-zqz|>2%C}DyFx*`Fin5g0^7GpCCi*QE0Ys?S zs<8FRf>ml+}=8ixQzu5xdtxW*&FCbHZCYtUQ{ssqB$s6nqNo!wH7 zGZILRV<_EKL;Woh5zo@S$lhH@0dtR?p?$=alB3|MkzVmnlky2zx ze~=yx9v+B_PEKE1q7>(_tuX5*EPvFmt;k~Qk(gCE?>ShE%Mju2NS`X=jEZglibro4iyt656dHA0TMU5linqz&e&2(+oXZ4l) z6=k=+KF;3r%j16H_a-{HeGqX~>mfNkum`CXskS)QjadGg|6F>{R6~0sUANVYx{X#Q z=cb!V&+X{ry5YDw)WueJe=Z|RF^D|dy(B?Onq$~jgjEd7Uq{ZlbZEpu#~ZHTI&r@K zx@$1OG^>9MXs^EwSFkafqGO{wg} zcd;p)ms*Ut`|1a4=>pV1K*i@c)i^Xrd)91U*IDB=tAh&*>GyG??PM7u)f*g3OMJnW zYAedR0n1+jveu=BPfsK2$7vmG5!Z}tpSfPJ*+u$J_O4B0=*}9G@be;J2$vr%jnIuB zC5BDKmOi<@4x&aWa+WUoCi?_kmC@G7=3A3KoW+F5TjGjiQWJh@;=qm3%8=@uh@IwM z`%r6%330K7mKqFV{m+Wj%@G}ZAY8H6kkY0Ib2|t#CV}%(p0D3y1~f_|NMO)FPH#Ff z@x}5~TQOD*1>#vExMzr);|`LOAyIn30`K2sh!!!A zT_gfW-;)Es%6Tws7jg=8E2-Jq`}pq0WmNG;;~Axc%Y?cFF!GCKskR$gaajHUVU}g* zT=TclCB%lb~&{cF_ z_~Ir4xDMJy`~N#e`%lgpGKL73vtLLaR+oyr;X)%64&u#$|;Vbbwg*(+{h$(rhgW6T9VB@A2Dps$=+QTRT!hd(}-(* z&~*Z>}xPcRAr` zKiU7%AM~F`RJRApDN1+sBjKqNSWw*EjkFmTb|?wPFQH1dqZ;An=fF5B@mR9;H45d5 zV{?Ricli@$_I;<{1(0Q^NTDVXX-tX_gv9kCywYX6G3eINbgUZxlN_KB8k`8ii1VY| z^QOjI(W$nZhc3DN^!FOTlu|=gI#j&G5xZA5u6ycgnxj}66PL|a9HT5RJbv)-el}A- z*<~KCe$MpMpSBQ2k3aCq+W3upsq3~rC}53;qW;j&+P=Mn;c)*hPJLkw@Os<)<9}QjT2>Y*N%Es6&y8g1nzd9*ufXJvM zl~%}#_mJ@Ru55w$EQn9lRC@ySFN$SUl#LZ1qv?O(I-*MzKpaPhI8;5GpAk4UX#SE; z%L8{9yZB~9_4jC34CehCxy%EK?lX{Rk}S>s$rHoqaXL!ilwb^pt}2sWgKjN2m@|K= zh8MDQbJ|`p2vPb*ROX!9MZ&weR>B5sp%B)tiBYJ>d!Nt!_vzdigaOUunn~40)qnVo zBS9*ipS=fmaK7z(Xn;I95v3LIQ6hc<+`APgE7bq9fj>7+9JzB?1KSj04xD~GF$*-1 zMAv}2N$7CR;yCTM?Xk99Jf$&|Nz4J)+<@zcvx>Gc;Gw?JMrI%EE}XJw%rCvP?-_qL z!jzLkfQ)hvcA`^gm-MpXkug8W^y!9*dBiB;yeOK4udsICC3n!~)L2{BM5{rgG7vJ$ zi#lYQv$izmZT3dkd-rEe42btIZ8Nu*jZc2#kWZno)1mF@Rsmm53T63%PK)k}iPTtEB@vrIg{9KEe=dg@@ zrvbaxZC9x3D^zbF@02f|Hg>cd0^p%gA=-mO>%HRwfUAVAT}pGSv=dsC(muvW!vFW# zRGss6+3cm!@3T)8#|X$$9Fg|JDV%L87!f@g(?^g}yTF||d-atRx5^u}0h?p`AroGc zK2}VJggXL1vuYrw)tK@(((>Ah?yy?~-$^kVkotb$QXU-I@g3J{bgNY8nx!-@r5!S% zzD>#tO&^6PJ@(SVPmluc0C>~)bH$UG0QqiK4x$q|snFXj=-y=&{T)uhG-;Ab8(qgO zI5(8lCoa6uI7$0U_~SHWuPfoJ9OPn%xkIqa&mR&^WY|v7MT|Qj?DseJ?`%jlW8J%= zHbIJu+tpUqi3DA|!ZGSl$Y#Jw#a%`tdXw`a(MaL?oCxdncU%B>Z0PEx7}~uL6yhLo zWQ=?;Q)Al#6>=_!=$~zl3;24G-JR^OXm_trjAnFtzv9|r#R#aB{qR!itf?|cLs$Z8 zfiZR@v;ckozz~mgvjSv;%h{KZGdrkX(eW|K!Z>zM&zaY{&PTRH;a8en7r8=|#sY@0Cw=%zApY^E4S^_{q5WI^62{fLAEz0b=6@Z)a?a2e zPw-?6;nW-QUqI!Gz3QF#YP27jji5$pJIJO^1g?8P>+(m4(b#^bxtccdSyE)5Iq6ay zb1?Q8=aMf;=gAI&j@UeLMpMrDMKQQWKFb;>Um%!g!;?4yfMz{yf({l&GO96#nA)7A zkvq%*`+e6PfPw-EEdWJ%Ekz7$YjoEmXkCWDV|B&9EKpK`qhpON3tm4XAdR?93oeS* zfajU>te#IkO#2&{wuS>H(IItO)WZ33R|z}OU$M-Ly(8XR=T#CLowR~nc@3qK2M()JvyvplVrAA z^SWn#*8RRp_X)Qd-xF`^7TP%^`()@F*%)#Dp`ZvC{|yB(tT#(i-{iKylzXiuG3t8F zQ9QIpLnMSnuR#Z$9+1|)jdwft*yU%HM7`$H8wZ1H93S7O3wH={$!J&qr|J^ru9&bD z(&YjebpCo_0kLR1pMSQr8(~W}Hvn^bQevXCeLaa!e56Xue+GnzbI&1nzZ)z-!^w>s=C{bFB6*YAy;P~~CHyS{c zeyTfk)a%Co*&K<{fGXZQY#^`PJr7QY?M?K`*+c@_zNxHRalYwc(3H3R37X(Z2nstU zHLa@BHaM_+c(=)oO>7?7z;sd{fgf1FFF<+1;qeWy?RRQ!GVzECI~ zxFRZs?;gGyh=27-dpU<~QycvqK4F(+E)FA(m&CNm`=O4X5_w|+&(3}OqQqJ!*pJi9 z$B*>=Ag+cO);)Yog#9e<^2x^PjSsr)>a0mR^dxB6Z25u{y$k9-LcntAFVi`mYV;4U zfK|OKUk0ms`)^f%yd$>=|zQYj&J%6V5LiC7Tm^0QJfZdNg2Pu+MXz4c{8>k_Ip`ulQp*4!H% zRzDrpn!fF%^FK=oVvGVi3Z$o19X?gJ3U<{|dnoHpxf%q-4-V4Rd54icItr?CK2?dR z4wjQwe+gEP(ew)I>5dlFQ;raz!3$mqM0e$IvhBAT9VDhgw()o`$YlAH_m7=2xD6A~ zE8TbAkcjgo?F+{nn|-SO{s;V)=ifkQt7Dc-EiI0b`4M}mLO&O=6Q1eT&%Xn++Px1m zM8gE-*FR_ecxAbrCLLrMfkU2?1Ka9}8q$#-DRQ*2jRwZ5{TZ*W6O=t$&fi!$Y^PoT znX}uA`0hDOaY>I5>m9qMwjNq91H?tWp(eOSV)(~pSLA?s*KP3Yza`4FH5_4R3Ob3ifWxesSFea*tEMX=Mp zlIa-JI`k&GbW|CiUxwx_=bbo*?Wp7L-amW@Az|Es@W8*A6_y82yYDCl^s=JLo?1TC8BSV=}y!C!7%@_!Lj3(S6|8OX?bJz(k zt~}n<0~c5PZ{&gsa6 zgCddTkzv9cu+t*o+i~FAKL$h_0`lmkw(K2@MC}BRhfxd%8_@+9(uCurIB!1mu<3lN zypt|=7imUske683Di2PnWmQ*Q@GL~`p(C#9r(t}$*s~GOLZ7I2ZFnP6`iyHz1V%p} zQEL^wSFgEQkk&dIaS8MUxkhamO=+7z~Fy$e9-r7CL6#u(!mWQa6?L1 zasPJ_gQR#t2YP|A1##odsVlp`g{!NMw8! zh#d?)UezU4{%mTQfp+IA-(_pzN$+@7-jP5NC-!D?w8xQ9IK+jS zM>d(O&_Tac$KdvDK+)<-$o|m!{o%bFQL?5TA z>uZMJpg0|Gs~PX}7nOrA(4(m7ymHzv7hCpDiAxIV^^qP4b96YWYcj5WavNEs^@9~n zB{9ZFtwffCwa}M?e8<%9C`T~%CB|7B?74|Yj$aRIqnyU?YxFH z8UD-YZR~PMME{BAc1ACl&^R2wQ?2x-tukSSv7rudhlGQr0y-_c7XX^aJEgJ+(lc#+Jr0=JBV@ki^1 zPc5wm*f^g24>r1t+Wpe&1tEGWq&br2gC6if~}i$rXp*9yiOlDc5d=x7QS7M=#n zs1G79+@HPk)Y5~O&dMbV(@(V3cOjk?7xnO)!QibK_8L867u?^)V_W7r!!RaYDVVxZi>z~ z7AZ(j6_MPr}1_? zwKS*`rr{NN&n}MLyGw^03MEnMPzR3a0as7h~>5n3bA-dlqw)CwU)y^7fNlGC%D(OZa3pLS8$X z-Fe9a9-t+K`xlf&to4$D>F2aAJd8-0iZ~DQ_!jWpHtpmzdl?aLzqv>=5g53$r|-TW zeWNcKvl<*XI6gAEIJ+bZcA4T8|B`*d>&Q$6x~D9XV`QYBQ<;5I%UyZeAFKt{e3^a! z^%8xDPK-Ll`Gpi@tuBQ}dk7^f=J)CxsYAb`H_T>CGzl41@(+V>|BtOJ52)$+;@29{ zVkv1+5keBuPLC{otyxMdMf*KSgS5zvgY?W5pNXu{LzI*SR z_xjyG`uf(~xo6It<#W!QnMwH)b$LrLv@9E^nXNi;50IcYh1Ad{UDPngXc4fAbv;OFi8^)+;b`5@z0#?cb|hSnq_6KHjooQ0WAikG1Xx{xtIZ zXIJ-}hIdRm?myaluUTO156n{2A4_gP!A2l;Uu(tZsAz*BmLl6vR@)wKTcu3h3)G}(nYI77@ z(CsdK!V{#G{(JO`d88=r?!3d&ZoU20TUmq(1NovGa}4U}>b`0^929V4vw)en$dTkx8*^=aVcfoW(TW_7AJuG8Xd5$_c=ywr zhv8h}WLMX&+DO&{;QfFfA$HYn!t|W84m!f~A(nX&aY&lyRi`Nn%19Xjai^uAD)PnK z3OLx+z(p=Jy0V3EkrlopDZMPiW&p$H`79MVS`Q;0xA5*rUzSo+Zz`!Po^6NTYJi9 zvh3Sjcsvfr6f;H$yj&$60|k(9V&_-k`k=&&3E(1iH_AD$H}f&M_R#YK!7jcWht0LyPC{;Fvls_)6v z{5vCX5?1TgnYjm*+fQ)@HL9yNXNd1QYr7wGz_QUm(g|iH4u93mhZAp(uDUgK$(?@g zCN1C0JO!NH=3VXESUC?J$#LBFI9lx{KLgC^5)c9|tOfbp%lE9xSU&Us?2~gwJJmr1 z^kevwg)~Ufo?5@Wqx*z?$u0XZmIxexWf5F281d&n+@!H3a~Y_N2QKOM*_808g#NEA zvjD9rS9`TCwRu4yK(kkey*&bu1~`o}iLmjnhHKLtD7rp*5?VumiXsB-dVvtfbfM7R^?p3wBnof=w@O|Pt%rh2IOhvcV?axKD*Ys zpmv*2T3n`Q>iufpl|*e_4?O6O(-t^7N&~bkRFNnL{LbbVLdUBz{I9S`Fy1~?Io5f&@L)mTX+G9pV5cdjt7n!?{sq@K zK%w(3Kb4FtCs%w+v>6d$waGa%_%&|NE%z=S;H&Z)N6|t6hER#xnEJ$v7L7^3O*`5H zc)2?!MpX(YmceII3|5m~9>hHrs!_&WuGxGbm;{GYoYI=(e1Or28ANKWY{x15Q`o1eP^+v^OS#J9)8AXOLS+A0 zT2w>l_EZvNA_2nQ4m7ui^;R~_EWAcHhcH4{27h*wis5-zVXoQo&q@Ny!xA755yZY6 zMkjQH$5HX`@eTENo*%NJ-QA*#2rAS%%L?DTUrS)#PcZAmN!%@0R46>RIC69e~vEjb6yV<|Q!IdPUnLrMuAAA@*dDuB8EHGf#V8pQ1c z2d`Gi{rkLF>h^c*OAbYA>S27Z05IKEkc9;y-h7sGXDwo>qB-Shaq5}^7d+Ij(LEnK z=>HHW2jgw$iGPaj1G&pF7^zb)n0XV6FN5#2I9q3B>b*7r&ge9YvRTjyaD2g5xqW!g zw9QxW=B;>`2O%=ce1(jgbe;4U%zDW$Z?ep8Sg5$Jldv+f4VtZ(EJ?t^)lhUf`(M{S zylPr8@Cc9X4J_xAHly-L{yG-^qfLZ%<|dH;XM@pBb%HEH!O#0;$6Lerf0@@lE?FlY zX>nI*yTUwTcb_&6gVMQHY-nx(qPd1FeHUSoLI_u+<}C7+H$bO*Y68?D5(O9DhNBx6 zW0l^;Wvdonws^Ou#@RaJs-Em~%BF=!-WnUW`7qa+-iB*%i$0AH@W3i$XU+f=A8<`Z$!hT-T!161FR&Ij=r_lS*7kMn zYW15mYS*ny=Y_ts<86}8*%#h+JMix5Gsnrwb`THNZ<2XeA@eZHLJx$lCxKS3AtxQT zaGca{4)sr4QM^dpJD7is&#JjcDd&Zo16mmZO6iqy!JiWZ_vksi`&1aW4Vpy7!!v-i z!si=|Gdbt!5;)JM_=;}*nrwnEAb=)=WSO{kI718=_Du3S5Ag56 z;3$}D`R8@zCY8BI-XbM!x#7q@d%PXFr zt|=V&xFSfz#Hhhx;^eOUyftp!GH%MBTwENZ_xr6#Fg3JH$h&8kTkhq5v)6lM!l3G3 z|K)A9B~h+t!Opw6{P{PYD>GVmUJI*WxrVJx%NGniDEB=CrdJj{2~H=mroP%eeCz74 zcL4h=_256d>`@`JE*qwKy>cf=AZgzRFMutF3zsJ;Y<_i5ERQ8~=U^!W=O<(atFPuuMK3hG z2GGyo+CNi8?!Ni`iSR>-(l)mu7htR0C^&Sv#891e*9hw^0vAnU z4FMXJtdojotxYT?`PV;jNt?6D(`o9hiFei-C=tR6-IpwiCv;A>C1lNs z-@Cbe%|GC~%vJ?D(f3B)oKC1u4_r5=ag6-aE;w=v_kYfsgI|G~?Q!+ZJtod#%;+ud zkxN;nhk;z<6~ErcU{#jI*Hn3euM8t-S?;1i_3?Gd%2_8|A3Gfao9apn3V5|L99I?j zE+)((18%CI??a8Ks$s@1eW&cK6N=y^kYl*8PSs9)Dozh;C){>49Q|gU^`LX2&9vYR z7cQ&w-&v+CD_F_zoKnxbLnoHV&)C)!W6`E7`}0|vn$5;Tw$IBoyf zzJpb8!q`9lrN`DrJ~Xw$xNT@+^*5vtJ zcbK#mf+RxF<8S+Av5tE3R5bz+EXELCkiH%=gfY7^W&v_a}^euw3-gMxnV&%zuQ7hRzW%A%CWgte$ zga@c`>a85G3`SZD)9Zr`vJ}#12A>vm$IXM6n;9XI-f-49%tMG-MMl@mHuKs-96wnI zopx+EbowtSj>HE-_a7&XLs`~QX`dY%=2yOc9JEZFclg;GgRdg2VQ+@ZRUG}d*4yvT zTMb1+zQc0JM8W#iz0pN1hSEL94cafVI?^;;J7Q&taZ#KyBt9At@5<`@HdJm74eYbX zt<6~(f6-#b+C1mhH_?IlGdE1yYID3=WC4r%*70AsUX_`*3G%3R-Rkri6p!BQBS)-= zzhm-3Ypl0%Ox5?x(N*R ze2J6v|9csJ1YIVf%kONjlaLPUh`bJvpOa+|pMn~Yk~=J22oIASZCwiAc?5>V`ZjPm zEpASoV-M(?AKM+V6vFNMwdYn0+0utI2=?t_Kei`L1DtI7B{&-Lsaf6dp=+{@`TN%Zsj*!8&azX)^vc3=63%hh zBmf*Ib7|KiAcI>S9|Nn7_Y`Z73oI%Z9&75satQ!C7k=&A+Bosf>cb`?tRf@&7o4AY zz|*{u9E)S8JLucwBCGdGh1rYVFgOJbmHGaCL62_8i4m1H3e)hf6#S_Pm|yU>e^o78 znLI<=65ItLT2ctrvlM1Qc^PNma5`8+oe8f&(s_I#pl=Z>iHo{YM*?PtgZlBP4vXIs z3d@1rZ6e-)tJIvM@BFc=eM$IM;p7sKBr`a0z|5X4uBY3UFUTDfdp5_v@9Ql?5lj|c zP%*W($ft7UX89fV-Do-@Xd0 z<07S0`4U!YiV-_bBvSzIB&7J7nJWOgbl)^hd0zm}xe7K!=^6Kiu*2FRG1@|dj5U{o zwOp3nFZ}pveZxlffDUE6)~*FbT%}MeEP!iD ze4LE>&qGLgrx%}`b4Co z?fXrl|JC0pj8oWj`TG+BhBU3l83p{)v$48|h*~J` zn_a2yw74I+<15QIG1iWQ97Q?~*=G3-hI78`sAle*4}!@a2M~Z693>Ez=Wb~3&?v`L z#4@VxlHg(RkxKxiR6KV)>tWWhThEd`0dS`dm zE3M-qPf%OouyUHsx#i-yw^~g^GT%I&PnM>{?&l^c))<7T>$MmCw_~lYitEyfJO$g! z-~WExL(mfqMT7%rSw!M|x)foV=-hhfwue~;i%$W>8%%g+BL^7OiLuSg6pgENz0`9qCvQuHJ z#4X2{WX(qiTyT)B($(mD=HIibdD5zaMj|f?1{?m!r~R!)_}0Dz%d^hbeQL`E3!mmX zv-~L*0uy<%RWnvSUFtiQ3A6MBdoZb^p$Y2*;%DVQxUo=NH2*yBDTTw+36D<0-7qRK zQcj^+j|5?BDDA)>9<^k3r2P$KDz2s$d>O{@%n#MQ(_qcjAgO}AAR#dO>GV5#ne~)# zT^jm*@Y$>lBeko*@&ku|`}VNT_T0vafDy|89D?sDsoGI&(C#v7^ny!Y94V1+Hik73 zC;r@4UUvsXCFl7Eju!9?7n%b)S+w9+NpXnI-y5*742tr7htm5nBeMJ3AYHJ~*R7d_ zY_V`yV8J0g;n%jjH=JAvCdNtWVI-jZe8XRnXA}V#kbs~OQGcJAdJIz{b2hBH-Ke%g) zzrfb+KN$;1y^^xy)+?#}JY9<^A**bS*1D_oZT&WA+L!p_c*jzLa2%3yh;c@Beex8k z0zkNRGxPGDz!80?3D1CYNFgL=3hsK)q(d7RYP%LLz@kwVIKB*Vn&5O@t~{Cmh`i&h zNhQn5WxTX30oq%fO;-kvVLyu~+D7OY&@2eex5~Z!XZTiDb4Sozu(08M7*Rb+JAt=f ze=c}*z-c6bZ^DNC|H*OJ0!Ur@*Z%f_bb)o)u4WyPG!VkEN(eAnco?uwV(>5K9^VcN zF$&VsCif<|S%x@;H#76Wa1M@zq@E(Q2gldr!m7<+TC7h0xxG&5CrCW7Mc`gS4k*t|-SR$HK}I3Z zP2_Iod~m+arjKX(_|JfUce=mirc=)%~jCxcU=W`K^$l2FWoiIi-aaNNyiXNWC%_mbFZYube43CL%XdXI#t zx^>b8vdN{Niy(`A{GLtFusvjwLzsqh@MIqjXx{qrwvEZ`+1DG?I`W^?`lu+LN}JQn z*W|#q<05#H0}VrahJ_uzo(pQez%7S$UF?j@U;ns(_ zo#mQ?Z9S!_0dGRc;b6|Y(sSLHYn!^ar_~Htrb6?3sQj6L#?~rhHC74{>w$;w(%x(s ztw7JaWvtV!Pu{;#G(SuEAFzD`!~YodAkt7Fs-*ENDmghf1fsHMlfr4KolxnoC+ZFn zIkpA3QAKkCDfjAZ!A7{kI7a`jGSM1Bh8DB~?^ekZpa~b>+@!Er6+jsI^tb{>FAmwG zGB>9HOrRm__l!Bw!`(K2dfwfFJ0;Je%WmEFKzt|v0$#R8833o1tQVRjMmnruWfWdU zLv?NrB0Y(a)K=$KAD>abCI^teTuR7944%nD;~0(4Nhu~%zqDuO*BYtxeQPyMO>LYS zlVmGzLWoHYJbRJDnDpGY&2tmNry+Z)l@sm-FFfPZcnJ(^IzdJExJbcnT!n|`OYd>%$myr8UVXH3k3=aO-< zel5YRQyGuKN9|NV@J_9QwH?)F zt5%jBDvYD~>OSls3RPXskd5gKrdoZy)nECgV}&^HW{_aGNph(HAl_%A^#bBzoKWxRBWpvWB3hpi zzuz0lX~pX(@QEEWexW5W*1D%C``N$sz(=8ZeTIl!-ODm+1e@RA4Y*E>;LnEs8|AQ0 z63u*=&IFN8nF1Caj6=f_Gn%okOB*>Qu#%c1FcQh_cegtlVh?On?-Hw)W*w=5ulv^# z;w=SN-Z?32%&#Ow2Wly?(clz|h2 zVnDhy$kKH1PGW9T$>_~p)>D>f*}jPo9%1f26%^ZfL@mN;ExXD#z^Mcn;2Y6aXUz(D5&jo&!A%*)?~d$`Aw*(s^9S?>Ut120OBSd%+E6EULqmapnqqjg$2J zHKIf%9b&aZvsR1GO=)+wzNfptsqF{*4NdOpxB~3!K;R!W2N!n<{wWKA#HtXb<9Lx} z?15EJIcmPoW>||AZEVg3&g3tk9avZb5n*S!0V{oW>CZYx!NY*?l%hCwiLnJebAcdj zCRo0go8>x@Al95;Tw@cJPEa1b>slCb;~2IDu8ws!j@72DOspnl7)u8sN^XH2)9J%uc%*X)=E!QQi7h^rSRYZ1UW<%ZdFYnff z*VS&DP~!rYM@aw%59r|#{O~+5o>}1FPXZHQGvP5<98vahJ%{Xp6Muki2%g_ll}G5Z z8Mj!{Qo3}nI!J9GllqwHb?%R0J*Va1)Qk%E%=G|jMu^Z%xE{>;N!I|A+9_XtCRNm0 zfMu`XX9PUO&cR(`98KvJ?RcxXA+3Kh+#OjwG40|0bogZuWC_R~Sc*qXeq;&)qe*hN z#Lm?K8^1KUY&W#=Aa{F^aL`*}RWF_%==N*%aG1vW6u8=A4Ol_@suh>Z8|=PsHA$)G zY+UvM*grTn8r3{U(x>(``38o4t@!U@`a@?~!P;LoorG0jwBk8_pYL|tz>JcQ%(2u& z@ddn9Amvids^tQI5rn6cayT}6MQeOjEogM_PUD1>=B}|v9%BU;KMhI*^R)S8yM;ID zzYU-Hh*vOPaKdy`t=3mUk7w$fh?JryeGI$!k>7X zUIF`^iDstXq4>N8KS*jYm3M0jn}^`cA13HFieI3uLtqE#8jN8z1$tfs{oNXod09ajtZwUe z3^SQFUaFl#1QRhA?ol%_!k-*M|pt|T8VChe;-ql&Vz4hA(@*Po_;8>^*&TxHyVe~mW;?aNo zD_&75K3gZxrNUV@{NrB#MnbnR{JOD=BVR9kehtggl}V0Zv5&qUKcX?svckDFB2de4 z+tNZ(_d@Zn_ToZa!oax$(#f zzTg34vC6i_Wyu5vO*6mui)j_(C!IG^J1=1hRtRT;cw$pVZl}$U&%_zi`u;q*ziP8b z&v&zd;eNa}I2;)!X6O*--f|nDtGKA(qb`JK8ehuu*aJyVLz-T%N#5(YVp{w$l|EA^ ztM_rlywcs^iUumj7;`t6)0ceZFTuLlJMYm2Qpuw|G31=eL+#*Dk$Lmyg6nwl!3$f! zVOjiqHs8O0AYdUj9hyp%EzU7d6FVlgt#kAQmn{kYE2?}z41G4Yd^KqV9y62Fwp$Db z_w*(?eNwQZiNhFK&WHXi1bp1+{LD7-?}HSlCvw}ko8Rx>{5Yl3_EV2B*i<9q>Pnpm zn+8u|n9EkkAY*XrPEPDsatrMHkbT62uNKKD;I6%x(V zh&oN#Ks9cofk~ZCXl8D`x-a&|h?xxm_~^piGt-*&Jg0SNa=7802&?zb*5zI(cVh2y zb0^pCfNqL_%{p5zFy+{`zkXH|StGH2lnOAaf8Qf;k#aK>6ykAxzgP8`m-Y%9!1-g+ z(RawQZH%4;Y)MzafcHR`Pj{XWCWtKP(gwx%Y(E&B!8t^gqQQWkqflbdDkJ)UjVQmv zfn`%7pLnTc5#be03Q7Q4D%Wt#?n<6gd=+3dSZ%C2MocJX3Ed4|uR>CsGdIjICbKAx z$47nrU?A#IromN%5TsA{|r=T@N=a1BBmrM`)MM$ z>iJ{{aiy`oqkOKyCDOxXD05oizUqZ(I%rMc9D@ z>W&{ExI+JdceVR#T)>|{gS8$pLs{&cF!teKURy0x!Vi)WF>wiIhf*$+_q}U_f7Zvxo|ze;mgjzj`FsB zySr*Xi!Qnw^x2yc>IEBHPgKvB(fdCHxp2$Gqs|L6=ADXo27or7}3;#v8yAROB@#!7^zAP0D&eA&4V4|dl}Te(J-?v#tp=Do4i!l z5&nhtYPiozv;6a)<~=thuxUu4om9eJ-6!H1`VGJ@9^It&xA+=?xM=f620WDE6rc{{ z%Nwxtm}%%xo(s+DXmsT#k|f9w4z9fO-JGL%gO^SXcv?{0!Vb>pkF**WG?F!!= zpikP!*st7TbVTIbjB6(|Y%|xlpVm5Y>i2P5LYm+y%N&lXZdK~?gC~U_iUD`L6HK+= z8NxF31aNm+=g>#%ojLnq)j*OMfBuh1lmxmabgU??)~O@Mn$^PflC!KD$Y2@6R=~U> zI&e&<@e`<<&yU{qZxcFcH{ohDs>-p^Q@<8kNX0!L==u~^{-h|*AfjJAdU zUB_Sf2`+^lEbwVy10cgA2XuE&uqkc$lLT%nn*DZZfd=u03M^R^tg_MQyY}oO0&A_$ z7^}=Re7IZ1_1%2wXfSW2C>i4h2Fbt1N(_V+E|yAuB6iEIFpijAECZGrbGU7WJ^1r_ z^-XHPB9lN>0j3U6=Sr_qi`i+6RYvCh0*4snwuOY3RlJ!*HrIhMDB3CGCosb8T81vl z8`@7%e#ROe^@H|`(YIAi4<4}RX#OLAFwat7Plqn6S+tDdzPt*$FeW`mQFq#f`Yer<<&6Y<$ z_<|=+?++dtL|!`QQIYCuBMf^hByJUs@fQA#d+r1~ptwjogHU znf3#ZSg!GJll#B)RmPJzjCt&hum9PoTHo*jnz@aPjay>^R|%xIq&`~?NIHeCf=qTc z>vf57ZcW&sr8W}xmT>e~=dr;qc*CwBQom1I576{#?e@YSEgGDFny$wk3SK{aNVocA z1Vu5{gs-Hbsz5u?3r>GFo(F(#w*di0=z82hG3R5fY|>;KlaIqULE=j0%C-Gugu*oB zR+pA{58rNru`@XXAI8Nco7e0C#n|(L6bFLu-X(N;8mt9D1=|#W(=`5g7o0P);o66G z?;;J12=_Ow#B{G(#BM<>6||!v5UU4Y2)JdE@BMlSA7=3LWo1E zTN5|#%~_xEdP_5N<*Spf!1X&2Z&bgv(QqBitV#E1^l3DkKz9ZXp7;}8{_VrJ4bsUj z^|$5)QNJ}cYaDxi0j{m1poXpsc1K5il#JL-yv;D=hGV%u9=<6qjaw|w8|Qz$s6f_#2j{ zH1I0u=%yVv=K%yJL;iLj4ySUDe>bY-Q3hv4vg6Un$XZN@C_4uC^Q_|{0i#b*1oAw+ z0b~gYRm7mQnt~t1!^q9K+Tu7JT%<+$fOcr9(I^Oe=XwaBpGxwbB)Fm~h!zLxyf2yB z>IJOZ#jnE!q|ZyVBY9H)B50q3P-OprFiuM64I%03R16 z_G}*v6joUUbWV!=cwN&y&3|44F9ia=2y;SshPb5?t$arC1_uM}MYj$_5Mc^^#_)JF zP7nFLeG%Vmz`pgXfPJidwm(vo_`(m|{~$ri=JdmJ9j8L7i54_ju7P1R6DwSBl;lXk zVO_k#!9}b2_T4eH6W6b0!51|AqDOMg9DN!9xY1I{hMXP)8y88|$)_$?J}C^21tN%( zQXHo$3)4YfG$PRT_r6_(!@z{O6(ysp^~6?DnXF^guS$7A;*1CQ7b=U&I7!Lu-|n#p zzwW%62CDYYIt*ZY5rFO4z@9M7?+)XYS>()JU=wMY%#8*xfhbVZlQBE~*v-alMdB4X z?u-{x7)sEDwwtvRqlNf8RcFQ@19C(PrZabbk*=fy>d84J23dCjuHuYqlKde)!7PI)jy!4ZN&qPr4)5UUOJ z2poBFX0GXXMRl)kGz$Wp4g%2#aR?5^x^oMS8{R33%o{i*qz0(_E=3O6l{;j>PW9=} z=}Ths4cZlsyT?EgO(F01%WsE?KA6X$T|vMen{2eeLsY=;NA0}F^|$=YBrqv>!VdXZ z=W}wGKA*opqvZds6cvMH?h3FrWY0QE2g9bdb~V6TXQkxW{l%U)y7TE!+9tNRGhyW# z$AlL5XyfAhjyOdG!%R1DkAk@Y{$hpTq{0EeqKv5 zE(u=bhK9o+(|tQlASv8gHc98u?owi70%nJ&a*@dX`r_2(^$cE6^hA7-aS1nIei8!t z-u-9Q$zNl%9lmRURFG?A7!wbXYC%#VP^=riLcae~qjKs9gb?3Uo;lePzh!0A%=fJS ziyY$I6S7x#{$xFHGK}6gu)@R?VXFw&EVQP8EUP3OAxXvTA+-fV&D$iSI5TcoCCI`OZRo{7&GS<8 zWAguf{+GamEao%?)IN!tm-kcs{MTzy?t5*Pq*vEjzP~MUO!#i7dz{X5!_AR$zS#Se zAuJ(xS+ZfS&7)%vuWxF*eRtWPG?CRl^W<*}9+`WtRVGUB^;@};Pi8M?Exn@NzkBJ8 z|JHbP7_8NuwVovX%CA3j@Kc%K{xb5Hrbkk&0}p|E z4qjD1vlk@CaPdcSr*&UT_LXOvZ9hf5X!;f!M+8D)3I>S&;9w5PL1Wj&*`CaL8e}ty z(ssTCM<0K^BT!N+^0qBGg^V7tk5JsT5yaDPIJ8NfZ@XGR<596NW>-Q>S?CVTh z$jFP4h0_)2*{bZ6|ANY{#V%~oi-?}{w$A#LJGsjT!%AV87XR~=R-^CN{<3HuM-MHM zFPO+hwtZBDRiNRvmX=N}#ly$ghJ&*a%p`>)$Q|37ttzf&NA9t}tl@!(9K-H-yLFMP zi;8Pmgw9L#d3tgr5}pZz0Cd=Ho*oZcF6oqQU6f(xN|N{*8rygnUlR`<+$Bc-4;^2* zKxaTChCQHDQ2o#vDuy$AYNd2E7Yx-r8+qS`(a}V7noCqsT)KPU8ew^VOB>>wrsn0t z&9!A0m)=s6!32>=_xDYsL+;8g}R=#IkD`cIDh^-il|tA*er3QMjub(SPa{}GxaE`&LSI07-muwgnp>7Emxt|q?#nWRUE0?8>sn!H=V5QsQ-Ou9ham&M^$DgV`7K+q50VY`Me?;n_hPe>P(K z1sZ;GIYJL+4eqg_nDEG7qc6rMpwhs&(L4eY z!Z3Xa$H{tVs@?K`TST^l6dc(x7(X2*OUUPgtssB2iy8U9)_4XStpK@N+gLl7KibWN zYyyipI0m&Pg*_@P39{`Hn*>aUTD}B00#>|Bp}l8FkQSvH== za^&H+YZnPfAotElkq32w?>OVDZ%9@M+s9WJH<%+u(%`%vNETlNi(1EN+a3v;#h{|awz^KScfx~y^x(^|fyc{AIL|#lits;iiXWpGoO*fXu z-Aim6+k((9f>eN&=AYN$7!5_3kqDDS;M{QNTY~5*trp{HBo9Ph+}#lh*??e5Ow=-8 zNNrkhmkX(rm?`v@9IO&G&ljq5qYmUTy~)iDMe6tf3{!CDemxSL!^5lYXIA@-poF%9 zn;j3==Evy9f-}KMT1}7O-vIuxz;A6AH3Y^1L|o@UhYQ7RPl@C_wtF#Mj_~aaF47V? zUzLCakxv33i2S!K?z#~Z#87nA+%UxOe@EILY%v$Lm~7jy--XU@cQpw%!Lc|dL)BwS zaxmL4o`wF8L$%HV8OiATYeA-!F<-a{#G#zi3*&T{g-aijYs}b3E~7*f%g_7Z;vuWe z9?x~?1US_6G63=9Xm^6O0q@_P`_E6nilJj69@BjY%eLxY2wtG^$?I=bjre3N1UXKH zA%k!~?DzkHX(Gx9M~=ZMM4{KY%WU_-)P`b$cr5JYT}l4vbP8EBH;-#zngUv6QdvDF zE~sc1TNUdwrN}`sU10~%*_BPoW@iX7EntXFLTo@T;?hmvsZies_B3=%TbzEU{ zOb`NH6m2nfBd=C)zxoLrMN1MX2=@+fyxNbvstXs+kl|y_D+?*pN5fO1=q%dbgY!g| z`d~Vtz}vmPyeDrd2d<(&?C1{GvPvf18TR4Z-Ge`1_8U$-`Pe^R03dx^@*yQM0Zqe$ zAaqivp3;ho4GLvzfh^38Afut}k2d)Egb$qq{Ag692?oxeCBLb&9%={z>uGt28BWI0 zs%WuRfbUqoBV~Bd)g78$2r%0ZhJG=>2544$^)+iD?G_@edkEXTIpjNfpDi!6P=xcz zP`OagVJ*NGmDsCrN>QiN$k1yY3<2QOd z0-cdG{A3CQcX{j}|CgTpS@T~U7z3^m#BZfO+iQvst@I$%d)Pe#v)RKHZXzuiuw|Bl!1%6>_4p+ znZR@00FVhzf+2^1E#h`kir0_UYALOjPSlAETY)(HsJU6jTwx;KPAE z5>#EEiLmc9w>+LhxKG1xBu7or%N@wb&A7$pDbZuO-9LWXO7AGr2!_4jU0;{YiN zY6xjljVLU0b2?`;QKT7mLGu^H|AI&zj_Dx6o=s5pA0T{p2e<2y0wx8kSWusC>WT0U zA0g^LixAPD1{X*Fe`bdcu9Tzz+B67t<8%APls$HHfZd!4$S_QyxFz1Wkq`b$KFWyC z5QIry)GIpsA%qHX!vNzbL<<(fi9&}_j|8Uo$8mrO3fsJ73mVX9zMcV4@(-il9^M#xj ztP?IEqG>V1ADSazn{Ns~*@TI2TxEBJ#cmmGa3g&eMt8?yE8my63mbf2Qz=AxB1$-( z>`Rms@cZ@m4qGZ{RfudG;!=UA{s$zegr^Tk!4*B?(Lp8_t3JbtGU%enr_;FeD<9Zf zS};0y1W1oW<}NLW%T(P50X0bhR?qFF)**`0gs%f5poxZ<11trH(8y3_5Fu_l4MiM% zbvawNF!y-C#2#jI*_R{brW`@I6q13()ZKq4<5j&#j4cHY2c@Xjg6SS8AZP;+KF@XS zEjdWl7|?{cXvrIlPHiw>4&z(Fk z$LZQgGJtMg_9d>-_g{1cXMNHKgkRcl%;@5jb{n|G`8C^6#k=|r9{_EpAqy?q-zv_M zNpf&C6!+G%aB%W9B`J4dJdBWuMSzf4M`J3`IUsI}w z;a5!{tJQAV4V_O`%K+h>-me}*Y1CZ20EBHzJ{UY}a6hcA{X&pU4%Y->!p$<`YFShQ z1JlK8qu705pO~H&c4N-wTgX1JMDFRyN$I>3SaG(WYH?o;Y9f-_Y|2HZcU+NS4nJbm z3UP)Zz%GS6Ulnvu*8$RVc;ts&@FZk$5L_bx(r2^lP0Dvto=VvjEP{8IRxiEf=eQkR z1D8sSb}a9dS`CiNlPj-VLRuO66tDK^L8#;5;0J3Y^pK&4hPL6z3Ii4g{R>(F)QeaF zK^WhmHB<`k3{?6aU8VSf%XG+3nFT|C-mNlB{p?@M_K|DvB{PLwsHQsepjaHx98NcD zZw~y22oH*aKj2kcRi@z(2@p>ULXnO--V5?}FF0W8QA2+TnfS!Q@fAyU?mi;zQIz0ycz&>bXp^pjf?PRy9 zdvyyp3!9+Mu^#%6`i$W74P;pwMo)l$Lv~fr>(m^AVuG}`by3+Y+GQ@8qpgh2+H~-f zF!iNTyfO!hRcpX#UjNJX!A}%(Z9%X+d~eTKQ#>kTw7u#LG09TVR$)w`J6hge zKgik@5dk{L?8Sh9-Uo<)W5MbDQ+^? zqkqLCVDqKFm>2x}cd(bp&U$VTA1dBU_J}p%`_*3ikEYj9`B^7-Jkw#PeC^bZ+VtrAXHgi*qJ#ECx|8%N#TMoAk&zD@9rHHC_a@Cs zJT#5s(HW@Oh}^<+>#0BLOyp7$aCka}E3oa{_5AO^3jN|*-~!2lCk!eD?yvAJX=^)N zedPHTdkI4|^Zhn0e0NMHS@4cwH`PLe{d+q-rcOW{D}AUv)%M=T?e*Juz`U(sU%g5H z%|$umIO26^Tf`+b;oUBUh~;~MKqopc7XYKb043*_fC_-3AL3bpBNg>C!5c<@hgK&W zO(GLj^vI8G12<=HKMrn8F$$(D{@$5Ak9_GmUNhD)uwqr_f(51qvG3e^5ob>rL$#$YmV<1X6}T$Fzc;g&W8*Tz91wLIaPlw7Bzll)Sa89BW&7pw z4a&>W{mKX4M{9V@mqo+g4<$z3PhsT+y2qy_dPcBgr{spml#*b@cwsC%pF_Ls0Gy0n zV9Fm#nX%Xy=+N%({t|a*>|bN`!|cQES|mqBLFlkOBQNF#bxesq9)~7AmvUO~>wFkY z8td7f^}bVe!W9q;ZNFj_BSpTS<_m2X8`$U+_~&)<>fHXXs_-ZeIdY8d4K)S<3b7mI z*KJ%1fIX1^h<{Uxg@K+ zS%+OA2vRC6Y`3M2b_+@WqQh+Zb@1qdJxu+AdFm1?w9cF&aXX+7nocC0@zZ{vO5d4K zYW1m@8NcPZ}bbTfZy{p*>bk< z$%o1LVDAxtNUF=?)AM4eQa|iI9H~@dx@W6cYNHD&nK=m{&~XiC4pck`JiiMnJN06` zsKO~4%MkeedCrb4oOg}5*SqShd9jJ$3MjF`%UqC1?luDZF>W&+`{n%75uf+qNPLqy zl^^Rn3@81E?GNQfx^$sgGs(toNR?P8FF#!{%nMorp>@!Y32`Fwzs|46q$$aA)_Z= z7v`796O2#KuFWL(6JR>(hew9&I5j7-YqzEo+{#ug+*<71T0PqQ+Kc)=J!+^y`5CNp zDFoGdqhB?L^TAeQ)|2K6K*JoP*g1%Q!a{M-GLSmU$cdac^bL4N^=|C^z4c>4} zit5)CCd^S0)4%k9k7)q+IcfCHB~2Io2WNm2y9@wnBdsa-g*Hv;NU|!Ux>LmCV&uDN zAT_i000Zn7S;Rv!1H&Tl&1vjfF8Y+nIt*-gVY^9|*FZE4=A@P%@mTLd+1pqy((m5^ z8g3G|&=Sbo`N?hH4C?Dhx@bo^0h*5Th^_RE=SEgb^zaj%oa0j9zkL9^tKL%fg~zXqQkZSLf3t1c>_;n zWbG)}f5?`$`|to4Gy*?+eICExku4+xu-HV-3CFJ2jDka&cx&rB)F_P35aN=ubs%>X zMKe@pZ@9&<19(;pA^m*`7~4v!6KpeA1jf`~TYqb9QJm4g;6;sm&_<L1&lklf7vqIYrpYV`PdQWi@3u z`(xY&TC5b5@k2?o<+N7zfB@p7>D*hCL+t*wHvIrrJsH5vFO*p0H%+n;o#|fShF8WN zIScLqmEf=Z__{`pngyNNP(|1@A66|2e8V_CA zW2V3L-uF#%g($zoleO`et+w2vY9X-)pyW2-SNWKw6N-7yzOHvr-)J}kp3~8p^30S? z0PoP?*q_wu`tB}uK1{I8K%>uT>_;m3ZTcB^@AXAANRM!0I3)qthXxWb1BCH;to(wZ z(^LQQ38b5Tdk`>0Ry;Q|Ko+cp@bR!K^051O1QeDlb5$HZ)SE&2$Fonn(&k05QMsYf6gzjtIn-+22Z)V*Q~XpVhp&W zk1>|+qPg-CIFRyH)Q8y}oKkm*6zj)>!c`;xbQp##HSY!Qp}8 z|8&&dYROuFBeMmj9-f$$s-&k-AhUJSs7v@G5&Nn3AN{7TlshVU@Z%qiJpYMiO#Aq& znR)LUbQ^y<)wK6xL$CY`_IGsh-GIg!f1I10RUS_&&OQFs1w|*mU#nAqxkR zPjquAmL=c^>o-GoO5#s8kQ9)uFsz*O>sXpW#PneKPyAnYdU&v%8XmDCpB~%!_HC7P z^;NN3?@nozOU(KLZv`bg#lMPv+QRUvJpZGVPk)S&ibISso0CE;*W)`lsqt6a`oWVb z*@MAs=>8GkD`N>92J0Ddb}`OVoE#Y)ZT#ey*LNgWggt~&`Wp7)RcqPfW@fPClw%2b z>PUyPq4QyPSZ}vaFJ;D~2wNX{F@6)3CB-+Y3(1dRSpBz!3%mzIQw0{RA4<=gh_yju zgFp87{?pBsD>h8*d}5D;1@v{pU#>k9ed^tk0%xoeUcLTos2f}<$$A9MYn@vs1)osa z_D_o~uJ&<_PyeYylb1a9=jXMlPQHWnq~A$f>=OQqEcaovWH+BB1nfA2_4v z>wBN`lw-n}{BZ2lm%+V%QPI(IRRhM$#d(XPy1MkK-3YPUIQu+)n@$*+eh{V=8mbwAaqW%1o*1%3bBUg>eGnLSH^qEx*ME&$Uov*=qYuXI{{bjY)T- zV$PmQYyRPLbq;Cwus(cm2sM1hk0`!vDU-zuv3Zy;Z-?pgcg#Hd?FyUrJRTj;g$sytCi3gNvu}{clss)-#H#37C zZn~Lk_bzgfYlpoYdb*qfoOCg%=upqrH)ErNO+oYANtc4PMgh+4 z2-Xrfzo&e}U}Msqk&7=V)_4{c1z(t&`uWKUF!1=kwg7L79&nfvj0W(>wN=j~O7diB z+3pBOZ+WoGlOol0EzZ>Zz6X0KO~f=_B{nnvoeomz%}2QEizj9%nWA@z^KYvT)?bmS zaS%Aj6F=YHqa=m#o|9RwM~&x31W(pWp0&Z*IAm=@!y^hCVC4`Ou_sH=X`h}R-YYna z?gT1+j9$)8izD^!zL3@f=ztmx9nayhJHvY7b&KK#JEk3T>=s}z4=}EB^^~KUvXbwS zo~>63I2?=W%`}j+8TQnv3fP)|8)j@E zt53;PFPoKOykbg(a$}w&m1xDPxw<`9RPp)}NrcO`sZ^)0;r7qhRC>VF@9XWfg~f(X zn!#mJ|9$!_sU}1<4SNz2Trm9BE>Lo;&uZ%wtkO$dV5I)qhBo3-HEhLozHOF)`q8Jf z=ACCJ6~pV>50ApCxo~zM8vgn%U%6Xh94+mRp9O`~ut?k%Wab%B0j^vdP==Ya4OGRw zoqfH_$-`~|O<8dLB%GZ~PHVHYTDn46;~;hhlv4cBsLxowa`K~UTaOgzdXj*u+4$19!M_UMJ=vGxKPF#^sWi+rO@bd@_59E16 zX-@&cyr;rTe7kcmQ=GudV_(CyMEq%*lwR>#G`u9YnaRV?|LEuTZffO=?g)($yVIws z^1M6nPVI!Iu~h1#Z|WLyrz3_%Lpgp-EzpU~v@E(PB=xbQBOY82d^h+!KkJj=CsUG> z!L+o@sOVilyeh_QThs6OU1f_-E-pG06Z&d9bKL_%GTqbDk?nXGwjMWNR5Q%HVzWwL zjGfladK8hQt(FJHK4UMHB_?CqEx2bN-3JUIH>uQ%Ych;Orthd3GMeAI^2@1F7K{J=Kys3(x>zBAmq)Co?FjbFEV zBgL7l&&j#&<{{bmAX>e6#@K-$ri9n-QEnJxo@B8`GUL~(Nikj40oD|1z?7iku|aHF zDZo^NL7sNX>NWhq3&d}sk#x@(C&Zv9l$7nx6$n1${gK&?9aMO>_XdSr=wX~z#{Lel zGA7b`i;~L{3gbdg`}5?S%%x70$1uiAh)>xdHEWlN_4SQuTMeUkfuM-iD|VGF)Y>pn z$F@r!m!vnpUN0R7`W+OP{BmwbDO;$2!vGWM^+k^Cr`bo=RsK96c`6=Qg7=hAho9zP zM0i89^S9IC2lj)rl9wkis;aIYAx}EQFktLZ0COWO)#lnp9#I=NC6GHkSvt7pTcDFOZ%^71ln9f|}1j*C%lxvzD8ZF9+? zzFlLwxmSL?xzGu9T1n>`n2#wFclvL~zxXVEBK2E@M7JN15Z$silNxN#%>_#aG789Gn?ZfIn1 z$aLZhM1U}w5Mx!grA_c2olTOm)KY9!x=7%gKtX#_KPG2TGC%SMs(VpaM?S?cOe#6U zYAaJ7`h5GC7s6in+Na|1^+>r|VQtJ>qD8arpyh))yIvu(rM-RG>9E9jqDv-)T%f=K zAepI_gQXTT_doWH7Ay9p--CGJAxD-`wq^m8;@1@#r@XGp_ELY4 zGKcprumEsNCk4Iog%M@R;~KMb&fZmK0g0X9h)2b^e8ey{gsM`!t7p1c56|aa`T~|o z7Zxfuy2K`66@ExrtZwrju>Pg#jy@@J0ibu^cYQgJDSk>0D+k>NU}X?sZJK%K8W)eo z=wj)kG_(vI&cdMrclV`uAzxk1jR>e9nSai?gX#{k+PLg7K*S_IWDPjx-_UJ<6~fyB zuN-v7)SEVeqBO_W*}=+6!B&z_UipY>wW@!U&I|E*qJF(S;16bogZ5!13ySUr6BAwU zD#wS3J~kbpo{jT^jED|o$wgnJLU!wmais;MdnMre_P)rHb8Pn1Z=WS`{+(~t&Z=g9 z40vwkL0ugiF!#H3d zn1#4X{rdUHNNFV#Y=xiNoAdX(pX#eea$t@-b)LYh$Mf&px^Q;#A8hF4_DQk7v6v&t zmsMt{ztgWu@o@B!k%PC!r43}53$?`KRpV-E4#FZn=7;$GH1Bk{{`yU1iqd&(&?h9j8t0tTn)=JY+>1_I#Xet^Lc&8!W;xHln>|)fi89ZQ2sR?63Rw z`P`#2(GF3Vcqe^FqYYS~O8o5cCnGmda2C>2j>|0wvQCF5zA)&&BNth5lU}dlWt8QD z0Uh&8Da(1RUR{P)h?4kl&xIDr3QUZ#&SQJlue(w!ut+W`2C>O-+&Bi+*qmGIU8QzA z5j^ns1Lj*E!;?@SO>_kfF@UP!IF=Cg$xQ^SRte=57*$->q#yy0zHPrd@;D1aks+EJ zj`=;gh3_=0?5{hH);Yx&+n8;61#@&o6d%P-*-0r6SyXHPF}q{c^HUB4Jbv#ytszng zGDH@GCki<-z?U!<2TS1fuF`Q&gep*E%k+%1m$AO5(VKcTz)jP!Zc1Z_yK$HCk0nqNivnEKvH%f>t}Iw|d64E&08#+xSi>snt1IeC8-SQppVfMcYt)(&h=J zIkq9mZ07?&)K*V=rQ^v>=do*ItlP)GW|2P9;3ASGd|w zCl~!!mL|r4V!J(}q_0qASYjZhd6co(iy*zu9exsrsUYCN>>^#C$sHVbf?Q!sV zG879e;N?PlS=-XTee;Bmow9PPWPA~sLlW6f%M0(v z;z!Li%;=rkvHGr_KudD%PfG=X+6%+W#tuQyEE4-XWf8(onC}s+yuqZcmK<9#Vp<2* zzr>7E|Kf6DGC(crQ{$iC7Om#zP0_)2s9FiIx4FOqo*q56LXj8g4G{y}2jO5{U7ZPplf}^Pi+S|tXU=i? zH0edq`g;(yggG~~-b=EOU&xd6v;GbTJ;gwILC{G*&%M|>MbIm0m=kMBPcIR1pY8o~ z5dsVNC3tE+g`EX|A~^xAwaY~fx{HgUzCp?L^uJeeRIfn03Kddw`rj!quV8=vvA6kL ziO*ol8LKRDM;n(~rzzO|!K`jA3_G;Dz&JV6J{O+}gYUCOXgsSAf05zAQ=ffD*aZC{ zK3VIUJdC(&Dt#os@QkX%*at|0hE}m^*T1%JI#hMTQ8c>vjZKGpumkPT{)x3GFy!U3u}DsufOS>! zA!LGZ8!^kb>9@u+F_>uWEU^<>vCP(mr*1gvE{845nx`jUA4!0JHInX#izn$iOWDh! z-Yd##?<}MTv1iS5`DE)*h}kZrI28ob*nxxLPKfuI1g}P+HaoCjxnmiNTvBJ%4gu$n zKaQD;V6^_Wjz&JkpKLnT z^h-3Y5pW9Ifsq!;5`C=%i*R-Pw1hJ-K@JPceO^@I`PmD&*xWCz`gao_5XoYz(X4%L z=PeL1IDPhn?6Q>l((JjoYB{!J_xBO^0q%5kbKi^J?OKpGsfx#Wyqza*8yH z8Ho8JuF7o6IgLaQyZ=0SFF~q7Ep0Qmsw!0%MKP#dS_gW}AEPfK=Y@n?d6pt2joO{zKvWbK` zKeQy*!9RTnAtu2ebVTrOdT2<=A|(+F z=VKkYJw5A^qF3?rWZCAp%Y;;gClkb`C0bAmpX6K8=4j4=yntu=9#m@4n_NR1XE!t4 z2CZJhLa`-xKoCA4OJ=^U*$W!;eL#t`UB!oXoFkH0eZk5TD?As3tZr6^H;_AS{`+b7 z8e;~U1S@|=2Kel&bhjP?7Wj#LcaUYba?w)xm={8;5a98ohOBK?FYZTaFsno6`g=p5 zTHHE}L!TJH#l_W!2}%66hW7SLe*WM><1D2aCAuJz?=pi%B$6%?pT!ya$rV|CZLSu( zva+7d0_hzc`W?}5q%wd}pkWbe?aw$)%otUXj?&V&o;*)LJXE^dYLvgu?YNASVt;IzgBFADc>=wm=soU_`bU4 z>d#AK6uoaXS8}PlsD_^phAUjLJUu7j*SfvOrMJxQWaa{_^nUj8zR_~mO&%iZWQtdV zj#SeciseR|vxPidr?yMc&McH$%=US{&0On1uSG?1hqf+x`SWoOCD%XlbjrxyjCC*C zmA>0uo1=7PW<}U04`E~h>+4<|?%_3GXJHo3MGsm(S*H=z7PU(WTN|PUJeUp_QAEG(Ny(_wBsylzy+<#sRptL2@Knx&`mpLm$e#QkZj<=ty}lyEJ2h7H;*D#6 zm~h5Q!gY+Zac2AqtRsiQ8}O05ZNuN)j=|nwj||Z|;7xDpfwfn6f-$miS5F0g4~V41 zTKs-Z_iDJWxkuL4H8cCgIJZV<;O9k}r`k(+Fy%oCMK%*l@)8NPwur2)sZ9`ES8`Dc zmh`DMxy)i}FT`IxMo)sGwWU0 z#p1P(9uM^J@>ZiqkXBFXjmpjy<~5k!@M0 zp+j9iw$R*Hh#tVvb86yYt@OPEIoh1`X|Ie`SqpAmD&YiFFqz>fE?{D>1l401F>#;`8e5m3o< zZ=bZ!S12zv*lH)eOH-^E5pc|=hgN-w0RH)Wbo%Xh&+9YEqKtp5vKHlE_<1NmlQDS3 zACrNFVqfD36>&*=XiPKV;;KM^`W=xc?S`XX1Yv72I3=8oY>o#rNRVq+^Wuj!xB0n>kIQ%#L`+#{ zbamBd<5SVLBSCRYDmF#f>FQR17zz~SZZ6sX6sYU66YryQ{y&rOD2h!qV!>efacOGT z>e40Gm0i@*PTrolkZzFX_hC!$w)`Y%{3Oz*mvzYI+fbHe$>*4xPtVE@iMz{CE_v<7 z)4NC_+=%~xCCbOB!ebwA&s7zC-7ett;Qi`gS#}m3gC?Tk@K~}B7pRN+^gQ#I^P(n3 zMyhh&HT4O^$@e8IEQeDafLwm-L>g> z_|>;+-xX*q8|MpBoW2hUmO&6 zh6=xS%C;-qbW?3@&-l8&l*pKG!xk8RNMZ;_;hFWq`%;rN8=f7m=R&}OY=zA4+p;=E zFeFjzQG9-D4S^DKRhA52I(O-?Rrdh|RprkRB63;r$k4yi9_QTzR3VK#J$mgpXbGgz zHtIm}+k0v`+9ox5U%_;1HsFh;<#9RZh2V2#!!)r|AG#|t`lid&2)Cvc527?um-`hm z7@izuJe>pl8WbeFX=7_Lmwzd>v2t0 z!|)o*x<^*?cGiLYD^U2gQzftP&e|9(!Ww-k6E~=`;RTL83D#$R3-RnOMl>X-;)?fw zQkpSxL7$+)rNNhE<+qW6(GoLrMSP;_{2=1U&L5tfkAcGwXBbO8GB1^WLbvsxzJTi6 z>#)a#p*w11VwR>xP_}tAPbUXmDe~XIxOn^Mdw*^g!mwmvBNOeUSyF1q{wfcobOa@( z6GR!KM3gbK%i>U)?ZCQ;-zFY5W|eK4D=|_g8+adj@u=sO?=>WzhBQMDu(h-fY=qT} zG?xIvTs1X$cQ`IwcHX~oA8v^3Yd2CH%9);UyR!(tvan5Q;^9qAQ6KgxQ#<9+y7R(3 zS@*78U;fdIc$wwSkE@D9t&(n`PVMJ&w!yRY$iY0)a?^&?Esh;nyQdpLNL1TbUfex2 zd@iKunCjG4fm92?Yp{H5j_VfZgsnAL13Pfezw!v~kKaK;l$a=@xZDm;Uh{ITfYZ%y zH!_#*JI}&PA6Xt}7D+LXU3Pq7X*w6fNZJ8Lk~s@2wX*Ccxhm8uiv1>-0N#}*-ZmYc z8QPh17bX%)UXT{D+~6UfXiR$IE|n*>b?vM&HkTW8$89Rs@BV6k22dmr{w_<|DSx9}m__L445kb2gZc6U) z>QsM?Z}2S^Z|z>r-Z~x5GI-qHaJF&`+l z{xb-dU?UxP-GkZ0kc1Z;>L5OKi&Y0Uo~+xUGrLF@wI0m4S_R;v?O&%ZY`7SsH(~_b z_j*f+RB0f^vqci<1110ZzV$HF%DwA*%l+q+aaN?<;p5@fH1XWNDqN-)C$VK{A(|dV zA*c4nnRnw^eo7biqjS*;fFtIjpq)hg3Z>6Yt2ADQJ>87kC=|qInxD$*B2kRNI#^0s zGiACw!fMs#S*0|WySx_nEJ?_I*f3XRF7d2#?!6;v;U;jI(wyxgZ4HZ{BJl?pLJi!HM!dCE~NUJWUbd1#ZME0m*|^ zBOsBKSPK5+4ui~(q(b3|Dk%TCMDE#JJfnuB$WrttcQ`$({GBZF*^1wV-H8zqLVKKL z?tIu5ZG|JbA1x?*lDXijv!zK}xjPlX)lD=T{L# z{#+4Ai7^e9ZO?tk;-u+C!#cMi0Qvm?bq1kNS}`4f+zRca=x$YHogLyG8KRkCPu1}4 z%`Ha)N|;ZS#t$3o=V_~&B2M+9wik9k7y$eZEb;2T|s(i3@8I zxK@ERCj-{pb+G2_v5lhfqSqdoo>bFc@n@C0L<8fvi#|1%lym(g?d2cwV5S9sfdU_CjHCA%C<%055|!C1yD;cd)OzIncd;SaXZ{@>w$KI9PI{QrqB-4X|(;_b(MA^63rzincOkWMXtGAS&gf#rX?&=)Fm!I@SBN9 zAfitB{!NGEhpbTb(-loHicLWSbm(_;*RyzGV^+6Q?3N$c=#qGutGVPMN;WLw;1tW{ z+NLQ!sP(vRS+=&EmraK@B64~i>JTdpk5rRlST2p`#`YZT>Z&}~!hi3`m}%R}ybzQW zb{)3B!@&;X;mW#$`3igT_?pNob*-@O~K%G*Xn9l z!;@9TA0{2)q6a58(QKr3qmGL`1jZtBCa=uCW)qfb#=n-TI%T?E;Mr4!wd3OCFPFnj zak{l>K#?>3JJvVyqT8T_Gy@O&dgHpexH|8IACn88-8qTyWCAxXK@Gx*udkIh&BihA z=rks=dD-qOeV~Dds`6nMPJo2)GnG3bjhj55Sm=b@U{qB@M)uMl+4aK~?S!7l zsU~K-khL3=M%U#9{azAHky?M+_Dia(|h zF)AsI+OB{>PBCTS2yg2?4v;Zn7RT>G7z456PeY6Z55@nd`vJg>rOFQ)SB@lXZ@iKi*Q+*Qj4 zw!h7K;BEsPx;0MyO$}X-Pn|*Vr^-AcJ1$q>Sua#3zp8txP=H6U*NpsrTXZijYsqLi zAm#!7y}VGXdciVz!S1R3@Ql20?0yCQJ#qe(nx}lx-Om^PZB>K!6qQR zXVCyvAs2NVypr}c1i{wFe7*d8KMqSS`V7GR-FIfCl-}d8m@B#m4#`Tv>pcfL%qnG- zvCrlnK=%U7YzAO4UwYxioCAktr6T?fKswcu)#1swF-zKqJjKIkph(rb*W5de#L3wl zUemsF)aZPh^vBn?a_Oug0H(kU9J$2IG55)q(^i!oS_ke+JP;Cr#MdIu7o+uWxmKP& z|K+an-{&|Pb|6@q`~+2d2YD8j(I}dNc7dR0!!8~H>2~S@2t*$HR6#sVz|ezfD3NFn zdKqfGk@OO@X2Yc8HT&tAFrTR_s^7pa#SIMFeI}`pNNUMutLvybyyL}PmOZQQC*eb^dw9&3mp&6;&xpUChBG_-e3W({Ax1`1yHX8?l=0pq zD0p;zOR9e*;eL_^k`KmcpkvEX9V>XhTvch~ISaYLd^|Q7JRcO3@>r>FFB70Ul}1&o zR+McC-KEVq7CNI@k;N4>_djS{)&ja|ygdhbcY)FFR5srQ$!{Oq81=_*o9be)KleT| z6g`!1V1;LT(((|BVYIV$Kad4{klJtvl8}(td?lR0;g}4jU~Heea@Z$@Z=KfRvk5P4 z%(m}3{i*cZFV749l_@yIh~XQ%ZNu&GX#12D%Z294%l*YS2*@iNtT^HBsV8y%OULZ& z@be1asgHT}tw?U&qWbqeB2(>Uy;Wk{(#M)QW_%u}FtCscIyCa;IR zwE$a@9apAEqA8&GkxRMsFHN zdUSNeMIBugoe#U#ABq}Xev0l{4<~Wbgzney?)AgbW@6`p8J}oas^YjA<H}hV* zmnqqIHE4PL#B?kt_Z{JSq`(2Al{^}JFT$-LI7&BNUUyF%P7PKytqL|9Hq#g=rf8WurgXttrU3jqz}^TZbS8r6_MSK z%B*PnuNzl{T_^ZtX~@%wjArNu?@e7weK`C#{l}_X+;rEr9R(*SAzlp|JJ$*Or2(HCOSLbU|$= z*`$sO;(IiF+3?^6sp&n=4p!hwlW$q?=M&@+l+=Q(rZ}e`GE72&&-vnuwJf^QtYKDv z4ocTa)OVNhlGNqDu>;uEv(v&4Z9if?Gn#ZSfPFMW-@(&#dE=dBJnC;dE+deP6Co+Z zAyI$!yCHr@@ZF9>vT_(LSO4%8`;BHn`+lABpw6^y{^Cw~+x0NJ7w=rn3}-<$ z&sh+9^L;+Wa?q!XOdhdcKMo8)?243mWV9wK-u3n~CfwhNa3k@0M$0_JfO|Cx$FlM4 z9R^V`C)8v_h1eEq`A&x5mTxY4XO=OlaaVDTdhk^lV6s}C84-bTE5G|fY-%T84E5q3 zL+&@6NE#u&A!}^DJbw_(>!FF^e>q=gV*vM^h#nK{7)UCm8J! zJf5Li;xWksHE;&+Q)U5I!~rkCU;Y$hpgm4r>gdwH3XlF}_ie77r*aeEem?s(_(7|7 z%zpdqv&3XkHuX<^0P@`dnC zcSj3V*YsogaR%Fe$t?n`8b>%VVXKNF!BtX!pn46?L^eR-fqZH-I|u3&HqVH;FU? zk1=`JC}>N@9v-mH3laXEf8DDhESsPpIgnE~MjNRDJ>cC`wyGD}o@z)UO|&!AK#|H|jAg$od>mM4&X2Hc+|wa(AjdhgA1{(Re_MsC)>jx9cTVev zFNO1<^L0Y!Y9y0_(c+Xrn0S45dOI~X2R=Nyd3>H~UGaA>X?$M|FJgS2>*}xh_*L-L zXTHLs0^^syB$mV(jUIHe|FIL_Q<5{1>d$D#3c_4vapmz#q>c^_to5KO|3SXb2~_%R zwg>$5EXUZ_+d}?p<@J?P!ph(%w*ELTN&{6&{51YBxbZVnAY)a=XN@yYXC2&>#WQtJ zgXSc)jj*TA*j*1&3mnjs4USe8$%Kz>Yc9z+7VPQ8opH1*F)WCPn?q*`sWa`PZc-w% zAWHSPY&!tP16PS+bfE&7Co3TGn&Sbp3@53$?f5F3yR8(5+H)q8F^ZPz35_^R+Rj1$ zdEKU?Va#8I_OGUdu){sL*fOgeG)f^A*qG3Lm-1w}4;b489#7|-2`&MBG`<1fis0oq zLCYzB2GNyUd@d_fx}cDg{OL0I*z4)j)KZQW4PF_9!XAV1oUwUn1x|~O^Bp>BnWTojl`JQS00J~4%lxMGg z#oowUrEWmTgWA`A`GpW)ZG=*19Ury=8k+acSZXh9^|mCzJ{8#^R~J2yQF^vzOz z_6Y_CHO+qjsH0E+D^N-<;6vofpX)C*F0swr2p6sg@2il8%?$C4CF$V&D-D(H^9UUW z6A3pTNMguA9-}G#jEc}(Jo`;&eo3uUn_ksrIhmP-%rd0}h8)sfoDS#=ro5zL_Olm= zCn0|daz*Z_O3Vin*AyQSyb=Sxe;e5Ia^5OM19Lp6!uvx0yH1TqsRJc5U3t>c3wr#}OR9y_o4i^9|5^yhVkJ z|1K|>i8gA8f7{PK=eh9k@jw4I;e3D|(KBG{ zw|-ZC@Zof>od_FuA^Y(<=imY3wlH@QQ1_n*&?CvLjONm~*REqTx!_#Z4;vSe=90pz z$=`W-t+p!**5YOytpy7#<)#8Si@jAc1{MQ2`{Vz+0mzBf?3WP_!&{Znv9OSRjzGJ+ z?E_xIRWcHWzkUY>8OyU31UHOvK%r`202dc>0k8|xeuS@%A?MzV_9{SAvvVVD+lKB} z_N{ASYkx*wbDLx44&L3`*)H(og52F_wDkeME#16T5(n-B+(+LbaL*%1=UfMj!8Iao zMqic%810eiv&3Rip5l-Dp-kyZ!1Y=W5!m%@xa1&Z z5@2|$`8Z3|8+07{?SO#@Zpk?lF+$w433%u?`!G|VvMF4yj^DWCLOrRuq*x=)lf*EO zqHyyl7ne&V_KdCnMt0X~WfSYM^737L!~X@3I^LTk+;68iR3tg``|vFMN#FL`nVs~e zMqZldL6tGgJpFH_sJGM0ekS)oH{n4r-C7dAe_#e_%mU57?ei1?%)>k!bn9=CDVZES ziGX?Be~~kW+f>mYp2JkR_7U1MMP^oa`lZ%GbJ}wIEx}Q_!>vu2Wx1I5CbDL_K z?B_5}Ft~tz+H~rzy5zixu73xW+k#%;3A3a$Ud$L6(FW`P=;ajAg5csbl`l>Kugn(x zM<6sIPZ2P{sXle0RKt5uz$JG;X;C4k%8!lLPRxP|Ke_WTN{jOalV_RLNA4v&4Zx^& zkB_HY6)$=(6!3z(821=Syv!_QQf~HBO}e!EO6!f?ZI30S_siN2KC%*}wYuCp@|P%{ zny%x}tYENK?IPonbM;_t6c654C4(d1h=ipDA)nKX@2E{wDVxnc|v#Wcr3yFHX93wPSp`+NOq-u2+UfuQ|y};T{*s5|;`0L9kvE@v8gm zbk*c`F|3-$Qa34~E;*l_d&Zu!59heJ=+Ym@!8VkeF zIA)FZ1qC*UrNEdd%oZVoYyu_?^M8J%x=r>etDl){JQFx;6VUd7|Ly2ab-#27<}BR5 z=)dGCk(M>JBa0YF;NKp(nNF9LTA2#5b7z+%@*YqSxCuZ?!NMoBaQL`0^W*1c7xeFP z-1+~At+>4y5_)Ru%sS%AFFANOn}XF)XRH8lb(;j7;TicnImAAKPehZzl$N2Nsbr6C?R^kzJUm!UN?~5=A<^_9u2ISC?B~1UhOBbetA{Rz1oT!j(-gq^LE=lG zw*p0ZdOt`2VT3X~&-7$T4rfzWX(@tT+=J6oomAxJQBPUalpd)TYA)$Lk^Ntaja!Q? z+Y}x0o<5;Yue7B zR6D9S)#4Jn2h{dCz{$8Sz!S3Fz(Df9zvq*EXfM}CGXee;v?N)nJbuZBY z%iSgiB^Q+<{wjfa3^BPn7IQn|@>1`;jLv2ZFLCQ{Ptml0#QaIp9$ePT6oYnnPz8}M zpS|`V>PNR8ayIhrLSuv9Mes!shUhX(00|Ku^$&t4zSiv)mII;{d`4Kq4UA};LgmG$ z*~oXoTkZnMf&h2Y{;`N^Gq{tGaE+%Skb*4}BQ{UXN2vVA$@=ZhC8n912VRMWg7Zm` z0Q0ecpGJ)Nw@SKf(z4Ye0<~P8K;zZd9{fH}DA+(qz$CRj)zsv-mw&<>aHnX=8UE0S zqvM2gIofVaHE29B|Hel@&G(uL=Dq~sxS}o2 zJwY~RR}7wvw~&h&;f}5Ub4+a?BiwO_D!_k>dohpIH#hIzsEX6$wX9ED`UjgyIx>nvzeIm9@!+YSGwe14W)nbqtk+344wG%?;sut zrCq}gVoH=?Z1 zuR^>^UP$rZ0jdc2dqgRGV&-4K%#ob23OE1RW24{&;c@|sjZ2SM-m@`t2WPs-_>9op zXJD1!v`upEahRFFPFiSu5RX|UdJk;dz-sU#erIi-B9TADO{|0H@opTuhQ639(UY25 zT4MD2>|Sr`&Ummkicfs=q#(vK!Sv}tuGgcDHU*JjC-QAm<9rWlfP?n<9FYgG+4!L< zsRXG9&1e(mT7o(}#-)cX{cX(hVF8+Iohcn_DI&8xjboUkgNa(hoael3o#v?)yS!Tw ztymMLofon_QykWTs5t@;>0s#xhHi)HH9F*?SG%8W6ySGv<05~$Ej(2sFbfC#lpvS! zXQ667zyHPQg~p|7TohR;FTYp9q&0G&73&8FIq(5i7&(!3(V%nOl7i63D``6nz!U9K zSL?Lvbf6so`R9y}p%h`JP=VbsK^=DEt4KVy`X!h{m-L>vlDyBk5{qn;tS~V{E{}>3 zpBHboj!jg6zpw~Sg6_LG5%Y^kR?K^8B=UDCExsr0{z|xRK?Y!~)JIc>6e#NkkrX7X znPJsqXtIb}EJl3$BsF-0Gk%Od=lWMDBa3rSa52WA#%U0#ofB`imTipye-R4F*Y6(0 zzQ~0%#x&1lA~$cLh}U{w=b(QKjaYP@ixECMh(SRLZo_+DQCj&DC~c1S-qqWIH7Shv zP&fj+r0Wn1Cg)_|rMv!XYy3JJ>y3k)+FwiCy-uU?VD%O+T6 z{o@(fWYve5v}lS4YuJl?d&I~P2wNZJvCF4s;+eSs)z>gSMnIVi#0Vol)5nWPL9ojG zbQ148$Z6|kEa73cIs<6rFD(bNG}GV!Ack$gOqgwh06*epfeFOGsdN%SQuZIkRt4$=%J1Z-s5-Bpk>94WKn-#;1izaRWCv|n7w=Xr&qs6$^b z0&^CkW8~^n2(;FJ1nZn*Ro|V?Q4nT#dTw6G`Vu#3x4`4_krRR<58Ms5G<;8GnF^^M zhqhd|TC0?@rmz$Xiuif=6^XFDM`e=~A32Kpm%5tb0XtGt7KV-E{Cu8UD2n{_^`Zhg zLXzE}4B#H`>{{U`jf=Ud!4NwZUFVbk0M>kSI`Q9LpV7=eple)RX2Kq&Du&@>a_N{B zw|gwZ-&wAhs$6hc$#J_v%0W4?pO0^^k(|G?w&*YcUwT;VPGkT6y@h|sz9~jGIp|Lq zU5RfXk+xzH=r;jI$EpQdN~Ogi3GDK*HcvyLUXx81ud3mqfmVcZO4pi;Qf2Vg)k$+yfg%-_^_3tYavx**($40jZ4cK#CV!@XR?4BP0Fmzw1b7yRVz8vD zH|YS;%9c_o@m0+wf3F&h&Z9`Za4RG3vW*0Dmnn}0;rwFHGq3e)1$1^yogXZ}owFzc z+2p9J8+}H05;Os+3KJJ6OEsjHt&tbb^bgbt*Yltjb*B9R8Mn_lFNClI!`KdJUO5So zvH`PIPe7*2WkpTQ5qVacO}LarvcU>0Q66*M&I=;@J~4v36HgwhNzQ+`s}I8k@_897 z7<2OdUMVRHDND}TPje2xDE8a*Dz*y*x@i*enmwt$-eI8R#Y~G|%q+D(DmzxXU7%pF zqUnRBx!>Q#JQ9+x3^+`a;F1WwhNzEFxNxKL6f?(_q@k7{x=o-U%;@y-ypXox1Z3F> zzXh4}iHtNv3Iw5_pe4NX_A>SHY7hax|G^R-iMK$q=4zc$K(hZu)&&e%CYNEm7Ysb- zHu!2#_v$%dS3Q2kja9vbw=PJeNX&_O^dU|R%2S%HcmjsxI|goH?{;@2_Yi113OfuZ zH>hL;ChW^ULiV*cx(O&gJySCoTI+0p(BQ*-E8>n@V1eE}(tqrG=M6mPHTZhB_qYM9 z{dN7K_jg8i5~Z~T<_hfDB`%+G-BD`Mp(C=&Gd3VRkvq3O}$S8AfARJ@Bz1X1BzP)GuyOm8^ zlWk{atj5cgC$1FE+6R@!^}X`q1uxZ4i{^z?w6uEA061;N0+7En-NDhBeqRg;I$XE! z=BpmA^;o_}Kt~khmWf(tWP0PA&{-e}-g0g<78B9x4Q@E1P#m72s(1$2>xuna$WQ4y zHsVR!K(8~!B{s>Lc{`63rv}*DExJKH?-r~^NO;qHsoL*EGOovxjSMxt_7+MoyZQs7 zAwN&Mp^sGB^INx5CDw#+!rN4d@w<#217(7uL5c5;M{2iLz>?G#=8#K%+0+q`O+oHQ zqAgebPKN%dyMGeLmIJa$&w{GJ;w?2(P9)F^8M*h1HXHr?&{li$Lq4MgoOCS>H+g0C zO@UQYJmg~Q?8ibwI)pd@At@!MYZg-~itX+ndVXxJ0R5nkS`1QPF%W0Mw5H8+gwRAb zaOd4x!V|q!SmM8^!XIJOtBmVNTVC)|<@B+We-g@44b6zcwp~?RoMS~j%`KZttPe&QcHahka2wY!eL+|^AOL?N>rfstiZ^}Y+ zW@st#p+FKDJHzY`4-0J-B9}+LH%>`Xw}X9X983q-nx9pu4_sTpJM}wYCT>>l{iu%< z>vEmzt#&1@1=ib#$OiBKXq(_=TU$aNN@g#cO{<-nXH{}VtB zo|(yEw8}Sv4~mcAa=}6B;aIlYH5PRzK}znVMbTI4_d^rc~C8al>=XdKl+BKYBN?<{Rlgh`%!ePG+wsA zR{HeUBUUHiee~f0MB{qzo5&*=8kB!b^MG;HMdAxp?ifodS%MY?fW#&Vm5F$~j zVRY>tkL&M;`CZIyWy5rui$;oPtEbZv@&MM zlh!4-SzgOCEop%TMBWSxDuJ~t%+3(4VKFSd_stWdW2cw3l<`G@?aAMHw7uw2*+Gyu zi+9%+9sl`v9U&gnhS^LN_rMy4M;$}uSBaY*>i$7j)1MMRBuIssWa4Z@0f9`z3EO8^ zu!e7u{lX24VYR-#0ymt-OC&$z;8S*C8}M%TJBO+p%)W=+S+h}C zVg4?;dTAo~n=tUVwi;9!ll`6;a&yuvK>&gugIe5s*t4|KUtFvqY}y;3y^j9TX_0GF zk!M!VvfWV}!epzi{jy2fsMM|a<&a`UT++9k>AIZPpI4k=-c+U-!t9D< z2!W`>>{Ug;_My)N;0g|oz6x8{Y0MUyKay6rlefUmGQbHI_IBFV^%=wK3S}58mc-ex zT>b)Eh7OS@m)96>ceX+Y%X~28xBylZUgVn;oWSHqk)TVd7R$X4Da3vBpmz6O1ry>J z$j3SyEYf3)X5vBH?iJbEo68RZFP;S^JUs|TzENZv!rn%wmw}Oz#KvUaGkGBbRnv3H zKg^C2iTMpuE(L9A*MQ0vlKo8K8FhNgVj65c3zP3=(pYXUxQh!!V%k&Q$~2ce>pt2p zDLI`T4hG==la12M)i&Ad?V%>_%O4gEAAE0Ye<8qWDNkEo{1(b#Fz1R0Yfi?@xd53z zBYJ`@WefMnKDv07OXSUdXYDV#K^O4O!Ai`}8(#UlZ>`{R&)ZZz9SHY5IPNB&1Kq+}@qRRcfPy z65aUMNy)?dinaqSFDA*1|1*~xv0eL*)vXfU+N^<&yec3P_nLRnAaRuaV&17R<>`k* zgJ&ia{=8=V6K(Y>hYTK$_^c$}Mg(8u*kxtUG1N=1WU_{)nFyyEz5ifDe;9FRLf^>nSKC2@GZnMmY%xdpYS_Ssupw5 z5Ui#}fv%dFR(5Njy~z6`4~>T0;l32e#h3W%nxk;D##ZX}m2(3GtOE#wqG@5!)c2eN zZsX_O{+wfM(8-@^RXcYSgbx?8bJ8!b5?ad9Qwqo5PudB`L`|Egr-i4H;+sgLsTHmE zu|2tLpI3F#^q9yiIi)wsfs!ZGHf~*TNu5VIg>Zbwcj{u z$kk?&I|(<`7>|b|6KX7n?B*xrfD~cB4FX>@9rZ-w{^Kh&c`+r4SO&vaxXbMRYWOwc zs1|$>iD5OWbJdxgsA0N4@a~jI%0t9eSnRhR=Ge59YKZdgQ3d9jK`7uO_FWCT4y9DQH_d*eR^=hRu!Vbb$x1VdVi;DHsK*E5)B{2Wv?4OWFAzv(760> z>lfGz9$)VHGGL?;ay4=nGM7yTA)36n;B{N!V<142SpgyE4G&S_Yc?EaV%EFoQtWwQ z=B8=F5Ph`|lcW|d~PnRB+PtzEpvyh>%jG9BiFsN5t9)W_>v5C_KKaucw%76 z7hxAQ93dnN=8;OSRgG10+3Tx+rpa{!C_{FGAPq9 ze$r{X-)nE*+@GX6J zNL4Rq#!#V6;;0f1R&F>p#}Nj{tfpEr%$?OI?w{3EJV34ot|yWw8!bjtwVW%j_|CaXUo^X2+ITs@e-p5@m}mDDb?IhkWDZ{m0&Ch7L7*eQ zal(CQIM&r_mfV!g>bvEZ6pUVog8=GH%_Tf0g3IoTroC4Ft4uINNPGHYXGZ#nM`11{ z51mH^I9tkF&bGlG(a)apte%a!63(b7r1thkCe`#Cu=m;nWeQ@W-c8$1Lt@Mq6Va5{ zyb62-myUy(enA`km+w4U&)(t;eyu^>P0gh|Ci+1c;sw&Ei~b$oDG~)K$c(m3b-;?z zu{7?2*Y68;#6HGvE!?^&-lSNe@gws95$Wg6ygNkeQ$Phq+M_k&QX0SlUd~lm4vm1DMUW)<}22hCSfvqi%?^d-`&Yn32o(29=8ypv}WNz|lz9pp0z=Pj>aa1j=5IkD&!KskY1f^s-GB zQc=7E=6~YhPH~hb1Ua+ECYGH-CaPmuJyVheyMD|Hsu0aayg|#2l?P=XsrTPgvGE;A zuvKo{u@s+%V#wT;;do%su+TW!g4fA~wLsmRLOaE-gQ$Fp_a@z7s+%`-@UP9q*rRt> z9+7>Nj0&cjr-!IeLz>XNjcL1RT=R9_y@l#>9(BKxfl5v&nvv^g71{=T2o0^>g#7oL z7=}XQ^BR*Hspe?bkZyZ-i0T5YxrHEL9wFt3kVe_%$}%88$Uj}mNainhxNUj59mjRB0Wo}>VA!rIil`z%qeQ`exMeK`Fw zSu`6+O^ZMWV)wy76`mS+@e(>X%sRWWv}-O~F2>GJkg-hG|E3t2!eIqEvj z%-5kkaK79Z#2F%xG+ezB)(CP7iDq8D2EeCg;Ii^=zK! z#IDZ_gxw|5k{Z)u3l>0Z)J=IHZFdED+h^0h0o~k;4vm z`#LppBg875tv5=m%RZVZ`Z?v1k`?<;(2c)h$>MQ2z9m{wG?7Ig3~KH?tZy6hvTv_G zVcI4u*s)=L?T!ZfeOt2vYV7V?ZCdbJWc+-o{F~GIwj$S$cYHIle!4Y1?)9?tq`s*1 zPKnPiQ%CCqt{kyElp-``Ao*$f*T3hJ*(>uDQul6JwWPYy?Ah$GD}r=G9;QtF8k2RT zQ2w5~mr$yz?4!DtFm_Hw=W6fJ-){*!B;UE=FECyg!4Kks0S;J&L{x_WZrsBqTK zDtb-jo1gy#m>2laX_T;OoSsFdlIk-TSs=TM4Y`}u zW@16%sl8ec6@0DBL%Q>OoPWf8xR7DG35Sg)$5gL26G9c;rLk2KbL7n0FIj+fv@7d< z$GSC2IwaG^>3!uy6YL681~=LF+R5|L1e8V!^Ox#g(uGl0Uq0W4SoUFfdIgW|k=Wuy?Xyd@>%zNRdjDs%2FAS6fuDV?ErL~fizGIQnH7-f< zIWTP)>$D@1Gs8K|N_+kZKomDc>5G~*Os~T}#mKA-oDfmv`7R_K`sS)UJ}2on^ISf6 zXxU>mO9_d0+kV;n5a#`E^}*_d+gU9rj5gP&EATs0eW62tGmm9*Z7p{Nl)gEsx8ici zr?VS4=sT7=xtG57ZF#!OaHKa@CYoSU47@snwGG=h9kRC*5D*acQNGIC8W{1H*J1gt)p{!@2BRouvhWR6IF+O zw8NsfIHe*Sl$b@U(7s~KYeTfix(m`_$KIxi{0hEVco=kT<=6q$C9yA34lh7^qJK1Y zFxl_aU__mr+$ZW%-=`o=4|j6!YhOI@ZS%GXty`Xse}k=wjPU>?zvsoF-V+rOkt#fW z2F0CLs!D@hQL;sCnVZ`*M*B;H@`ADV0^weh$v4miQh!GO0C;E z|EgKj_J%1x#V;F7Z<@NPFnh~M$+Iv~vB7q`jZ^xoN>+oQXQ zujR9Q`YRN4#ve7NnbDML#kaRUR!g7lvTV06ePfC-Tuj+f#1lPFt|wL!f0dX-3jW13 zXR^EZzHVJ}k3J%}6N0_kzgsyEP7WEZP5*G?9dU|3ClrTXyA59aAn7{bXQIs5FpbMw zlK+pdE02eI{r-axl52^w(?VG*TOxZTl@??dBH8zn7)i9qv>+j5Df_-U*Eif4ahPdqh4tBXcw5|`$)x7^)l{7YX2m@`V8P_KPXH`F$qs=9^)|NQSh3$* z#pYb=aR^`CguDHX>mU>teNPrfHr*Q?g=d7Tas%m)ZwS<>KbfknYk2&)bA>^^!l2W1 z;#F!y$B0&rdv(_}_(E2Llkzv{xcKK`_t<+2vRox9-0G{-Q{5(?4t&)@kPZ{x5a9oNu=3)x`PGhATs7pj zx1*R9yd6njaK8#uiS17Sp5Ie8!u}RTe}}4B&o%&_!Y+?nauO37N*%$%-skvkADur5 zWlVg-c|Ydw_dGqZCc-g?3OBoF0xzc~?Qj3kxj->8*w9B~Gye>!zP0qsh&z(=Ws(23(-7ZPjjb_&QovZj#BIXnd4aV84v%iV6bOGP6`h)IIH|AX5wLkGa zYnj=UEimXjooG+J7tSz_LV*AD3y|~BWs84#)oP<#eEtZL69mw4$hV`p$~j+M>3Z!! zz;licPJ=Bo?fNCwA{&e0$tyV2*;fAA@%V+^KY#g{rBz#H90=BVPEf)>pVz5n`xfuli$HSHg3mRK0R z{Nku!Q&`VjuYFArj*Tcdlls=`^mdw=#m_tpr^eN!V2_E-TWz_vc% z`)*=#9eI~1@{f3viLe;QW|xMnox8tk=g8g(q8n4%N{lua!Y7FTS@d9ItN4?nR=TH? ztH6l7?+2bMaMK1pe0Yar?>trftk|?Ruix*;+fbM>;eRN~rxYR!y3WfmE(Mys@7TLN1g!>x*B)5KEVW}P4d$p4L@cPnYsZfMft0E}*0-@5$UDYn!a5oDR{%7{_ z=^=orCG*|7!~{=GyQvNJd+r1hp8B=koAneqSe zpH0`8TlaRCrFMu)`*(7GZN2zRP*#PXSVC1ch|&6US4dn$Es+U!wyZ4L>Gp~Kt<<*< z4KFGNE}VXE0X%VIKJWR%V4vIqu4c>^epk$1_6Z%7i(ufE6BP8tKQcrNHWJv|e-e7n z_*EEk;Xa-QmQuK57HI#~*>}%z)tcFVdSSxW@Kvi7SH3SQtRxQ*qqA*hFS}QTfxGH^ zwMX}hfqxhQEf8RIw$gcT0R?_z5qMH`YWj1<{;{<`Z^7y_gx0}(LcW)Zg;pH@Jm7t2MoYNq;ZvALc<&rwIAMcjO;D!x9U9nQ8hf#=+U60<;wpGk`Co`b$Z6XNLa9 zX!!fqWF?FvF-iVBOqdtmTJODmpqU|{TVh<#4_nL{}{W`AU^&V*M;h`Wx9tyvDs@lO~p z{rn#Cez17N^2Erq!b4513hR^8;p@xm-Tl5BoI|hy26OT3xqZ_-zQdjl^Pckg3n2?l zmc_$^#;ZwetJ6+49=;Y%*FC#&OfnJ&26HNU@;0U~@f)Ns1E4s)SGT=iEWoL`qcr=# z;EW5rwdD8r|NTE~Bn;8_+SKm<3GTf1n-j3lTsk*dHPQKeW2h0A6fqKE=RSS0_xF&% z7Z5WvfoE6)!)_S?q_b|A;1ECGcl3vd*kOsm`2Ffo-p{bA1EaQoKXAH)^%Qrr$RCUT zy&e2HV6JmxUedTvYDlM($Z}IVGz+K6n#Wl5vJT=BS&0?tG}PR)qY zY^lMV+*jMbn7_XK_xJw!L+h<(I%`Eq-eA$6&)Y!leH65K$@%?7-%5sae?Iv4|Fx>` z4qXfn@Fq0NC8t^6#61o^Ah9dA#6#@P)8P%giMRs$VIM+H3XQkTG(3(!_qbg!GCrs% zOLnl~WzX&C{A;8ZGJAeRO@$-$PQ0=xo9R;*ZD380H4zpR7wB!0A*R3KcF}JUx4jxh zWCRCYk(P7(Xatz`sAJmJ;@|A#UzDzDZ9D_*02lL2!^3ztuqXl#OpH7t48=bjCH}<= zsz2Oix6&+m|A1=h5pM@8gc2`ld~^Qk0Nv*Ak=oxDf;ZzCK+B!2&vJkB(xvyOH9>)v z)2c@2d0aYrFKvY5-}|=(?!)=lOz~nP&L7@kpZFO1-(m)Z!Ca!(HgXW+3ZoC;HK-5+ zN=FD>+~G06$i;tWs15YKPPqDN1f->FG-V#=oV|a`lD*|{c1gh{DUv0k7gIa#9Zl@NgbT6aOx(k% z*}jQJ48kKG?(6XN2XiPMfj&8nG;gG@wv5ZN3?^(-AAx-If<%TPP}u5LT`Pe{lFgNYVlWR9`4EYf%14XgrM2!z zSf^8igt49?s=-;8_#JAsuA~}!LJI_8nn8ZZrt&qLrtOp(p*IehAS;I1Lw`r*Ez-bP zyieq!@rp-ymIuDx{?Z38bA02u_qd8OnDx`Y2q_));M(NUc+=l>Cns&MJ9IM+^)BrcDT2e4|1}Gwvu+ODe?rTJ(Jt#ghh3Qye!{z801_ zGru2(R72?QhKmqHb18nXXMHPM6CyHDW`TD9y)b4+tF8|-MPsPMhR0N+uy7VHPf=mtc6fq9Y z{j&K;3U#g%I)%38?~jks`@oU!N>I=1?{fS-ub2mCVd?;F_eYXE`;<)NGFSOt6t2Rg zYrHQI^0@Gjo4|V;7@E`(RgeO!vTrgTzF`sT(XOX8-!y?x;%hzm>NFuLI+Xrw%eOrv?ax6IfO zxz5o4JofvqhcIVSk3X}2=ipo%GKl8#KKxa?s8mJTKgvYGUVp<~BjN(yV!baJG<;$r z(nT<87!UcFSt8~(Obs!G5^$`9Irlx+_2~FI_ znKMBGHUTD$O-d&04o;MB;+!P8xim(JKq0;1Z+%yIl|yNjFOCz*#>R{8PbMV@nasN++Q;L`EK@4jw>eX%6|H zHeIzTcr6J)J6tvBs>TiGjV- z39!`fPobdOp)4w-{F>7TBtr>>cYYjw<>+K}3X(PVFv76E5GK5}T zr~DX+H$FWX_c#nkNBX>C!BS5Em7ZWBnxNI{W^(Z=F1IAL?vB~#P5WsE-627_I~Xzm zmG%sO7U6plYR>1;#`-Vmv-4SD7feJYsRt8lshHu%Dj&_h6XDBjJ7xGUS~F(8GCr&5 z&}ksrqUa)V;3`QmIA4JD+&o&hoCLMPawK;ZR5VDC zgezVIdM7PRu}#kFO@J7i=C?wZJ^lIw-wWvDrU#Y2c>T|wzyB(<%oRMcPTu(IGvNFa zhCS+_^5o|e|Di(B?o4jCXl|D#bAKAB$uwhJP}FqUCTI`IPxJ)0c+`>#kp6MHj5|{8 z>knL;{`wU`PFiMoRYcSDJ7c~~s8sVL8**p|f;5PWydT#jp7`}L4?|4Bd8tUGS=6^1}ET;q7-1{vp8=4|@j z)^ps1Me@{c^p@~>g!w_&1YNOB#%q@3xYsP;wm_hT@BW_zdRVrMz;+$oRpYq902M~g;%`-%WJtsOSCk|%_N2pEEVQH*z73rKH!a|GTS z9~pO({M3Bsno_VZgwA; zgW0nE<|cSvSb8|vP{l;(tuiu2A%Ty+r^HNkKl*^RI#vvvy-c2|l#i_-*ozg#$kMqu#j4 zB=&AzP($Cbo5Q6Gjs{5gb7w*J<4Nizo0Qk^e!c(>q)@9@8A=D1a_3*3PB1LwCHeZ@ zgs%RV2(BB6-tHhLS5V^HUP~1hGD@O6t-#$~a;nAke+;r;nEshzljJ?UQD_!W71 z^Ur!G!8FA~5vK672Cw9s+nV|xwTl(7Y&hv9D!#bm+SRoMissHCxH_?$uUi2G$g<|f zeY?*f%d}x5#80o>n|AoBs_k3QWTv(y@Xct{(W=m8mFw~%M{WyrouDMi9iOVqf&z1~ z`e^FW@lmV8^ykUo>-mQ)%kKs0O)$)R$k+*yxMFJO(JvWIimPSpa9@k-f+Wbf99^W) z+%+q}@cg~B4yg*yd~$cx7aXo5pSM0pulpVp*9OH^s|wi_%eZ(J%}GWkQ`ZNcJ2Ahk zaHPK55pX|C_Ljo>3H|^}6h7PrhoO&vrTB z%gh)qOOSAbRDvEzpnF;I5gv3ss(xOiGESRb06zR*63oWuBWte|e9`}TP?6RyL5Xtv z)&N>Tf!U^@qDJ!3@kKnF&i}SU{0r-RI&GDnmkfDS>zu}Uc@V*MRwTCPnZnh-)XJ0j z(Vx#M_*H8q*EO+7iT#xuOttNT3`hcrC?#?&eqRmq9KE zOpjJYaBDl($H)bhj!cs%oE9VZvA@GZ{p!n#T)5HQ%$V{zXUDm_7wt9hU$aDZl6=3% z(Xx#1II74?+I+WE;*@JXtds=Fv~3z4ztn!ebcAukV3)WwEky34d9x(^K${GYuvIS& zP0NLrEh*J+q?(OVvl#;`3+|ys;5)a^ziOyC@H%eIE>7t!81&9wfmuC9=VZF(u7)hG zt4$Ugk9G*lHB6sf+&}6Odh1sSr?6F~+s(__m#A9Yp3^lO5~bWhOHrITTIP_Kqjl+} z0>>q7CD7$*MtDJHo}brY_JW;`Ud<#qG*Xi*3=#fD+gDGTUV0_-FOd+xUtrkZNa)>G+XASxsbGo^V$-q>>hoYV%}52PQ7QYhzL&`cGvjG zTL0cFB7vcqsWanvuwgpJE%lXshnp17lJ^8Iyt*ZE_wqyFcqnum2_L1oS zf#?>cxV1V+KTla@_Z?dUMsxA>G%^H>ZG1}sQJ?v6f-1ZDAcd6k^~L?~2oW90{NHXF z5BB0$&<+czBYBly0yJ-CKj*ja`A{;l!%k=$h)Ohx!p@%oTHYrKP=l7@fq!IxxX z7quydEPdD+^$e8C^4U3@W$aQ(psM+|S2oXk!mZbn?l(sda?;N4Z=oHXB!uxaNfGDo#0{OFau@z^CJFUhZ^WcGh5n&DlZrwL$8RHB1W*d zhX09!FBt(wc7o!JjJ=nseh1ffk^xeRSbffR_YzGd_HqbEHUs7B=Y{=$MZk(SVr=a~ zOVPd>Zz64=zlSB^b=Z#Pdw?ks1O#1=WO) z$sA0d2~tEz_@TBwQOaKlU(cz(p^5m zSWRqsQm4`?(d|MsXkE_L5tEU^Cd-&g@}dmO=$KdbvZlfxryM{p(B>jKWmBV*d#*86 zGcNSN%VdC5gNa)bdBoTv74nWKgxu!IR(QxMO#2iBaF4L33O_M`Kca=;M~MMUqY+qp z;N^b0i`o_hKU%XZ|EDHt-9#Z|HZmMUKSD14I^6JAqZ0vEHohRAC{I^_;CWg_S-ViB zT73ckr;v+dl#{Mpacc&_!7`i$p(F)b*Q$B!sL;nvScxbG)?7M~xE=s6cHygkRM~hr zoFE0i`jLQy9L(q^pxgB`_vP z_uJx}v^IwtmoM7yOqM*$vtn zA6jbn?7(fVjKkpw)%V<4jY=W~Y9X=kgjPkzJ?kzm>RWDF0IFwBX#~P=z17cIjc{n- zr~Sm5NrL6e4z>XJt?vwng7;WtPgRc}EzQ6ADP+t?kCb@+-g6u7h7(s8xf59sCu`$0 zJcl4Me=`pjN<@FB9g#UQ^_CqiqX=PHIvRKB4`|?EH$+YrQGmNOe2QE3UoG{NNaVJ{ z7b4;4rHoX$S4o}9viBLhUz4DaLw%8;5p$#YwJl7LgiJcb(o_E50=)Bn3!oVxu!s>F zn*-pz!wqbW)BShXllGuhm})2&uoxRpD&qCKl7ImvgOgxRNWLnl(({!o zXRI|UiIkmGLQj{;vx-&Bha#XTw^aC?fxXH{ecu93`2Lb4mP!kOv0uWma#&ksi7Hx7$37pk^GO{*S#ybUVS64oz-6w z2xV*aeC4X99> z?Q(kC~Eq~&|io;2f{ zj||@K?wJ>u2X#4D@9CRgIl@#?X{(gHd{6>P7vHdXq6M8-A9x<58)m~`lf8|~whqFp z*yVsinF*6Ayy!#|8l&yd80|%`N_*gw%Lx7BLlpy20MF#4ET~W97mjf@xq2Yw z>#M#$7feZpyJ<%&I)d~neZ2yGf1Yv-JNJ&Ap|86m#9?{F<4e6f@`jrD<>feRN~bne z(SG;M8Xu*7zwae+q-~$6!gAs#9Cw!)-td-+U&Sk*Lq#t18r4naLJN0ANV0_Y0x`vh zYMcb8^k6|@%?IxhN-|LR^XYA9g_)#!#y`@HL?ARILvj07%5rP3T=A{D`oYS}Z^NR{ zpU1@#W)=@!+;eHDro!Oow-pdj%UMjmt7u@dGJF3y>59yc)j7&uCz0Bv*Ov+A@3p?b z$uygK@?iO|mAEvL1vs(7!~5HRsh-gY5fSgJfEv8QMr1n~ z4on)5f$s(US-~;u`Q^>c)-I0D2Bx6-gd%x)_k?O@1CFWDf?~_!VZ^LwPkw7VK42|M zVRLo*?a9FtAwKAhy@dSeuOG6Y=aYvgoPH?l^)06bk}16Fm)Vts@b9lLa!3RP6I+#= z;67741G2GLmje|hoa?RbydvtA9w5h;L{2;*4;!{N&W@YyFZsM}kuR(g8*{*&OXE19 zQ$3}F?g+8$?1X-JgjZgw0?PvxbMf?$<=P(pI^)faE~UM-X(VdwvlFZD^}!Az&?uclu22nepK;O{ME+aA@3SlI3a4(g?4r9O z0B-j@18x^%3(ugmxoTkdc2dDMnIyWl&2=rrw|{iC;gyGe6R5(}NeJS}fvS97d9m_# z(xlq=eQYLM7`G?V1b-MRY-ujy@;w!9`!$X$^xn%n;`?$R+UMuqhj&GPmt=pa=taP( z415U$OQ{&$5H5CL6~ZwS?Q)DZB{Uva3O|!KT7IOvBF6d#`x8-yZYVs1%4TFZ(phHZ z9LZqmB^D@d*-;f*je4NChg-H?;Q=c!TuA0*awBvFm(e@Jq&`ME^uz3mPwlRdP1ee8 zpXxzMV)9Dk5U&VA*e4xRNo*!0(IfIa^di&W>MVmg-hy{QoyrS`VGd`2mUG?@klOdh zgp7Q`2M@L>B``71D3p<6?u23BRwNcn!xsrgaW%Rj&3QiM5twB4`2){Az@L;sJ#uwz z@WKx^!y0rx;^C!Ivk;KZE*g(&Mf?0AjE}sVKmIVR1E zjz%~4+!o5I*NEDQQJ=z1GaJ${i--8 zJ^3BIjM0m*B{%|!C=8G={$l4w=FM{446hCiULqT_##x9m!tm76Zg&zQR3Xa7X6Wvx z*9u5=y8Es~EidQOF}@Q7KFC@`4}sYwQKm0L&EzU$r~bgPh9t@gV*$Z}$|BtI^;50}Aax~M`@l)G<1Ihxo!Lhw&H-X2I~cfm+)BlxHHdh4B4^W(Z` z%Pnrcc9py0>fC!8L?J^XOyN5xL8nwip#aK8cR(4EC^+&4!p0kyF#-<&kJ5GTf#@-Q z(j)wg;`VQp`9PuzPha7E0o7g0o)A1_G;PCR{pGr3BylHeUY z$zo1j5Idej%@_HQz}XsT?~ab{X(Bok4QIdqdPKn`bF;fx}VJ{{G<^Z!I@vD&XNk^x<{DMomF~e=RoF(n9CY4 zqu-0{O90=A>g8y`nG>Xo1fW{p)0zG0I-FNGZEjC`n^d}8xhIV55v;QsPIILVYqd`RUF_832Q!3B`dHUsb zw3AOnL5kHOWQXY&JOcgn8LQ#+a=ihmjNV22<muQh|W+OyE(>8@MSPFAGRo~fA3@TXb+p;>?qYA@`Y=f&%PiJdkp~$ zJ>YL;xHSc1uEzO(I^QC6ikZn@H$I}v-MCQOH~&M~qVEU*v+h@~y{k1td?zZF(-1C7 z0vTzcWpW|Ca$dV+6UMv_+op&)^&(r#@IGYfHSL#Iwm8fcfKGw)LZ;y%l!19Cs57mP z2m38s$*`Oc9jSGZ#l@PsKb>wFW=KRE+f2l}_{;6rtpesMuVAE-iioD_FEopaPcP&ZM z$43=!AVa$&-!;$?r}&V7wOU3RZ7sFBtoRzBeYz=#+4yec!6}wF^cA6K%W2f~_{+gL znQFivNJ-|^K`j_6MAd7uxSU=(;8hZwMSX;nutdUuGtSVL<;&-1sHVD zQy*R$Xush|@$JpOWkBkjdpl>PkI3**Ckg9^;yofaZ{|Tovmi@@42@+X_+^)dSd|~l zOL#HIRF%#dLUkKhwI@;OW&T*hXOmn${y(-m=Lg@QnIug&rudvNi8WC`EA{dPLe9HR zGcS$-@IM&er=>ur9|`y zr&HWU&`Peup@zgw=_{9Qg%FebBMM$1I|o%h_6$M6JsQ1tO($QXYp-JZ$`aeUvA9OB z+mu&9^NyEHm2rwgkHv-s;Am`1!WeXQ73*n2 zo=4YuJT#{7-5#Yw`#2_D$m}`f#U6t~1vx`A-;CXYg|*LkG|)Od5$2e+4^~`~uUGf4 z_M+Mo0b#INI9ugIy4&dVhcf9Fw6XE3i!TpxeAG|cBB;Qjhp&Pp(kgZEy;4xM7Mv8@ zEp;vTL5mT|w5-TLKaq)JmPH4D(s*w3DTC!tCil^;tXlv4=PgMVEG&J~!>0qCI zn(6sH_jS`#HVGL8lF-I=@o=kF#TCSM`~0laa?7z1L9;NY-JSWD)AGOFWEk>% z5<*4oMRf=7B&fZsr1OT0?YS4`%f=gjHJxYeu0{&EIM`(l)lcIGy9q2sX~jb@d!f}FNSieKH9D>HZY-~JZc z&EAsS{zEdK#IK2+PbO94&oCZ%-22E|V$q;pu>mZ8=dzxww$Iq{gAE^&B+-=!pLnS) zW!lE}WD$<4OGl9p;*B;LJQOWbXv)0jdHNP^(2^dOlA{>O%gBk$Lmoc)Nl^1Zk3yaf#MQ^ey|PSzEsU}$0Vu6^mt z+LR3cLjLBVpCz7F&mWzzWk;>U>NRHQSfon|sA^RDfOE#!1rLC8cKnDDdquIk_2tR8 z3ne~I=xW#3BKM=`&e24EHNlEUv%&kY%8)}WCXlBd`~4-nvpxrzyvVReiNcuF%*+e- zL>BYO{VhutWa)#f5{li0s}oUo(1Nb)Whg1!L~SE;s5gmRP!2x57s4P{?WeK5@{&kh ztNCj5juYtonNn^wa76-+J>h~75B+_2`p2*Ho0`t5kta@%hx72LRgEXGmnDQuCsc6J z&Q7)M>D$64@l9)e@dZzRa1)m%NtG!@!eyJ~55qeVoNb%34jjzilh+EX>k+ilr^zkNzjm#%? z{}->QYM?XG)-8D&AYoT=m`%Sn6dl>vn3{c|SDco^&hc^;yuhBx$)S9F27*Aw(5FrG zv1z>Qw#c%75p+9v3Axo9r^vo_wxLh4O>qZgUCpPN!@JC{+w76;$a{qjgGGkB^IqPa zPnoF_D!;L48vr|K99;;s{y2F`Vv9|?p}h@BT(3{{Eu2tNltr@CuiP&Ovh;B@{HScl8LnuonIh#w2p@X$qQ79oYm6fORxFVIOuD+baCU zWC6p!`(L$r4*_&Kt8!lEZp>;-t{#oPMdA|8Z>td;*-;lS2e@%U?F4%z11n6ZF_+tA zxx8j%DcQ!2G8Q)HJ>*M!S>h>;yW@hq$5`{QyCB5;bBC^stFU)=xTT4e{maJA+m>;q z8|Xyi?pJzC$b6Q@@k4CZ6y!0CwEw6*DiGN!gOa28I^VWs(YrkTsK(t|L0)}uz9q;( zs;4xjF}tv{5&giK;_LBlV{N{Kp<_qbz0+NJk?BhFcoH`z!7}k|NXudRXf(*OH2;nk zYGBQjyK3RaeI9t7g)!tzJ=vL@>%O8nPleFeG!+{xLp7mvG;$;iorY>N!l@C_B8*)( zdZ_S#A|Z~LF`ekt6np}Jk#|`qUrF|4o%D0eLugAikYaN`XtmiD``B*5YQQ8n$rWV< z?2YqjZ39iMQLlJKkeo?#<#oTMLblelwv;1>3mRYc*^Hj%2;KqM9HniXS@Gte<-H1@ z=6~MB^Gu}1@dJ5dHpGFz&z@$qwedHXiF9(0#zzOFgmUuscaDrCZ^zVKUmmJfXLK&n zzG~E1eWkH?Yrxe-TV|(QbWcD3que~fk|6k0c#h`oXKNmN*+XkAtu1mbOPRRw#d+#t z8_Er1QZr_X*{~n$CXsSByTkS}`e`CFW&2N_dweBWwo4moV|)S6@i8L{fv0x%Ywy89 zUPctPrP+`ydL!IAhEO6ATo?r0l@wR(y15KXUqx3aO~OUT{B&oup=okmJ(YIjxH&+^ zYmj03eIbyVaXQq9m+NkB{&`>PqXVcV7-sWyNw%x2^zMoV`H=a zMdl0+y+Bo-Q)zqzQYh1S2=5EGWBS6QMe1YTQ#Vdemr2LBCEKE{(051Jw7$RcTiPO@ zh`?~E=y-#`!KUG*OIhM%!)h6OW!y0Z->PUwu0BLsE9#={uu|-uviz<~%jG;z z(CWM!e?1;~AV8wSh5QN`;DL!E;Le>O`3NNgUD9jaCCk^;F$$90d118|CU7g1+pEWXX*G+;8x{iV}sTGXU@g!c)Y1qTngU z1V&F-z0cze4E+5^y2e%2lgvH^#JuRBkDgV6tQbAH|M+?Y>(=?Mx$%Q;%?#`U`g@m!c0S-#!pP< zyT)z!D?ik$ZVU5?0P+8kUXV{>13I8%NN>uJFg)lTNrTmc`HtBZfG=m&A2m#kv&0Vl z8=Cj6z4_fUv1&9CiVJsNi}7K3`E5J#PrQlMWjX)b)nhyZ$9xa7eEXVt0>4A_<)Bz| zh0o8)?1hRDq?`Gd@?um54Yuzhk1t2Mfn>0h-QR>MQ<{+NQwHm5SfXIz3kBE?1Fv`%jEV}NJ;8eKXezJQHz)Aaomm~Eh3HPkF$FAG9RRaCM%r3`llaTu1 zuHL3MLZP!7O$)1sNThtY=Co`z%BWalCr)+`#yi;kV}t^unt^); z?M!QLM1veEesF2|twzGu@S4KLxm^G$ZVcikkcFbv9sR4f?fB$P=bl1r?n6Ch#V8*?}9 zTMByO{@9erxKF6ODu4hyzm5s7e7X(48w?+^v!7#!iWd1ibh9KK4+-;%J^s7+|oRx=m*5g))za#dwd$%`Uw4mvG2%TDyB@xeuw%BwU+S{T@ zu3$RME@}eYu7?7?{-Q22LclMiesGJ8K~(x%tIXuU-MAPvqpu2~~J;Q}f%u#GUd$!>jmRxn|VKqYzlW?*wyu6yk4SM9+)JLf)Hs9lY%F`r2B=Fkij6Y%r2t5jI7)&pF|7o^xK z;KvB8TSdM+C-qrOJ*0+ zc3PX0kG&!N{~2~rS5n1-SKxLjQ-ZhOyChKj9#VrkzIDg z{slbHUmcFwlyC?ZBBbTu~5_cyU7F7 z+qp_n>H{H>QRe{lkf$*ZDs|aOW3)>6D#P+;Z(pPzQd4>bj(UVCB1aZ!AR{KmTY2^s zW7PXmg3M;*p|fC0u$P9adzOK$F9nKBk@A-{Ck6gzW0=M~7*N9Gj8qabH8k;6QNm>) zJSWo^n~Ids(d$VR8g0;yPe|JKphRKJ`Vo%2Ox8AApv7f;Rm3k+-HuzUsWCu|$i*CRu5Kb1~oK*fuw6b#1r zVCl@mR9M(~A3zx`$fz8)3svADl^qY67O(9&4D(B5j66;?O4Zl`X={}^f}Vk3M8EiV z6+SyZ$bg6X3S3H(dg>AECk&*2g;=4KEPZmDsp-C&5*I^qf=yN%KCBSPs|{NomIW# zcWUSnhRaRpg_wI^h{I(wKKovnrwt%6Wr@U8Z`gfadt|ge)_gVuh0vJo@yJ;YOzrlX z4Qw`h1Gx0WiBLM8eWz(GDD2dfM{_GPEdUrFUu&f(JVN3$j!d^x8H=n3Di#;LqMhlcS@VCAGI)66`4oJ7*;Rqd}j6VtUV(+ zG9Y;DO^cy)LZ(osFqFuoIL0`~aeXk4BzE6@TVJV|v>5kYT1O93rd-x8j5zM}9iSfx zj;wt+t$8JLu#tQ9h3_IVhB9hZpu}G}@qsy3yP%oU#*k1DBfLlsGLE+wb=)p>kYLHW zxJi2#7@9Vri|0sikV>>tr<9)6K#$$OD8u$!nFnM5F;fytEEw7 zFz;&QnS#zM+D>)}-RWc3kt2`+D|LRw_I>1nQiv^D37y96t$g-GJ`Yo2)D9O99`&)`Xow}X#=S`m;lScyuFF$~KwzoVprISnf=}p8% zMH6+%InDfLq~{QbJb467-8A$|bc2HdmIy?;~~m zozPcLw|gOLa=udMxA(?S^rdJWO72-i~6 zNg@iH@T1!}2r7eH-=O#1%|v1RAndg2k1>|>#NZ%tG%qF6?v+0qVVB8`0iPWskCg+o zeO%w+^xd_L99jZ6A$(Mi_H<1e3|ijR-oNiB)63l%zDcndc!gjD!DR(=w8Wl3lf-3$ zxx}WxZA(-~O$;H3MIneaUzQy7W@ik1Mfp2INEgN_)YEA6ELD*-s#PNDFbi+~+MOQA>(f?xs;C$s!83-+LI zlnCOGQ??k#)Gdn*@vub=*dkOPUak@dM#sKSJt;iosNjgz@bJlv73))n5uq|>7aY?o z@`Id#p!P;-CoAUyRw!4(C`-g*q#Qi>Gb`fu^{E>!<-X3Az%;@k5HBCZ?*LGfLrzw% z7o{d@TP;z-FwAzu&UqiXkJ}Rk4!JNYMOlc91nc9&_>cwNRdMuVx{vIJrRjc=twquE zVXGi&HMBgf7u{9m8V~==<`&m~e5rSg42&M0&Qy)O0S7ZjxAJLvXsEITP_-1;E}s$m z>o`31KVatI;oi?@VmhwemiU3wLJ@cBt(mBZL60o9jA0!!a)d&rS~v?UL1FhZi%d0d zJMRu&1DVhlcT#u~w2mb#daY9UEUwWG#bbUEZu?@7%uRKk`(!10h<@tbY=`b_C_AR| zEzlXK6m`|Ealbb1FHu3oxA%*ntr&9dK*XZmtG-=$j`8SmUd%0cvKGrX=OfZ_C#c$i zp|s)r91ktZg0ZH9XOdsmKJKPyAD^~MEl%8wpMosm#aovLbOJ!a~t#f1YdHkm;v-JDomlF!Ml#wN&T8Cn#ybZc)i zyP_XJZYIeu6)F89h^2TdDfC>SzNyd6Am;MEsg8yyTLf!8%)`F;{jQrScH zpW8gyK-^|H=ihd50t$s6oBqtkn4Pid&qnW{H_HBdqmo%&zwA<%lo>H;N@P<2WFk=W$e1@09m)+)YeFj})A4Ox!cQ z9r7+yW6O`$C-#!kEM&Y8_gU4KRqgJOgQta6MaM%KQKC*Ni-z9m)H-HpR#+P?!i!ma zwoMST*0h{&Da6k$L|*y;9%6wvwxCwc^}ww+yM2kmSzQAix~|6=F+EU_@C>D<$4ykL zj_Y8hSv5Nr-6o9XQ43=OxwXCx#7_%7Brhq8vX?X!B*!}d4!7421YHuMD9!dh%yYK* zF4`c93@q;&r>8m}KgK&i9P?ln;YA^smEfPYAC9V~?V~`pdDO!B40oqS6XexKC8AVjlc z(R_td#Xe~lM^>BT$MkPc_hC4Jh+@>Qax&V7Vx{*nTTFj%)j@A8mJW$tyKfII5kmy? zU}WIYSema+T6J3^(pi%jn6R<)+;`1 zl}|X2|E!cc3k8#^d=evugE2sRZ7n9&9J1 zgZU26ZeU)W4hbqS$2$mlzStSQV1Pb7C>bKangrRxe!!_pV zhQ)1rv1P5WNjlgh+`Yuyk56IGYMUAN)*2E;U;M^v3*Ac`I5zz&%Nny_T|$k`0J0ow z`_>?bk&%7~`z2?j;gax4v?#oG>UHfqcKalM?7&vE2o^r&c!l|#{$PCEz5yc>R$D(= zwzfOr%EahD-TQMT(0568?Q6`sDUTf5R8bj$ZAlO>%IkWClnvLUj(d%*tlo0~znq0^bhmi;a~#wfFG-xsQ7C4N-JFV`%U8f$^TWcD`O4+g5G=l*I>%|0Jw z)S0>mwWg9UTvN?HX|NOT<74O`+4h*MuPE&h*;Ikay26e;olPD{)%lkgG82Rt+Ljw} z{677Ud9TRf?0uM0dVq)0P=aq?-NBn2pB-?v-4~DMGQ*v}3y-Cl0wFE7U>q$huU#`# z#PoE28~)kK-(OcOcu3qdc<1%0EnG9N8Vo6#XW>aPwu(z@lZ#D-z4NcpXVQv}5N21V zO^0_zYSQcK8~#;hotsctS6%uVI#H=Ow{@mlAC~nefX8 z6JNvqr;~S2aAUmSLO(|SblUDrfd4&NZ2P{OMb9?=_I#veE9Fj|3N#~Cj@IOxx z%+iyRXAgdRjAV~&mw6uZM`|A0lNEEhxTPDB1}s7G)NeO$Yag@XV-9gJMn8Fg^;-Zg z(_Iwhs%oYnhCtr|%-ll|c~V)Dzq5w?n*6InjIPWUuTbG3jstx4mNIsdGgE*Xz=in^ zk0fK}jIzV*)Krc2%@l}f&yK29c(V_QXQtB*3|z)5jSfMr;=*{Iuj0J6(B0IP3p}V%KoT6Q4_+b)oO$9gjZ2g^_V?jljrk18LhB-Shoc z&+U2F-;kb4B8}}govg-eJtJ25)NmBz#10k0=`xg6N&ePt)C;*13f#bj&;zEZBiO!rWh8rJx6|0;6B^lb_TY zG3}7ixMnRxjj2O$p-zjCZ!MHqf8pAYYV*CR=sgPb*DZzun`dK_(aHyl?A?UdN0J}{ z!jg?~x^WxCIKct-CeULHd5mt3!dOFAi$u)hpFp) zzpzlS6Z4r(N}-~VmC>_qMW5qW0p}tT2CFI76 z!NY&(c6NbW|mbHpyu4dF~HeH#FfvuNpcw;-z&z@h!#HCMf=yEab7K_v{=U z4^v^TU!0x2#*yi%TK^+rqaMfWUuLfMF2^Tt+cXMRi(>kt=6PMOmF#x}-64aIY3K7i})0 ze>Z4Yl!9|tBzJIVNz*Ts(9aL7LtQM-?#;$l%0Z&r(vp34M5tiqC}Z}BEM5uNFmwi) z=uiv%r8DgXUGeQroK~*Zvs9R0a48Y<>kJa2RTgbzTM>9DOgg}hVx3u;9O16cz6Zp% zIz6sNYQk>JFF2OR{L;-1D-8+?7lrQ|ns6IzG_ggkT#Pf?x2=BP!4x3sNQ}PRq*#%Y z1^-Dss@etUZP^r`Ju{t$KHgiwvxP=LAMzX%XftWojZsA2FQ8}&7?B=y<%cHz0>o&x zghB?oJL|nB9uWe2H3xA<4w8lE$YW!I5#RoWx$X$QwPkc3KKIPktejo_SKkiVLHGE= zIl0eb>sgGZ*H=%(9N|LQ`9&Py$K*HPg!v10Y;(_QANI&bKN|xJe4RVOg5j)x>44c1 z1W?XJC-bT1%gFo0vVK&}*^){$zyt$lVp*;Y1?GBv3KNDRj+ku*_zSefccIn1gbEAs z1Yk5sEmd%O3@OpAO@mc}aSqlGXiX~PbmCpIKz+fB15L%A=!ZwQA3)-fC)m{4qfZd& zEObIK+gSk1w@c`-QQXfV7AjekpSIlA+`|l{CYs~>O?nOt6+F;}q0$8J-U+&uN*4Gb zNj;uGLdQ@~E8?$)6G|1(>7iEqY4#x)wP<3tFdc{gM45{ut5=1KQgbF9*w2bE8`LDJ zFY4MA`+Zgi!=rY{)PxV|=4LQq{NXww#(y;XBbmBBbTeF zkc`=jp$bJ-8f1s1sa3h^ZMvUB%r*2zw-ga`ZStO?z%wYtl8Kn@$f=kN1CrYh@uzhs zPO6KJZ$lkBnQ0?5S~tR3A(lDvaF+x|{BznKGVv*>{4kg(+2!;YsI%^oXRWB##Z2+~ z>4@9lJ#R$;ZV)E|;@l8%Y=n-j)a^u{pfp{?6}PdJlmB!ChTe*R1bSVd^LmO2h#!9AcA-Jxk=J zvZz7S=SgHLl=`WN`ExRXKht4n-<)B>3?oqr7?eTFx%>b4dh>X$w(oy@Biu5jiOi*< zBq~KAil_)>N|{obhe+n()pbLeilWRCLP%yZG@!{GGRrLUJY@K-^P+NI@6Y#l{$SY}js# zRQ3Y_5qKGe3S;*R0+R|erVi&y@~k+qmc)tBNj&hpL*qt?I6)x^oYD4zvdI2A`+CB} zOBO~mCMw^HAGN(pPMsu0+ldPyd!a?wc#NQsZkwr(+BGprm4k^f#tXJrBRA8;n1cE+ zArTNaOE|WSVerrZ$l-51`)FdQPDiKJBaG|g%vyS;cre*RwLTsvQ4BiR)9op zL%s0aFmgWyK_~Me*MuVM67P*`MlPEFbK-d913zd5ex$QD&TlqOPM|Cj#2R#h7?O+c zDC}R}kIDPXB&-?w>a*xmEO{TUjGrzKq(!tCl4*UQj`sA-^`Z#7ydqrmNyZuApZDOt z!Q<`Dcg(+mUEK8$Ee+opL<BL&A zK_-;T!uI>ujLNlSgsZUjLx@^|{mf=${gYTxYuA#L{_Rh&ItgfYoUG*qgc)5iVpijB zYHIRjC{k)#SZKX0-8@%8MKMt;QcYb^xdYzb5@RrOyJ500Yl(kpZh7ICq!USZkKi)q zAUIjisg~=?;%d<57(9)Mg?W<-42Ocu40MR+nus47b&buinH6$aD+o^%a(c*4$|-oB-eU)*toKV&H-rSKm0a#x`+35Euze=Uz+1u2{Fym`gm ztwlmZzsmfltg4AkBSOK!pIgwVFia(ovQGtSwm^&CDU!_aeJrths@2<_{5@1ci{xk! z2p&!Io;VMcP%=%WPYfrqV%v_Nh~VV#LJL;0aZb}p&iw3to)g827Amn)Xcv0r2fIQt z>X-QwT${Wn-yXL9I3Q!u-{2^2Jl|_k=;iULutZ(QwMLzjM4Pv#tF(UlkRtICYU7_R zg?%G~j*2y{tWRQ{^E6&-D+JRxkFudkTbZzRh+f6VGgC}5j@aGYvNLEpn4}b?jer0H zt&`7AN9lgj(O`fQefK!cjYK5Jj4%RqCYZ0v77`cf_Ceb6gY_s6>ReR;o-(>xr0WWq zt9@f}+$Uq{mnQ41JGHx8X4A)$NhqzTa<(h~-fXesW_o&Sll)L2byW%i_NpI3v?})z z3jXEadjXy$0oJ;k=CGzaNro4h!E(ph{#+@F7U($VA>@GpOLo;Ca2_UMi0bDt$z~#v zLMtY$X@xa+9^Wyq{c`q})Da{Sx|JLCVUuQI9Jox@0xTkPEh>`4oj1*E_0JtV7HFdz zd1U~cnZSbBU>6;-9vbp)(LN3Ku@0e%UW@;h=Jr+Ck zTO;%Y_b`lLRpU}2<6zB2ew4)f%huL=u2j) zxtxG{x84GeJKfQ4PzMdo-g4xnW3NMnba<&zSeoWK)B?rS72!x$=*Ta0=FgChl&UpF zBGd~c-UG?3M$smIB*_G|qGZs0#Q^?70(t3$r_5g6P4+|hyAke8L2y7n!%DJUBmwLa z!-lNkJzt1TYRqVS=T2>7YHO4J($3UNpGluaqzx5ywcS0e*uzdQ;v3ZceD2gS)E5pZ zN2CDwZ;B$f_7d-h<_}NI@pmjLdhsUUUZeb{w}eg*Tp0+JLdk=C<7b6n$)T{Gp-=6o z`23=s;enysB-?HJTtP655EmXy$V$g%R))*w7qb)E?toqB_tbCfQ(IvH(x+wSTLU_X z6Xk6e2@eYB3AREvoiNl7)pF}8%SK)ST$WTXWRnb6vduy1W2r!E$W5+xk)yVm8iQFa{_`1HCae;ce z49|OnrH7y#bX+f4GPY+E$LfGar)4s;vTm#+a5R`UJ8or^I2IPp?RM+vO4gb>S>rm_ zSy=kMtF3(LB;Md?X8|W&zU8rc&b>+FA2CuMs~DWY7~Z zvj^)pk`X$M9|iRAO`%9zY#QA#jV74J;+FwMh0KAE?V)8W{OSB{5?e=L2ypdDDOieS z2q%$@%zGZ&9vT~9;CpyJW`00SaPwanCtcxpa*J!- zy*1b(#t!^>mA9Z877Gbs+-ApGYgOH>v=J#_tss%B;5si)yZFO5*%~JMV1m$gv&Ekq zX^U~KX);@b$~o2cZ0*2+9-1lCeqDo;oKSNCQd3=#&)WNCbP1vi;Et zXXaq`X4-SjTu)x2eL2l`xxkXWC)`8Fs_UwB`IF3Ee@1RO4-F1F+ub~4jgK`o_Z8pX z@Q^moPBk^VHT~IJwcw{mwg0(Te9GrPpV-Ums-G^9sbrK<$&odEc-(iT%lzu##`XW2 z2pmmg_ORSkYO`zX>qu`rE%SqNC+)3=xAfqP2?CQ^ScnfR-xqRn9!nlGal02>XcFEY zjrvj?;K^V5H!t#7d!scckCN<1uyg5FzWY7zk}AE(z4x7TTT!IqetI%V&fOVmqB}E% zsI^t%MHc5)KLGy6u0<1#dD$#6r%npD@5-#MbIbe}RZ4(mA}jna4{+^d$)ylTxcu~9 zi|w{45)uk;p#IX^@ov!QEg``0c@j1C269Q)^S6()e6c zWC|v~ws{^+8d)~E&dE;qKfT=drp{5Dgw+CNXJiTtA|%dF2p>AHW0%%-w$Wi!zo3E~ ziFp}4M!LG0-0wO#N8j1BX?WLu_9pz92Jw%g`h@bblJfCmcL)I@$6L>lA=nMWi)hbW zG+~#P)^cq>{rG;3<$$aKSTB>rdb3x+db6)`H-RbG+jspm8hCr>UnIz^9Ht=afS4oS zmz20jzZ75IEbmj^@TTQsQ1~3{SZv{Z*+}PNT_NrNPU!lG-jP;^9I<)fG4WpuM!|&- zjpmy}cKg-Tx$))OZ$s@G@`>vZMb=hE*>d#eMOKjhwVANfP^+vx2m(&8oXo{wS@-1e z*Rf>k?N?=(>&&kQWSqV*eKwCv+3 z^4hmGuCvasTqdW_jHK%-|7<+|l+z`xdl#eHmx|7^aaaJoNfkZYh-mLUuQQhYkm-nc zQdJ!KCve|0hY9PBFTBj%WT1cl07K|En?{F9_~3>+yd4cO?>w87!O2J`Os3E=6w?5M zz96;MKnOkI;@ltMm8E?^^w`adKIv1sI;Rmc2e_^D7}EX7cJwIy&JOCf1r_D!TSqN~ z$72kZO45y-mvy**^%?#XPSQ2)ivhzmU((=cEBOP%Ld#VcE{9VhyKOc5$cmI2eg83W zExI>Ykj9+&csnCLIq7<<_Ud0Vm!tXsyY7`hZFxl zIJ9rfyW|7b@pDyfORI>8onw6(tCOQKE@CF0UA=5ThQf=}&mqBY(2@Fhj}TzzXmk{U z>l+E4NbPkcVjNkUAzTfl~T5Ps+G{`-rJ=eFG&BXGenuaiiS-2ZYS zJL45|%Fu5SB_yARBvhr@TGkr!J_t%mpNdS{gJ|K?OGt3%3J(rbhN@&7+U&z;U`;Yd zMyp#ljve?KZgYr>0r1x@33G(kV3O(nw<|+U99pN_Z(d}ro%{Z>e1N2V&8-Whr_Qub zfwJp|Wut?V`X(fU5k0eb6QgC9dC}S0l+b%XbG~@Q3w}trm1cSEM#DXV7#q7q5JKG8 zMkenk&+8n1QiwbVg8a}a+8s1WGSD6ALdxFxUaE0qjVq_rbU8#BldmpNHhXq+LDcr@|qpt+_xS@mmc4UypxB(B@*q= z6COXsB2*TCD)Ua!PdV9wj*Vwwyc`yfVZ0cNdB1obnBmMtJ^uPan4d|TqpBjwY2+jP z{3W$_?<*tw28AnS@Vu>HFh*kk$Qd`dNDDP@{P=#jyLk48)mb@`Gb1zVweN*>g>FXn zM$eOa3gFD#*yCZo6J$l6qNb+sqALdXX;r(thXUdgas5m#GYy;_i*==A1Bxfu{dw?= zNceOC(s905E$`M1$xA^_JYufFJr*J%C(d3e6ZU971{&lE?BOVRrzXvIY&X$@LdpA2 z=k!J6uY)F)=Tvr>C+`PIIBsSA<}5k#7BP`Tf>i#Or-gPV=k0#rVSHnc`C{M8K>Tzn zWhD}mKiqAo@u#rQ3C|2xtX)T_f*p#eMEc^F;nN?uXV#66PFI@(8@EelVx~ASNCwq950izHGY@`G5)eG*GBYImAMps(rd+(umP&X)mUCc%u*gcWy6HN zMx{50R_I%3G4I5DSB+ial;y&7ngs1!0N&6=qkMqW*5Xi$83?ilc%oHK4v=In#X zsq}WnSuDH7;-_(we57zGEIU`};l__OHjTz7RAC;lcO5ZbJIn9L%sA7+{PBxoTk;3} z+u9^xw<8;%c|6-&AM~7J+*$&QtqrIX+d1i7h^5_fN$pk16OO;-C>wA=YMPV6AudIa z(x#oLh#70#T{{qe1DM&$fJ*?2==rJ!FnTEdRD!{U6RMsJiF_CKZJ8t=Pk)>lY<8MV z_l?Fp8Daf{Z?D}vzgwDc3CP6+bqtr-i{k;(zI{+j)93Kv)A0ncAqcTM&ye5}W~2Yk z7&i>T5^JlZHn4%A=CNoV{B51wLioN|UY$;tmJH{JOX|Vyc?fG?e1e)+)||fUM)Yyc z`huAR(wS~;y>i(*k!GtAL5!W9R@I4-q;IDC>ReTNokc{{m!1xueV6H4r3&e zfCM!#5(%IvT6cVfMCQjo=M$x1jSy4eT+6c0%u-X$?2v&gvzt0eQWA)DO4ul|+*&Mh zSXo6-pkQ-2h}`;Lv5M7d6J<+6ZFW@cVEx<_fk-o@yxj1!p)pr z`|wuZe03;8T@NJCH46Iy^M5tf!RlD@esU8CMD|17b6YfCf9cA7NN%t3XL@J+Y&LC{ z4`ScmcQ+}$)|8J11z^pzN_GZuPfzyU1Tmt9Z%MmwVE#LPutj$Jh$#vKv?lY%CWS_0 zju#t{{O#jm_xuoAsJeRXmc-6FtBN1Qas;%{{KX2t6LUhXzlv)fx{^E^GI~Q|d8s&C z(01Np*<(boSFQpR@lGKpAQkbwAA5%gCqrz=P`d!^e0azu8IGa-Wmpw{Cl(>q>af<* z&nhKCz_H`4hz!lb>rPQS4MwAH$tr0;7hnp$5f44VZL3f(UFUF>&+JIkXL96zoOym5i-8O+0$97iI0FgGUZ$qKjN-T8ouixnNO5bpnb4N@Il!(nxP#6_92KbprPg?U zSEK$ILRu5Zl=VhOF{%5wljnn6fviV~3hu{npmvkp8G~1)n=kzH@d_xiydb9A_%x)u zt65XSm*!R+J5AqRQKQ5;B@NU*02G6k!X2c=F0B99By+o!v=EjWaqGS{=9iM+p(H6F zcC2+8p;>sN8yUgk(YMz&(x$Q>9$tj_S=G5DcjQeHQ0d^2^YW#bJZ1aknke`Twi>r# zvTW2AhRd}xnU8Yvl=BdlHPcB>et{8qP>G1T;Rq;fWI2PI+eQ%6ty2^9NX883gid9YUzv|p&{KTEZd zxq=5TRfm4A(>TORN)}Wa$POzM2)%*dUNz$L18=^_l+|FVx}%Lr zoGidecn}t4r_E$PL^((b3~Fn8m;HQ`iND)q@k*%NqnrHvV@!=272U!z=Nl}aaO=s5 zN2=#`MnQ4sjK^_bJn++?Q@tT?r81UJ0-2E=BQ{Vb7$~I73mg0HUbH+uoE+gd@<^u| zzw|{2zZAT;q&3DEMD(3I+6^EfF>fmLr|drReBiqLDMhSHQH7r?!HHNM z)_#M#%lSd($b5&2&R%LGL*uX589mOC=PMi z?_u$vu%9RsE^g|34E={_aET7yNLH4IwS1v^^jbezt=4Fqxs?hjV4M9Ocwsq5TIzhH z`l?r^@FQ)PUiAv&9qmSJns>MLiQT86E{-=;PXL@7(YSbn^&%XJcH$OJ0Nne_zaL|W*1R=H#-`s7_ zfe^dao7XE%;n3e_=SYFLu>BMS&D|L1!KHdW(KA1(VFw_)suu`yOU%QPAfC&I~Q zP|SO7K$9P?UQ7G+-aBLTHy=->_R2;$v5YKs7%jVy^f_e8D+*l?9{3tIJaX+9{VnLH zMa0@WhU%B`bx!#s!qtOAn~)@f86=}3$rKg7!&R3=qXqDT(dpOEZCqP^LaZ`I(RP%Q8PB$rKDd4*TM7{DMu^ z+xuc73RLewh?U^abTWtfc6njmpII{HNcGE{ltZYJn2mH%WH0?d2m^OV>ABvbrYy*; zDP+?NiiLJ8g-cyEZ^iM~K@{pxf-TQ4E(?Ay{R4tg-m>5;(aVQm?!rT-kYt3Z?Tl10 zl|w(|pG!$!4e^VEf>F8AQIN^X873Qlj0I95$qHy;p!uEg21A~sDbJC(>OO^12p#Ba zMbqQ%U-W#X^u=^VGe=)Wl8{NJDr|jx8%z&-M$d|if-Wh(qkVZ_{ubN%3RVVuBs}55 zXxb~$Qa`qDP%>rcxyFR#4HT)fzaJsz$KTR0a=RTFL=?*!)%b;ZT_Q^ZwZg8t3|XVP zH%VYY`0OMZ;Uow!sqQ=4x&DtZCcTCmFyWvrgsrR7&{hK~hoMnBcxh}T_6aBC9P}*> zQrTXxfz0g_M-wNG<5jA6JhZyENnXBwvN533j202@z@BGBt8%fT zu~dTVnAQ5oARus`j2O@&w0M2RtO~u}?3~x85R@Ln+e&PLk2D!mAh+uWsS$Jb^KeW} z2O){&p|fe2gfIL*!8;D33u%iYMLx;@0;IT2#`( z1bkLHo@<#8)#lV#a-R>S>wL*M^b3vAwc95ZDfxK zjH$IP47c}3asscXI?gp+#>e{PC+aUL67LOpCC%ymvi8H$Cbqz?yKC1Jq{IV~5?YR( zwa~LP!E<5dHLOqZsruPhNeQq)T9OD7+<+O4n>*fsnlZIgPqOe^eV{i<%uFiT3Qfuc zpP`+s!5Cr-HIliD-R=3VsX-g*X4@l?IyM5XqH26?)%e{GTn2!q)QOh*8o}JcU)$~trlBA3FVry9`fv;g| z41ICL@BsrS5bwz!Z-B7`ANgW6JA>Ivev%jWjE0)W-m6lIY{TLp_a_(#le6A#d=Lfx zl7*%!|3hSA9$+G%mFtocP?B9l$QygIsOY2IPYqZw)ZEk;H*D7jH6|cx%|R%<<{YI5 z?{57M%Y%=>lh_VP-Tk|!pv7mSxw$WHzR{ngmLphHveV^1+_Q;nF*88F%(<3~U@2JJ zZ_Ty|F|&G1m3c6Zb*2`)$g-G&T7$dh*1jyAeu?Gr&RNdFIcM`ijy1POs7S3hNzm&bkmr z8m999tzhsPh1<>Dke|8%8Q79Ov*U`c3Zj}%f)E|@skf%a4Z5VxQO*ln7i~D3)^leb z6=h>^m;Vp)uP@|Zy2&P38^G3F@MH821BElVzi{|f5f_$%u^XPnQt*>q#1u@isHSt} z5DAxfKZZg22wAG=ZVYF$I0K&pS%(G6hcm=LfrYc$J1$N63qzNZoaFF(9dx@ejFsE! z*q+hdm>a@~i7I%0OMU}(zVz9jSntE;c4QlIEz58xk@(p~?Xx z#c1SSz_&CH#;Tk4k!?#t9P?r0a*cR?=Qc2kHH0vIE)#r&GZ!I2BVrP!K%0q4_-dt} z>~MzTuRtiLjvNw?qnZ|Vo%|Fxwj?0o+vYO8Of`*H5~v~?5bMa4XnA#bl8{F?Ec&dX z*!IZ;tf$JP^hXPsnA2gYXR;+7vf?^SzAYiNs0QUI&?EHf>L+pTBm58+i;gP#&%x>q ztey%!#E`NX^6pS4CoTJ&GMa4qpY=KSFsNJzxgi^yz=)#cNHCsw62Oa^(bBnE6uDIq zc`=>=cPHAU5F?DP;5#~XV(`fbUF>C%Xpi>A3RpS`J3E4COa8YTB=`s{4<(N;1?}fB zA(K{RPV~eY`XdHddU6_mRglBUXd3hRW%2!fcxT9G zGX(1RMeOINzxv;gdEdVJabhW3_`_meq%2sS$XQh8jqm_L!7Iqxk13e{TV0qL!tn;- z&J~>(wEc#>f;;H_gt?$!tc@wb*|g{38Gf!et#{D~{xg-an}n^3B#8q39yfBUZgKj4 zE=|7)YLq3cd0eD(=4Zo6Y0dg|%#VQW8G^pd<45kCHQmUE#aSMvbD`Zhdl;~bbo_}~ zOqNMkiN!=N_3~UGxO>eZ*`@-(KMyX}ZGiw47lso}um;m6=oQ|))Yd$*6n#mmz658$ zDVz*+pTe)J6Ao6f)3xNO_*{$!Kt_i*5N#kvJm9U)n|E|&;5pHc*8E% z*L1sBl@kOLY2RGk{7=0UOKY&!<8G17-fGfCr*rQ_KG;35Z+wqeRQ6~6k`^xw&&C&? zTp!jwjAh+KwTU90s{TNO+N9g*aqHS+S>e45N)f+Y3@q*Mj_|LVhajb_X2e^m6n(Z7 zOs#Xu61<>pIFsPa8Az~C_#*X-Nxk#ih2?1cp4>Ad-)_lv==X+JE9tf#uuXVduosYc ztQhk}bW0+XN9X=BpwxtsxaRt= zHT(8ds8Ja_soqtyJU6;roFUBF<*K~~4j|Y~vb44RmS-&#m*zcB4>fIj&28*)jNd+1 zcv*htcy0SavmzN%BJ7qTM^74Mq}e=ao&+tY&s#imwN%AJt4KMo!N|2hXp8Q&OaMJ( zh1f{oZ{2f4+8HTgTb^Xq*9AT%k)Mh&Fn??P({@E-wPAEYqP4nhP{PJW!+GuN(;aKg zr8R@L3o3rb?+769#9))3QaJMc2-KJTdm+;7PQh*18B@N{J&DT|OV2AX#Vh@yYxxfP zr;T_YxYfg5nsy-+E^i{n;YEwu_rm8D^B65Hdm8MWcXP z==P=@-?h6QeSmK9Y~12h>0aZu%m?fjM86t+I-K8NFs}yw__~lnj)aQ*cfj7Lj4!uc zU(6Ehe`;Ow8J>TQudN^km3n>_KzE}c})HqQr5@0 z3oU#ut`Xp+qqI`8J)}9T;^tff=N>1XdlJr-`EYwX`9xh|Hj6-#m<2w^O1_K`;SjEW zjJ+H{f^8@v8l2b>$U-l+sV! zvfIQr=q_oGsJNLyUa>oxG-kK|6e6sX$sca<%(m;(aKKq{{h`ItsyNG`GU~BuN6xaD zuWPOfn(?dnZ6m`AzcTL*dNy8FkPGi;cZs#Qo$$6~kdqcg+6R8!g1DZ3VNB&w&<$7M z(7N9gR9+&iuowtha?Mdht|4wS*?&%othy=0S`eWJgbpP{kZ#O3me_feyF)S-0M;Gl zI_4oz5+A)(%CY8Lg!ccdT)}=XVre)FOmpmoDAQ34h(ZWeD}i)*paf=B00{ONFHWXr zFa9L8P36toMtw;mFH0Nmb;{6nMINAQIRcW^8nf)Kx?xq@ozDc+bz2|du`ijnmyYsK z4VY2Xog6(-!@vlr-w0qF^33*MC>)&P7k?V7Dj%LiTP_%5@O5(O7iVckq4P#gvH9yZ z26%YWt5#Q6KASe9X<*EF9~vlDBNx$+kwf|NTZDoQKFO0I`m!m{@0$e#Ee7KJiv3)d zz40cLbZZuw(F?9tA{b-|_g{jKk!?&bxuyz=)Z@mtfp9O+7SBrx(>!kqVt8uO?|({r zpcCL_{j^}L{G@6Alwg@FUX?rv2??{&Jf7x1T)~uKapj}$3-+G$uBY0$^03n76vy%= zq~bjp68ho~o3PlzZBh~>OtrQhgy5_TjCQrGg{pVW5vlu0PKqqN>_!ZL(nAj8Y#p7nz$gK_rTSIv($c@FX{)?8xY3>dy zX||8-AMcDStvv;O460V*I(%FGT{p0vFf$@FTmWneUIW%+WvuU}?>c4Ai#wr97RWAY z0ET1&@sJjS4T&D&L3HQ*Yig?~l0-Bf1&pdxs7#khM}>5!FL#bz8bs*Up`W)$q(5+q zSLw{)(up@dsCyXjoj9FWE**Bw4))>-9LEmj-MrtJ#eZG)8~v@z3l+=Vk|hx46QmX{jF*Z}+%Ts)<>#Ljh8x|gX7N+)r$Aq8Uet>- zG3GI*iq#&(;S!kmN3>#RV+cdX(9DV8Ax>Pd5Gaq<Cmp^ts^vC zOeB8S#eVfP7oeHvPJsknF{dA@8dhy$Oufb-dEf*e!(vH%+aVADYYvfhiKV{#fbY|5 z;;EYUP@o6Y7&5mT%_Nk0+I^8HXny-kY#!We&P3?B_0Jscv6{BUKmd<0Mys*$2z5z8 z1WCFako^#zgK{oOIPW(vbWkIK&#sF>?yd9X4llz*4qW8oaSSL2O?2oPpor@*V2+b< zDrJQ23Ecx4l0@;q9d4z3yY#Jo9Lpf& zLk~EysXa9&#`b$BLMSi32}6j(RL^%Gg(KM}k_g!wgX)PULm$7tsE6W`ukd(Oeb(gl zV6}txnTJH)KRSft%w2AfDc2m5t*-^>_}3_NogDIyL{gPH!<=%<0{yv-mCli?ffk4|E6IN6y0Q$e~} z@GzG!32NIh!LU8AYCHWfGx+luaKra(gf<**{An)xVe2iq4}6xFi@O>=x6>-`>+}7c z5!?dsLv`As!E*Uqf!PkxXEsl2{0;VrhW*e@+wMn>UWs53*#ua?p`!C;(hgxOn@(N$cE>DAE+^!;0{&E$wT1Y-~?!KU}4ya}?ivW$CUx%r_QS zm}dM!GTG+%`?s0>2t7(U!r|w`h$45$TxppPayby(yLtRv=kSp5kXV+kXp)h;LWGKhZC_DbT2D;4TVO$r}VTedZ3^)Pa{Ww$2TvIQQ~i z?gUK5HiTFMb60M}X3z4xC1sjh@9<9guUkJpBuQuIVj++8ICKe=UuB*I@uCcpjTN4`bMwi}ohr@e(_c99W>eg6!RFpp z)tc{dp+(|jI}{shj!}CWWr&0W*H$B;x4xmDmO5mPg8>l?GIpIrgpxcCM#mD`t_0hw zM{)8s^YmKh9Xnfn{wZ_PDIo@=#>bRT#U0K6 zk5TN;y~_ve7nHhMzD#`i=9SY6P;zmRr9fOUyJ2g#kWQXXE$95vJ)BGE^*79Xw--y+ z%mksY_3s|LlkZN*qaY^0{Zv?p&^&8NvEkOMd2=UpFP^`3!y!iQejlWz&U2?kub8p8 z-~Yg-Fn2Sf@K?5vPf0-1a}w&sWIB$|V z@iNG?!q(l*_AoqrfNs6oWsL~MwZrOD9&dd8(&ziMw>G#1{OEZ{&dxkSQg5B{xIisZropL_=#a1`?{sEsB@OQ}tg!z4c*-4D*C z%z-?SNe5LqI7@qWBlI$2s?@TU4DD|G=vd>f<|=`{mE!uV0*vQC35=ylJj z8HjxU*bYyYUf27?1w&HDw2u;@d6mlW`)_A21C#wbc;03SHW8{{?o5r?1I5q;km@bQ zR8~f>s*k;oMUwQ!_jlEIy<>L{U5)Zz5Acz3x4Lrg){HNgp!8X+Oy9;`;c#`@$w0(T z*ewmp(}%m?!$oxK2BAVC%=L{@(u-;$Ea-QoV<|NNW_Jl0M0SQ#C(|3FulzJp1d zV1y=H!sm1T)8Eu?B^z;Or1kxaVa_eqdblB8yudR5=zimk{h;w(3@?|J-HL-wNF+?x$`PeP{NkS5&lgBlS^K@++J12gu+O$DSsT&NX*B!b+{X0}@`=$d zoH&3_Njl0b8@9x@*0w3Z`xlD>h>+b3S*XSH`y&>m4J0Y0>^X3Gr9R;EhzPW#{)6<7 z!Y}3NwA}Md^rtvSQl>>}U?G;>D_ulR&i&4Ti2`gy<$>jO1SVYnz zLR=O2_g@Os9#2eIpZHGm^bwJ4dgG@1-kj*OQ>_lnwW8E?4m;OchEP1_Rb82p*^>9| z{^vAE7q&u4uP2(ZoV7ia0ufH}Z-=qKOFh9ujJ&78LkpwfeQw~Qm2U)y#+BjPXOV)- zbF2m~8Y~->eDgmkoIubftFs%7TaPu9fEH;OEroY#?>%&GjnfRR0>s+vdbu)(#Z9Y0 z;jTG^>dG>(PQ&;>X_{k@+68-PVE*)tRn-rNB3lLwThR`+{ua|uqi}t-As1EG7tP+D z6j#Y(?1(Z^4L>@rTRMQIk2?8|h4HZ0k+22JQ4gf^bcX5*ZJvv5;k}1XQiL~H#Hoxl zTR>LPdJn0S5@X3-hxan%AGi>?izJhbWB&ejI|hF89Fw4g=fJ+AJCo0C{oe~?sJ@*6 zp~MR9s=ZiAz?E~>zR&mi9e-8+SJN;?UI&#|(K?-tj!A3^l-^ZrP(|^-% zb5(lm*9jk6dcA?x_j(+7hpWVei*6DwnCl35?B19!m-s>qROW5jn$N-&xkA>_Kvo7f zp{>F~gtG@I8F7id3|i%f%vK743ik5@>&M?LFO?Fzh;O46@7qCh?(adU{uUF3b+I!x zmqrYB*^E?QWD5=#4OR=c=a4@qwUQ(0GOt6`!j@@Mm>^+oE`P#_e9JYgpXc0f8hYH} zL*?Jg!C#vke?lW{4ni3^l$c1+-Lt1Vsy>G9kqkc5NIF1>z0*?1en?aky85dQW&0o7 zTVvuU4}v$7ju8Z0 zJ$Yl$6Jtsm`>wbd{*WM&!kD@A{)(ZE+V`+EjZ-e?4>VVGZR(jL_IWBeJ~WLuKl)OG zV}|S4;=)wRl!$%TnZ|1kYk(K56Anw0$pE~HAt=T7zlk{wWeZ`>cqVc2QwkqDGo?~+ zfNW65G(&lb9A8BU``Y0a6yh5=_&7)n<+>MXE$R_HZe5{!F{pLWH|hKc8-mfzQ1| zbKgvP9pVC;+nGW>yM6Z3-`L&A&JioJj2ja;b8IV-hh{Im2R4V--&p(> zg<#0`EM~Vc&XJM`Rqt5sKGWC=OtAN_Dr7E3Xq9VWi z=1rGOtRkt=@CRURZ+ao|ie;lx0x^;Ehv4);<)vFd>}O0YUN?b`(fF+@oFH`)RfVNp znIjI1Jr8=@U6jOhj7`|20A--Ur!&;!xp zDDYbfC_`9ei*YnF)4(%TOZd)u@@V(b2f7HoN9$phz& zC-35WeLwhE6g*Khda-u?>Gs+~wA4)#uApO{_+r`UJ|vi>8P8dPPvt|u<-O4j|K7zJ z311V76C?`fdI}ce<5-t6yyC)8YfOxYkT}59+J0K}{Ye2oAU8rk#@~@=qLa)QX%y7` zLt8-8g3!DL`G;2#PrH)CulKK^GrsdHOd0X_GM9jh!aQfA4Neq-0k(L=_QK>f!asu@ z{~iR*8&_CZY)1T*iD{@Vt(Pbz^!T>}kx(W|d>!7-rSy8LrnF-^CT+|opzwz8-;)uN zJgVl$UX}$<H0gc}_jZV<}5wcBV?}%2Bz$r$NzG2@Aoy zmj*_bsDb&EHL=t!89>Cyg_YDDysvWI|18=Nq*RFn$A3L?Z?cWMn_0~|6nPfQo|Pg2 z{Xwck*%KS5Esjs# zo?Sa!!k+A$I$t>hwa?C*@@$Q^J~n{15u|6o3SyNNI0g0+4BLH-3{|RN;`V#XLEXsp z+E=dlF5Oj4!}XcNHO3%4L=fF01AQZ6nWWEZc6&tTLvf1J8Jym}+dEexN}YOplF=C@*Cb#UvE;-G&$f8lb<;2mtf{xpC-1OtbzSbvp6+p* zZLi`X!TCoGEf$A?Zfrxvn`5_LuaP}d#bN{1l|JP+U+GM{k)fhaOi=4yg(|Ukr=IZ6 zK#7^Je}V2cu7W2+F$HcpsrSQLRx8Xg?}Q16g2QZYt}GER#{cObL^xfArM5O`z~~Y> zk|IuQ`@Nbazh>g_kYSx7n}t5~qCfuB8lwZ3p#A=<1<PVE)vUc)L>}o{n(eKYExd@R=RkzJM<8vKh%9}kJM-d+t6n;`IJ1z(pG5gF&35Ff$_U$a z{I}(G1GUA|Hc4oh2*~uTN#c)^ZH8$xLncH(7F`eQqJ)uQ{6aA{0Ivt%1tE(CJ8l-2 zxM);iS;e22#a{KTvM8ad%zQC*_VYXHho=rMf8fO$IRc+|XGz*GbyqAOTN-y=yhVa~ z`kIWiM6BbUdue;qUxB0iy}x<8Y2Y&C?om^W42u36uaw5pLWG$S|0QBlyfVX~kDp$< zV6&zPwrt}SlmxCKW|0$o7!U+8(S}^!_vzb04gB!aVI{~Qu9-0z1QO;Y=wJT6hItKA z>vIl^=nRjMA+Ds|5NSodrr$XIPm>FMGBNoA`#Bo02+Ua08C)s!w!Rg+tG9IT0w!j49?6;C!BrcFL~z@oMukrB(P@cVI;Bpm zsm4$E=sa=<-%WoJJq|S(M=?xwbT?E~z&x*=!XH5PAi|*{?Eu4KRokM}LZ`>F|68NA zfF$swIt&^vOg6P$gxp%Zl3VAW!%Jjf=N0typ6!OUu_C67<(CN(ycY5&1Sy0{=KHUW z3A-+o*%@`)ORa4)68^=u!niKxTkt{m|3zzmE7q++Itp0gak@Jlp-Rj=$L+26nlHD% z9EThHJ$R)tj>#La9RJA3O%dFKsi^>X)K;J#`YX@KppkYkw*gzj2&#H?e~w3nSf)ud zRr~j*IL-Fee9xT`Tq^BzlUKmld33oUFXFq%$U;G?89%@Fj0xIga4qMu z#iMQFHSh}X z+qQd@P>bW97Uhl97nMy`5dseQ@8n1&(`Q& zZF`ssE*uCG=QN&QcH%h9DZIh%#_u6v|5rMnA}+xuTOiueFL6IjFXvo_!P#=pd3I-i zVVj6>`>gLl|A0{80&+qFTpYPn@1o}3WOl#qxtk-tZQW{i)E_)^mv@Gh(Cx;G~Nk}f={X{UIU-|w zTElVA0Ku<1b-1WFaFS`YCbf=02qTp4iMc-g z%#F^d)#x%vNc0i4oV7@~2M+#w6iEq1NAXP8U0axOC<`b9d&BP&rbPE)hT~7Kh4ELi z5EuiMUte*D_7HuQvtAKwE!}t>u z3r;|ex@-h99e_T|XK&45b#H&C5Y5@T_tw*2vshBoorLKl^0uk7WaSMFuf3>lOK?@? zX2*f5HsxPsg+DcwPlWXBs}0|MjQes}Th$7mpn8C%mK+vtjgc3}lpuPvo2(iRw=JFz z8LRA<6UIQM-huHj=z4=Mzl+U*C{^vWRl$O;QIdGE=ZDr@O!%m{ zjiokj`GauISVqdv*U#lwU6{#dgBr|sxy!4UkS1Qj5ayif`Q+!%vb(D!;Ka~i-P0+c zH(y;=-3E(2e~*{7AHJVin4SCKv0PJrq&v+B!DPqZH}XnlTR z^a@vzC4+1BNnwLM9+~(TE(N8g4s#_*PwbW*_8&-jG(ElclI<6$9E``xz4G+hbeB7Y zt&;afoWHf+qi3MJ?E>cXJ_L_2p}q&nJ{}u9dL|kJzl6_)zv{0o2@`P|CSgCVnC*1p zsaYJI&iRT3{Jp{B4MIUT4GV^Uu>+C8JA4^I?-S^Meztq@d!`n2A>{(jTQ`sB`0@EP z#pL0hZk~;G(6L}^OXCZ7G;V6lwEQ!)&-dTHfT1aclDEa9#M}HQ?n={z!d-cG6Ew0?f64Wn@)Z6;69OHmH0` zm1y08D`zD8Ay{QgWyM7z_XQh7%#1*?iQ$1hS6If4+qY|hAqeD8Lc}KJr8VLE3v!EM z=O*r_#-RFFGAr>wB`hwQw^5m?m&Vy-tvf4)G&p@I-b=Bzy~~MpI$EZhATDPmlipky zjpa)vu6M-$YB4fwh1`o#_k@{VjlP)me06VX_M3~}n*c(8j>ufVhUInB>$j>ZZzjj@ zHVu{&5z?`Dl|79iSC@!i-QiLx32)D;izitB1nVB*d@MUwXl=&zDk7Cu2;g9Aecs%c zKS<;29qH4QUXaA1_5O{-UNCU+q50{jJ)G69TNr6L=#(g@3?l9qE(MHym?U6v((ph0tb3l_Oh$_6sjFnkpk-&NFfa4I zx>zFhhY{|D9PNy%2{JEv+Hm(>GmfWfEpPr(Vw)R2V=g2VYGS-Tqz9r`J^Vb;nC(Pk zwx47A>zEAPnrlqG#bD~chhZX7+Zmdis3y91H(PKDTL>|quKx$Jf#mu}`#AQo1y`6{ zIpEl1QWa}pz@+!H!%5a+ZH+)Me)7_<CUyeLV7_<)ZZV0B+a_BgbD4Dw|88}yksyjsE8+z=Jq0j3NH4spRNwz+ zcw@2ZthODaIVN~1^Bkxcg0$35$6~@geWm5(%dBqqV1o)EB$MGv+vd} z{fQXOX&N<~|H3^UROt*jv2?0Pwi}K&8_E&>Lrxv$#QeCM8`H46Rr>yNQ_A^}1N?11 z?|YN+dG^)bGQ+-m`BQx(@fj9p{#;0J^+LOd7gGJc=0as59C;#~2Kr2mzaaen9@cj; z`skZA{AE%6$DMX7?mUaBH_3Zj5B+uLKvAsgl;X0}$nxJyfSydEcQue*h#MK~`>OpX z*AzDrv)?&+EE}9lzWF!%>3AGnr4G@FA8Rl4=<{`FOd#DJ_WzRt@2ACMA@wK}(;(J& zP8I*PHhc5rxX+b?V@p$)G`0JiPp`d{(j^M<47=W9OjsAD1@-+VT6OOgw9^o=8UzIQ zZ6SJ5@wkidZ)sCNZ{d(($+M?*S?I)-`Ghp4wF*ZvYS7N%3Y)8?y7$bK&C=`8-HjF*CgX!_5jouavejm?hO1LaKZ=hjZo zFsT0KqfCTW_5!R3h^| zsDdcGGHjKJx*rK)p82h zjQ2$*twHiz;WZpidbw}E96CR=I!w-dyI&aphvgiP5?O8ok(BNmUJ+9f5sIkK)SUjR z{_h%zNtV1e$q>qpXFK!yI@vyFTbl?6Rv7a>@md>z;H-E2e{_9!TvbQ6_DOP$Z!{56 z0Sm;23q|dQJ|N{fLO||=HwAYFgQi;-TVPa-={W0Y!}ZGsPGckz?YibWW;#eR)n;r zSxh#FFZyiWl&41<8*;24QWPA?P=KfSN>x<2B);HiH)$o{NpqsV-cMUbEx_3LE zM$2m`v#H;=i8UuPOAKkWtj(xM&8iMAEwfytLD<+!@r+BH_N^{KJn{bfgPPK8$Z$a%pZAY78XikboaBXuJm zfup{fVZ6av9(mT`>Gyk`)5Prfk0IEw4gZb86S!(ddwUNkU-T2n_NEL)v+^RqF(Pj@ zn{{Y4hrR?H%N9bBPVu!b@o`yS4`$lX)Q)am*E;osg?OUydL1wv49sWcx--5Sgi_oyyqT^Q?1rGT9Z2^ zC7PzXxJ+%!WRjShj3?}ITAAZu`f)B!oWdKpn*ML=uc;>JhuX|9`&hL^)*k23rHcp| zTyEOwlJTlBbV8F!ArNEg>&1&d!tzqI)C*yLuucUECjtATGs^!IE*(f_7ik1WD+ zzIo8mBGm|}cMr>V2LWf)HKQ->TSq1C-pxuLhU_b|#IGV&k6!|qz%qX^(n0tz_=cYyGB@L<= zU#9tZtX%4MnJaB>7C&z#1b~@hVtt`F@_ok>sO#gn2_y~4JRYBfm!yN5!G2t1fEGv* zB7nNn8Uu5t2%v^Y!A3X4F&?xe4V6{erto?!b5nmRJ5oFPu-zx~?wyI4eDA!zKehkM z9t?7%9o6y4fQv&7XXQyXf!qkhOdnvm#K^e;G;9l;yD9?K)3d=sqwo~SLy}vWafI8?4 zrW>Aog+HJ`J^{T!hAg7_~IMy^a5Yuo)kyOT=>%pEz#qJAQ zcVW)~3H=2FRKC^84Yqy8OaHI4lvw9;eRHN^qJ6MoB(P!X*9fx>vj!MUf39MTn5oVC zM(TX7st@#d7ECV(1*2!5J}XtC-S9Z-cpNRRt?Y5cj(@VzYnfAN6)N0Bgck-rtmI8qe~Fw_k5kS>;~q-6tF@w#kWq(}>4SDfjt!lmY1DC!eNFI3 z03NP<4ULId%3b{Ndy;3Mv6D>g?8y}}r6)lBW0Dysm ziZc$^n=^MC90D;IuLP#E8gZEcd|I_Ei3Ma8@y>XeD9@l57QaXk8RFmJ;dndOZj3hg6Pg&Xt zytK=>7`T=n~Zsugn=@o+)J zaGx{D;i4{=PKCq}(dpA&#ao(k(52&kyJxsRcPJrqxK4Kr~ z42J=-4`H9WR@PBwYFYYRCDR>5`{i`%2Bm_5GB8{(n-wt&asKSszyx>AQu!ojRC7778ink#7-$|?AzSw~ z09aO|hnqIk`QAkf?K=g@-73;|w2jb2$yG3!^!`C3U22`<^Sz(DOr8iiki8Dvrj$Iq_a05Bo-?9dBQ-Yx) zjXS@XP(2VOxkqA^eA7O^k$tQPiO`n9#BbYg7)s9$BOSmSr_AEsHWtbQa_2W@w*kE zi8d$3e;Z#I@A!|~Qx_a9Hq6*NjbrbanI0K?*Dp)OUjv2GVWplc+zJx%tGUJ;nPTo{fCrjWedz%zBdBrF|9uoHjn^!X ztK#u&R7xUem{C)W^bcBUVI88=L=0BunHyHXzI#j5NVOhNon1-Pv$Jm+QI|V_QBPoI zfHa*ek+#u-h&5UHCm`lZ)UC*3@C6(9l4hw}SS|@H+`Au^C_BX9S+VN}R0pH`e{n;~ zIPD@1#m-}vhdJgpqW$Zy9|u%e(6@i(3a78AUcj!gdJ`YTf^UCD_2Pf$Sl*rb z7*zb%sTmu_i>bGB)d1yXnmB%{?H$?NEM@=N6(-ZUF<5v%Zb}sgZQs3y{ks~u_~?+o zS!QftIye%;%f-HOGGMyRrQ*A;x1OA>6^TJT=6o(?dNdAk*f`Fbbw)jAwd@0P!(VDp zY4n!l#aL=3i=m-MR)#E%Oa9{~fp{_MOu#+EBLATbIQc?;J+FJKLmon`pv&wD!nOQ3 z0`Y#O%dtsoa;3{wf$Yl=3O=iVA%p0*)_49mD;(@XAr#($D5CV?~bkJ7{lAOkgNZ*7|NDAQ(HDG9}H!p z+%rEf)x4p@o@B2quA;{5Ipr_#5wr3-o?dJBW+{roQ))`n4* ztZ<&MVcuA|>M*^dn~e+495Rz;z7$k1H%F<u%cxJKcFmq{R)%Rx@0~xe`1H?DuWuS z2a{U6O!j0L?1Y>YxDmp_L$x<}-85(1|7J_B+0EaLH(!BX-1!)E0`&>qEe00f>U2NJ zaZ%QMx7$1D{j&(KLv)osPK|BM#_d9GE%x-+4JasS{JQ;}k@=@{-&!(FUp^q{hJj3=@hJ!?K5Y(Xk zQ%>ge_ zy!YTO%(o{g(^R_!@r3dD;_S|mKPi(8+#K2+Y;kEO?iYDY_R`}B&-{!%W1Kx_+u7y5 z)?~_=m6U4Rc991jiqTq)@D4&X%N0+P~blJY6XV|Ge=HR@BGX~CC zfOf~gG4yjWpVQcL_vDqFB1u+?EO6Svy~0Ej_V&;4$a^fW=04+0-G#qmd)4rFm@%-T z;|*t66V^;K5M7^2hZN9BT*!mf6{;Y@d1-asDiTBg1Z+C#{24VgXXslfCNR!{;*_2^ zGNJX>pVhA?n5v+n>2hKfB1bi^p5`lNFoP)qRdv`pMc@hKX!D!_1(C8JBZ^MsQ1iLh?-00)=V0SWgGPpP%%l zkDOi}97OXT4nU};aGxc(Z~W9yuF>r2&Um$g4M)qzjT?oo7bo$`4>rrsc1%Xnr?Ym= zQI#sg{W7USE9f0562|2(7IrxwFImBAHHB?TC#)eZ?K{jMp8}<^|2G{c!+kUFw78F1 z!`-A3`g&;Rb}hgeb@mfs0Nrr@#63`L=Or59G!!9yv=Q0)0BgyCOWN;eLUs-@&N#ng zq0)z-=6Aq@=X-rD(WcWb2E_&n;z&Rg$&%-vlTDClieZo1JH-R_*D+2?5*$>i5Pj6`K|L4`coLk|kL=R5u#{rxb1uH|jP* z04dmDZfqFz#5SBV+)coFUN{i|7BE>bX0IQ@&I~L7QY-}NTg3@M7To*RW4I4=B_?TH zLFW12iVQ<&DQtUY!_d-&7?d7GVP7TEPLJ!Mo`NsknLWozoagA=^Iy$7V#IX549F%* zna4ehItGV{tt7VAz7L7`!F~3J-v_E1fBm@a%2$iWR}6WqkJ~&|^5%bZ^qy5Nf35%N z>QSZL3C~}-Ug3DLDqJhV|E}>$!{t{5uB`hbS~*QRXw{!4+V#zK%_GW@*N38;leYAX zXk`7Cri{*aXY+T?hdS*SY!}p>kw4g7_w;zc)Rh;rHaDBj=XrtMO`T4Hs>#xKLj@a#_jGXim={sBQyf&^C1C63s>SUF)za*c$)lu42;F zeqZlr(;aQ+&ePuw#8GUmD(kj%Y0GedzMqqm!-7vhW3W_w;`iq&p(%+zVdy-&i!Ay) zoOX$$FI?seRBM@$0x_SKG7~LrCtiWM0kc+hv#3=g)DeH%sw2HdU}3s=?bN{19i#9S zLe*3Bud1s?&{rI^xB2J;1zK-xzggW!-?pHz#8Hv7#I{EUa?jgO^QP)CoSh`2=Zs=b zi&7T8g;vHAf@OB zyK{qLu8=D~odO4fiKjrb6_S}a3jqI@8Yj{U;V-YTU*Lm3n4?`{pwF^sHCwfIbKErf zw7JxAZ*hp!sQ0cIx%*!86G;}4N$Lettg+E}e2Z-0_qL_14zF)|N(OyOP3sjxpB~U= z-pu%pTPdYaeAs@W{zic)L)j8OU>@nJwrQ=)8s8x+L>Y4*%K$E7Tr7)vjHK61=a=N} z#n~%>?Rqx5^r>4a+nz73Qw%T#cigj|n#_-X{bXSmzs`WZ=j;*tyNX6Q{(8a)H>v)B zzGI{9XmM=|iZ)5XF#%tQXldK=3OJ3KG;~LC?Ga%QMx$w2zO&dSH(%+y=f8jEYH86v($`l zWJgXHUQ!NAXQ`G_H|gYS53&ZFEU7Q`f!jyidJ~@njEG zQ!m{oBel}!u&>4VSWw5pPq{&^J2mxivNRJe57Z@$S*CB-X~4PXyO&P^(*o@?9<-+# z0{Mq^oHiuc8(l4;U`@8@)(vhgtvVU&gqCv5O0A@hn+t!<7A{?Yf?!V!eRe{!uYz+A zPjl`AgD3xpOJV01Py9)fo0~ShkX9?KM;VzWE?LEUC$_zu$1RXFL)T?To(|20n)98E zUC0g`II6hD;X}o=XCA8jFY?&KivG}$JhDx0y1O1Q;B=lg#m3j$2fr#f&i25uV%63T z$!K!?HiRw3aOofPQ#**UtNjfb?(QN&El&)*v)Q9RqN!Ii^4xUhrq161WMe;-LnY=y zC@9L;^4d-*-&I_GK0Xf_avir&i=$EENZ4=^q(fO2Hp!Ym>2m)2?)%z;e!1`$fisR; zzkVHYow2z3O?#aK{F3!_TIv-)Tx-PNIK73-jr*OUCrTcj%0t&WQ>u(R{-~{oA9mu4 z4Qb1QWW??mnPYT$VYXqh9hz7J!hffW{(1k?o_%%qL=`>zOq4AQ|Lalp43KM74Silu z+vbj;^@G*cx(d#rfR04P==T_}4Kq!Cew#Wkwxz>I7m`gdky3ceL`pK{M&F3V?~!^t z$G3gOt}Es19|O|$f2o9d>OKz!%>MEi5B%eH4yPsTA^CnTOR4ox$;{O1qRM%r9vsd4 z`3LwN;Ez?E;??};rT7*=qsCuCf?xql(D!jP)$o2LhaG}jWV1|e{8j=r;;!OI#sONA zgV7N1oV?H7t%Xz#FYpS)YR=XyXVE6-zOu-^1MGEMrOjuG*FWE3ggPg53pGulHg$EM zr_T7y2fc=$tG{9x6l)g7tCyRaJ~>;FCHv+(RhBw7mPDWPm>i61MG-K@w~cK9)BKsJ z+7hdMt>D!`MT|AelFsu_pI7?T?y1(-^?p!;*0{AFU-orkVf=R(-So{H`PW|-4Q^>` z{`LIj&gR)Mk>M>Gq&e=oaatTj_Y^7A;=mfc)vq*TrBt+?qwz=9v~_fmN%n|m@j@1R z*HY-Q!qJlwD{{XZB7>;*e<6cbB<|FD`)Kj{^Wo#qz$EGSu;1i@WUM^c@tU?WJ4~n9 z(@4@`hN{xLJR*vBPffq_8+L+CTcS_qX``Gtx13%{m&Kw}1UOKjf9C1x{gQPH; zsBn+U_)V(3sb*tqzHzsgL~C!4Vw&XZma+rfQG1~Bb$RSOlrseZrc%iZAmY-81Eb6U zy!XvhPP#2fgl*sYT+vjBUAfurQj6A-V5fSjA-pq08{EC%AZ=mg5M++gHdacCxp|%>Y-t+yf?pNWgyzBPq zYSF(2S3?y+@@4ZAsCgz~7spNZn7#L`O~+dv#|)@nq8zkx>6-y08|sghj6hcn5ZM-~ z5qbs@?k`R%lO^ z%zCuw&{yn5KYWe&JPjLiPyq7kIOkA(rq@Tddxk{!PZS?hE*8lzoPNAanc|(n3>HA) z)|uwyXW5Ic|Ldo#uYy?fotCbc(2Dc#!X{8yf*JVNeT{dGw-Xy^E7sn&3RMeRw0)#iR<(`N{S7x^Pkb* z3`hVOc63Q7C2gn6zrDYeEK_$cE{4N918!*{C~vj=bIk9)8lZa!XkSCXdtL6fF(Qx1 zi8|wnexLmuw~7jf${Vf*LFgL(y5b2Vl9dfTUdl0v`qDhYzatjJh3?&>x$Nrl1!m6V z3pxzH@{(e0s0ad3(02Sz*&0%P2XVFsh^~!SM!9_HDONgoGl)s|eT6`3u@iUHsNcPQnYE-TMkxrTMxaWdmeOXL2fI1vf7~=LV`Lpb0{|_4*oE(|{I$h)xcbb}OE<5(mOqaoT;t*GKdAQ`7hye}tP!DF^ zrAZU%zz3z#O-MI7oZ`3NN;(f&bOMSYBDToFT&Q$?3NAK)o{!z06c$(oi;Z3Yk{|eE z92i1%BPI#ykBW!Oy4($U9=>9c@|Z0KR(4|+$|WMXp3+{6BH}Frp+no_; z#;q&5k(8$J0%+rDrP;*Kci5P4-S&{#L=|c(O~05hf9)*!=oS^i8RFgDtDh<_#=!^eYPVkra&lXzjHyGV| z6WBuGhdI<+zwaWa>mslpga&9;Z6|6r+^~D7o5|PgZ#HCebtW^v6x5L!Mi=S>TQcEq z+t3u6anxl8Kq-=(|Ic)8<`y;?vpl5J$)t42TkYboN^2DjG-w47u!jEqmC9KInz9OI^l77fZ0_DO?`-!Iry z|9Bs}vn%PmPf4EaE{f%M8t4evtFNzvnSZxF#-90!Pz~Tj9u8^f(=FQo?9&}V(&d?J zII|kZ&QnGfuHCl6|Ao$d@3E~*s8;|)bOF)6z;7ZayrPYZ)xu;pmJ%41(YzK0mcddg z&AS|x+2IzRwEbSBOP!Fp^=>$KEmC?O=mqbz0#kUt|KX0lD$AE?1VoL_8-vDfO19w6QVDuUyREHzWC-xjcwE8uQ67;2)&!oY}7qm&HJq(}=ZLMCb5>ndE>SZhso!J#5bHAYHIBIg`>L?qwy`DC= zHy{}lWRS_KeZH(f|5R$VM{qaBfxzpy*s2}{2rySF3h^N+qF?z1Upwph8V}*+6Nqv( z8&l|v^(UZQYo+(B0==enhWh8UIl8o;c zJzIxo9fweht}&X(vN}lqlK1@ABFT}VT}z$$$xu4N6*VJ0`0bz!j_x%OgH4mUc_P|& z>eP{!*x|-!43RQnYsx9S2W?kcQ7hfrmlwnn(@B~4K&7Zt7RXM~O?fc>S3BIHZac)P zYliuv6xg~TQZO=-i{(KJ%JEc}oqAgj>AtZWZHt_$+6UVeM5k777Ycuw7#K;MYGW}Z zTlNIu*C)8HS;!;=r%>uz^seuAX-V8?s!>-R6;4s%vLmIKU0a%kp;0764f%@mB$e7s zv~3o^sK23}rNq?1nqnLy4?CnZ2zyMl)D>&*p@<_c{;B4(NE|t&XMU+ic+vRIp>%im z5mf2A@n6--B$7&(=sKGc+u42bzTlL^=N+DDUO-m1gHWR3OtJsli%9hYjjQBW$;1Wu z@hD5E0|XmP${?7~ry2?t9E89TIhbRXl)jX@gr(Fagiy~i)?0j=WVSHbB{xQ>AG^Se!`CK&)E$yIpI4@Us^>cS9=ky&EXqvvDpI(% z@#zyKNSi;2I<4jO0lM5ZEP)ykqO>aLfGPv&)o}b1*-DofMr#yV-kiI3;e0wzwdwed zBylncY@aXB_sTgpVh9SDwybdT{tkAbl4lpHpdv~%l}RFhLqwesX?RS+X0i7ZsxR~@ zz8DlFeKEXum}07l7G)mESCesZjI z3N=_~EJ7E`Ui4kqL8o|nGzy4Gl995tUWmW<>z9tI(G&GAUD2}jB+euph91V%;XdJ}Pj zR0jw=m%E44?E>8d$#2Yb%S78C_uV~pJY?E9deaoJRBd_4vhNRy7m~s#W(sVgtiqR< zx(X*Apd+y$D|aR#w`FtSPCSsCi5r<7aRIh_W4LdCg4l7dz3!uoS%VXk%-b#!D6bo^ zddF{hO{R^Me5e;_Ns|K9mg$T!L9g&4UZI}aikkh>Gb-OJ4-iD~f`ea2_jE<_J6n8q3i}0kXax)%tWr*2JOrOefQL+(tO_W=RNBXNu{*taQP+*eY|U!v^^M zTPIv^!lU|aVZ*?9HYmAkP5O^)<3}h^(|~%ruIfED8Qf60mQpZB)U41}S7@ASKR3MK zQU_6Uj2ed!mpGX7I@KUnk8L5fhcZYg^UnQWqLAuMp8Eo*9E09+*5EWHjr}$6xm!j( zFZpY4K0uv|2DU$KK3D;?_@>9XD{K=UK*j)+YUB>5TTGk+g)bL&fv5_fLghVPnUx^s zNQpLtHu6*Bb+ zI|?wERxgF=8eH{60g#6N3K)Ebt6-B3ok^&W?vdSEWHfS>P?!%@D7lp7XUuySI@k0@ zsk40sUr7d$q6S4?7h>k>I<&Wx-H*E}8a+t52}JG<^mC?#`peTb|A8xd8KN&DT~wN0 zAEeQUvjG3+BF5`#?x0e(OUQ;|^{7s?#iDEwG#!lI(u9jWO&;C?TbL>CQkxk*gV+BH z#J~{>%z@!_*s*xs^9dalpeiyoCam^Na)tNf1T%lwC%}7z9iLzeC#6ccyC5i`vgZlB^xZr213O`N$dtBK=I^m{+Wv3dxh9(A z{ZAPF6w7nmWG1ZtLs&szDo)sJ39I~i+#I$g7DT$DO;sRR)0;|DF$-3ZBiX&}(-7=A`Orfd-!@244Y#qfO;r$M^>)iCh(EOF?_eF(SFJ`$rX@ zU3hA@E%)a&0dg3aMWqW3<~UVvp zxhyhM)k|d%hgvv$>pZf{Ic%4We?S`Xa#nDbM_&wJ53cqX2Hyl6lAsv=1pk0|R0W`+ zX!#H;`Erkxs+a5xD;#5|+osaolWSgd$%JF6OjQi`Ll45Go91^4&PS_1w`ZfT=l>4` zrmM*&Zp^-rou+TJ?dBCBO<&{v6$KqE9nuQGr5>EIr#9|C>tUS1#(h)NTSu&xx2xJpSp+T zGK@BfLHtDuZKg^E8wkee0a&sYWlGjGr-L|fdLQ-MI@rd^jGomo=q1N59hq2|XYcb< z<>fYXSVti7em>ggmyu-$PF1trZqui?0n#J(+ z{}RLtEyiPRBMAp|3zc1tzP^xrumg8)q1}#>OJCcTe*hn|QQKcuP0X4f*iz}i93Rd-Uo@UO zutLU1h7m`}r5B(aGoQfyB%K^QJO79rKIUK9M07qh2Z%_yShRI&c4LB7mv-CDzXE~o zS!yOa1i|Hp7%uT#8t`YA*G+RgLnfxo{&4Pb2iiMj5SwRT{=`i~jUHw*%7>NGMBY(H ze^bgcke}e2fppPt6lKx66wuLj0(Xes!=EN4B#90>cK)9cI069hZl_A*s{~;mIj|21 z7w;x#*%5y{KqMi3S_&Z~+BJ~d&YC+-fdcJEtcAg?M8|M$%5L7tC{$F9fJkfR(10_g zhjXlye&w3sWrO7L0Il&EI(;p}(Mb{%sWp3%;zm5#C9vIrJUbp!I49<;L(cxjh~rvL z9xYLS5n;Rw{^b#29s@8>mwV0RN4vOx48E~rei&{Q9Sa*O$ZEJlpH6aHa)Q*3-rl4; zjPeY9)5-_3y)mJ0nC*b8?X{lJkvuOsKqPG)QM|bzI62G!EqC?Xv9Z`k#^yWO@+|iw z&vtyxXAA$PM-0M96WQ6#Uyc(S{eu`>li*HVpZUz_+?;fcFQP+a>|{Pd-i7_kB?Bze z0FPoazGE$FQ*5uk8=iFoDsvidRk+kG#~7(93s%W>ui3VeZ%4}zWzIUaeNCE2-^Nj3z-O>@tEAT;OaAq9m*sNjW}ml_n+W=}J|4sX*(i->ox7?cAFyLe_Cx-tK7{>;> zbqqtigqbFn-c+yi5kzI(b-2O?uEa6_4E9owogiU;xM+gs`R)YPd7CLLnAIoWgsc z4CtsSr{YZFa_S;Xu1rt0%q5TKYr~%Ic74h#63~{ejTdyBs}Cnh`V1T)&SQd*8awxi z<%{llRPO@M6235J`NFC84!b8W5N(zay*MxLg~~4+K@E5BBV!gH4`n*sn7)PT@EN8n zQuEO%*v$kEIlYu_3Yf2$Yj}xdxY6Iujb6^p1gK}&@iN5z#-}JXI-9V0y+6QF?ogU z>Oo%Qc~2{y$ZeyiO~hd9GkGH888ftwzcX~bDOcKD87;mgf?pceGx{Tjz%s=bK0Q$j zq6=C3?F9*wjofdC;BvZ>IyHH%Xjh|GWK#7q2O0P$#1ojd`(7sJW4(`i%9@k1oEE)7 zqIBWSMWZ4O*&FcNPAK29OnqKz12`sORs@(VLgj-zAO8`3Aj z&GX4TOl>VHQ@9Y}ndkdcOq)zIFEf509Ta{eY6pKLJ>5FWBC^{8{(*uB(e}!Q+oj0G zU*xw>>c1+fpM(Nfl%YCIIpZY$RjYS+r=wW5w+Vl^^UG1=MUFf`@wc>o=D zWImmKHf|jGA$5koj!v}6S5ViGVds20tt$E4m^(ybpaxMZ_^Z<|z`y@SLDIew3T!}hn=F>M(m2FhIOi_j7xA=kci`GzJDI~bNDq6ff zl3xUVJ-U}Dc|R0?8au;jAuD)4gi%G{ReCU-t&b^wK5yNXmTd2^i(kh1vp4l6mf=|< zC0^L+eJZt-h3u3s)mOS#9W8FECaVcA>AXp}To8gvk+Xbytjxaq&P7Vx?tjqL=%zJP zKA_Q>m&CE(nG#mA5V320t_P#T`v$8d4!^*sZ=YT%U-qeZB+mU=_(h{P8nWu}mT)3; zRrkPBYTch5l};dNw%uXN0#Ti%q8TaE+w`+E?|2tSmB^wpNjyg?cP#U_n>pvlzrNG> zE!9?bcFyP0s-8vJ`@t_&Hxq046V}kmxkrHWuNk=v>I-=G&h>q^u^1cIl(C(CHNrvW z-uQP_x{jZKlhBs@+i9x<_kG64ljApesMpMoG`PFpsY}R%phCE)7R)T*b}7!+(_}`! zXRb1*L{-n}P#Xc$+#(HOi;PFEei^J3JT4Fuy0QWjeQ7z?AipjBcRIK*ce^Bg3V0foR{aEh7Ipiz5`5Pr}HC&V>1>`*e zKXgsIoF^p7^p+9bC$Wm>kXMcZU1!gadnmrH*9yprzG!sewY?RrL6wLn7X$DGoS(2) zO0QEnl}3ROu5A@*97($Ek>1I61E+qlCSOr$rEj=V&UWS;$cn0OMtmtin4uZ4fpd>G zB;ctrBr4Ldp|Uvur`!ZzimRI6s7^_yzU23c4b5`yDE}a&e(WXBY(xaH4Yjk~u9(Rd zHlL6GV9n?_t>hPpV|FjR;_ComDEadA3t6i;2L^VmqoVDf`Uq_=WMpt#9-mnL7U{sm z(`oWpPsrl(=n()Bt_eS?FVa4ZJcfYEjW~>S>DgzPDtt`=Q?2GK-?7qZs#I-}sbv0t zrpjmouyq_9k463SWXE2LI~?r5R2H$;QG0a8p21sO7zEc(R~@-AcUI|wm%E~U&T zZ7!fj6)lY&RW3J-xLmaX(rc@iezII)$)txzxuf3lbkyE+AA+?+MI1&)MP%?NWN;D? z)`DOp;q$cRLI5=f@9b@KoE3|1()LIRnORapb}dgTzSkVNuvT`}PjgOfby?ID92uG2 zDY)f&_4*z)TrX|+5PpvazZ(eYwr{0ZQ}OWc=S@z@Tmo~>;--!>fr}O*H8Xt)6(`vH zYn#m}qPX4pMTc90k!Nj0K4SH=#MX3nw75t$wAN$pYiIMbTB#Y*f|0#8MqL+DkopeY z>s+oS=}tROa{TsWW;N9%GX`Yz9ziZ?Bnn{qBdAX`)^?o*28(UQab>zbWT2(HFTr+j z@+dV&a?MF#<KxE#-5vr6EuP+amIj1AB>c4VP5FAsT`$PKq1hSbIA`6!;59`#(la zc1}cEwAL@B`ogLjT-^#>1RA|gf0YlE!qICsbhJ;iRkuXF;5+WYh@>6G8It}O`mo-v{N=M3?ygFJk-~Vk#|_9 z*`sv8cnx)U{(%(&_m3x(uk9S@>HC{9{As!R-M?Lov0n*;XV2qqiS}76tOpLRNv>*y zPtBM!Uv>o>1~{7U1V0yL=m&^CDc|?Z=?c1aebaTaMtBeP)akY!t5ie_yg`h7T0E>L zOt9sU(yzy?InXxNoHsDc9Z$M=Y$RHOV>DXdw{E3cy|*}MJ~R331~|3Cp&|SSnaF*1 zfECfCS!8e_b+H1gt0Jg~`|NZOMC+9KLa07mpAc_)rj;t7VHQK3``~qwUutB0r({={ z(>l&p@TxuGRoIP0z*iT#?;^v~ecdlvq)YGW+fRH`FLF#+B{?9wBij_M7C&FxN`Czf zKIRkf0I4>@_X&v)<8L^OJRou1(C^}jgR_BAFDk}{+@E>5|8aESPj)=!ie?P;{WUq+ zQ+ckoVbSRMng@e`!dQ&oY%Nn`*cmTJ-;-)SI_OYxNJ;q%_lD|7euQsja)f0PjZRkQ zL&c$4oUW6H!(npOI`}Kc(pi#;opvE_zEiyk0ogL!xna*fi3?-f<_n7Sh`tWqPR6s&(dzn%Vou#dcem z9mwujP}JuqI<7}M>qMP3w2YO{%A(l^iV~%auhK6%>9%0BQcmD^24(j07ARYpL1}CN z|AKf%-vM(Wxay=IBcGi6aWlkJxi^dubMNG3&K<|)OYw~sr>7U-n=qDjL`HM{J%Mmn zA~^fQhOKuhh)8{D<^l5$l?+~HbbNYdhdxifs|dZ%>s<$PluTlwW%vWl#Xkg-ug<&e zR!-Z{0%9D01Vu%R(G!EeSN5r+6qlyW%=y!3SH;=1g;6@#L3zQox!rgPJ1(+T?^Uv=U? z8b(v7Ci2!^i8pdKEQp-F#tjlJH`kFTNe-5?`S0NK^c|vJgg$eWdzUvN@!T7dB8cd` zNJQrW!;^>)jrBy19it0U=KnaaFX5Ti^ls=APJd`*Q?9aWBwRk6(|%5x|C%E==W3L= zA!pEHm;HfNc-3tH47u);C$7qKu^Eb;_3W*d9Yc|_Zo8` zLIn=;MKXjk16*s3^F=M=3$J_8;YF7ZL@``*(lXU~hhX&KoY+FA{gk;UQRrfU3R`+p z2qjtd4=MV;k33^_9|w#M<=CRoxv>=y{bj^aP}L(a_cAE9wa1(eki(y_Buy`SLy$Fh z+BgvE{UhVCQnF$jvy{oa(mbbQ>T^3=#{nC`Y-}`8sK$;t4-xt=yovg$%?KLgY!ojnnM6bZ(y}Ue5{uAeE1f z+AtgZtsO+qN^B;FakONGQX+bupy=6+qUTbn6MUA=ELnStCmtzhCC70J%v}~o!Cyx< z$!BZ953t!f@T-8c-Lm$P;R2>QS@7~=0w*q8o&nP9&>AY3Yxv?9&0*r>7SQ)vMU_Oi zWq)#>rqPJA08`FeDvG1RP^$@eD$+JY_yqnp;`;C;i{{ERT&B_iDOg}v?U-_LeQML0 zFcjT8n7MWx;?-EGXtXFSoJ0!8v?7AL^;9N9MLW&M7B2#?<8B;G26fV!eq+QAoX$## z=*hQ%^|DRJ+h5Ot_sAO`95hXnP6$RPruYDa83c8U`= zdNK|>v}~6rc_~XK1>{xM8$OK`=!J>%i$0IA>pO}_2PH5QJ$)Ma4k}5v{n919-}IAV44h7`}bNu#pH%a9&Q~iQ*bz` zCnv&CX7dVe0jO(nA+@_;{A^*Ow;WB!p;QFe{eb~rgpjXzhA1g~;64-kE~PSoOui?z z(1{H-4L!6qm^61#xlDbi&_IQ36Sc4WpTv0*uE+ew9YPpj(1*42CLw&VWTA^1m zpko6yALhecT-#xMaW=dt&Jx6pneOyvzYrE|}{dChnc zC8Vl@l(m+;6mW790RmQDPFY8B+DEt6&%VL_+kb6byo#1;sGr^+`qBRA#^<fi)MtLz^|D7X322F84D}t;6*Ss^BMKvx~=Np ztdYP`c8FjB$F3t5perZX?YcjU5>Gd`SEyTb=F`t%P12w2z}MtZ{5>IYh3bq{0|q8y zvD)DmQOsJo5G(l%EAimmvw`z3*MHyxE4If|{iq&q^hArmk5vuD;}gM>)YNmjx*=+z zKN$Lu)9#o%TM@e`fy3Bdpy+K)3xKali0%@Ck!vFpW$WVPIr!zf=5MoJL#yjVik|%R zA*Q5|>t08#9;4nnnZ&Y38m*_3(A;Qr5e~k)?o~0R^AVAD6tvR0wbz8py<}G-U40{a zC%w#LH!qe9J6s zNfu*o6h=p+H&8mZ?D-67N2x7dUO8a2T;+;ID=;uI=DA&B)7FL7yaeC019$~(gB}uz zPg=`tprnVed8nj@fUNLJleyLC_vi_{2SFtx{Hv_2m}+mMFBN7pzc8B;K04CC6mAh6 zo9!(~@MB8p&E<~N+5gY;#Jh?H3l5tRkdqRa3j+ap(d@8%%V=59jaOHx0X2Pq0c{nJ z^t2L;@A8N^o-()!fZSFI0OZo)8|c{Qm3}G3ZJzx%YA2iLj0#|$ zQ$LM5I2V4R;(g@;KX;(yzMrsJlIrKFvJTMc5e=8iYIUnXv5g*=5__9Tb7g*k`#=k{ zhc7Ie{~=LO*E~Eon4CvfKn5;lI{P5OlnrHN;fr538SHr&RJt(LJkW{+hW74{_xsp= zTsY$57G1?UIk5TD*D|YrMEE$9bFSl_GforxBGQYRj&$hv(WD%JNCC*!y02CKL?KdB z_QstffPa&d91|@nM$Ji1htaRmqmYm;K3Es`p$zz7jJYXg75{jc#?Q}qAdN&i5j7uW zJp_{XD&mHsU8v>CvHKK1R0k_EbQ;ckrI_{S!%keiHL@>$&VD2y>KhcLLH-h>+wt$1 z6pH(1c?j%h0C7&x^FY5(A zJww9NEXt3m;KMB+Iv;{kRc~;K;*f{jjc8j#x7A)c5pyYVTs3H`pf}a4N8hoe8#)s)G=ogdJHC+|71iubfWmJCe_Ak9yxh5h5=*`w zXrmI!Q009SG@G-8%IPA(uBd7Dcd5n!C$~Ysf+j|RryZ}<*6z1+lma0*eyWUO`Xuf- zBxgf$ur|i|N%)tq+%H;1DaYG=tz*{+1zuGwI_2YmWX^xgn5?LqFrlN99{7P{JGecX zJ-Bo+YWQngF@>2vTQT(01)@9zDnbm!x+n8eFT@?pk#pl?x@5&Q(m!nwBshGvamz70GJ(vdh678sLRLC*GjZOJaX78 z$F*DtHoL2H|EKtY`co!(wHB$nha>-xG(Vb8wg-WCosU3NGE9?+pZ9{RhL|ESWMxa) z#ZzQbwW<1jDC47eQHP2;N*#N;9Ht5a$sdco*msWY#dD|`VeJ>F(g2uWgSeTMThQAGpN?kp+uuRAm(tlzt;vX0iii`ZblcJIo?&AICyIt{0u)y8LR_+Sf9m>X(`dP!qwM>S19|+WCT>lB?OWJpyC_7& z6j7O44rQu#6MBKeORNP3y1Y1p+oow}o3KT5J=2&zv28JBs0(E0i!TQ_Y%bZer4tz7l)k+WnfE{q;?4U#UBYun3iB05cHv7EcU$D|h5 za}$Cu1-^nHA&RGuKYaTC!+6eof~LsP;IY*>4On+zd6&^;sR7x4L&XrMmXS+wN-$ybSG$u&>i&~RnM z=_8uGs$~SBLK4vVe&c^lwrQdhnh^`#pjf|zjmVt2%+i10DG@;Xwn|V3{%ut)5*WW!iP_A-vr`YcHepK6C_ADwHf<$-;Fdkb3b4t(<$Q0bj2mH9%@(EV)V;~rFc3}5*wD#M7(rsU2g z$z?i=bH~2N0Z76YSaEa`9sX`Q+|fmlRoeVzh$XbAy)bo_I={{TScWO!lOA|?m=paQ z^fX$dBL)2Hb{_thMg0fLOW|Jb&n2_o_} z1zx0wJZHdIkX*D7$HOFUpH+E{xCjY+8Yx+avw-J8V6~MDP+gaO9I_T28wsQ5Q{q&u z#pWy<_7nzs?kskkTGK!|hssVd{j@k9w46eGNga@0BRja&Oc2`3@A3=LR6{InIz_fh z8DU|IfmvfJ^RSPgZVRkf-Dc5>FIB^eqjdHJOwBY)Qc`uSOqwJdfwT7S7UQxvRD6vkP354Lc$zKfuyzXGVzz+(G5QQ);yy=ytIV>N@g;OLllFuteYDd%RXn}Sc-&WT?>I#7ON-W_??mpjLP?8P2?L_mwei?-K8Xdl4-^68uSLA~`N zL)*zxhn-m2{0Ykxw|a5pcLn{xIWLSXD@W`ZcAEz19LkxzamOJe?Rf|`jnrW)|{aT*Zz7DMLl|~O4Eeg7;~rArY=WV?o^03y(*_< z2!vtmwwWzJzdL&uGa=f3eKg~q>L)_FZ}m798$P-L4yRc*H)ybl?As_cZX^^yIIk=) zh0(8$Z^t_=8Xdz8hQ+yzbCaXT@&k~}rVv7)Vqoyou)KVv|CLyOPr-++2wOM530BBjY+JaE9fXKf68(SN&9w3

>70Om%;We?hQl%4f|#+bWysk3y{`+JvD;pt$zy~U5O zsqZfJ(qvell+?qG=q2|6~&}tQ|T}jR!M3~C!HgmkD6*~rkVNO-_vMluj}{PuJ_va z4>iv`_u+GY?$7;vpRZClpLeHYMM0V1>Yc6J!{N$h_vgU@f7Zd{w3^ZA0}2RFuqmI9 z#g(m_zCADd&gipw2bs-DE4^9^)J?cP*X4`6H^s8Qik>H;B&`0`QlVY)2#J5+-($zc z-1td`^w^{&CVi&xyYR(~ldV?b+n`8oqe`+3PRd^CZ775_)YY*}viS`ptbS-bT$4;9 z5$_1F;S8NSD|$N=>L|+nn<73&`^k&S{HxraVGNrZ^6~OLK)#q@qHV42VT%~-l9s*x!dj0pIACnfjbju)dx~d!dZB)Ko`1lklr6{~!jH`f zdIZIpb>o8wmw*&|RLB_-MiZ>Dm6|JM&M2klFg+rO6)$=Ukvajf{ zO%6Dyo5aG`qo(TUJJ4!2=&p}IQ5rYdZZKIstMfRSJyfo^Ui9*c9T-`iV|TAK%K!-j zIy=KEG`seA9r1LU-%%9pA?PWnfV6$h}hV zW`TNFftPPN|B(w-Rmvm(`RI{G_hxC2{7{zESC`}xO1~>(UNuZ3p1U$oyLp3|5MtEY z8F;Ut{y?ylwfH=pocpZjm2r_OQ@o{vOdc#2$71nzmZ*u}gh*vh?Q>&_vvWmyVOrPI zilG|M{u7O<#IUD3xZ}e^QEmw@=vBqo=?nFi{?ZHDF}m2<1F)dlvxjStSlb%;BntWe z>DPLv_EaG*S_MznNNsI+QJJ?zFn`i!j-}`co=K1fU$IX|u@6NlTSvy<`|yxm{Xlx9 z<(!M;lsEiGWr~bIByChXr=!P9ZI%HdFgs~GT!rkTI&T-{Uywxg@cJ@NQeuU&HO*Rc zUE1)lK~g9d-7(rLyMg zw9Fd6&hoN~E(ORQS+|bNA|Y~#0QxhFTO4(d+EyDZE z?#S;pS!4K?Thg^U&4gUh!K%rh+3~~M^=lvv!rPL|?Hly$s2!ETZg0hvolh%LgqDPh z9@r|k+6kCxvO9a|p5vo#a7zM@|F^}8NHu>pI{x=05a+-3EyIpvbR!?;HGN#e%5W_^ zJ)O+-8KNavHQo)JDy#6|M{F;orYZz-p4J%)F@)Rfvi9}(4XM2Q4G_UhtNuwnnyESp zc&;vo#eO3XW$&Tph0tdP%?2=x^U{Ol(^!ebL1$e{En>PU#FW&)e{jmVY>&f{PTvPL5~+Ff0IDM6g&QC zMGF6Yd|y{ytJx$oq@W-_F~`P*K~Y1__%Nuy$6+B3I-qd>2=e>67uR5zaJjFLH+@9=m+_c+XWHO_5N}?)z;zEgWparj?ArX~*_8W4h)t;- z9NEtXm*}gzLT$6@-D16+(GUlvUAasrOs^=V=X6wjktG@`-7_%1+gNy{(;l#PnO6wb zdVM{97wZwXI}A}g5d2J1h_INk|66P$r0Lfi{w&eY7M)u4s;Int-lx^)w*7Wqbtw$Xke2$NpR*g@7r4%!* zIE4r3Q@VtB}`2r%Gf-KQjU+p?u;v1O>OCVLPsB&>-OTt?h^A|W9RCr>XlkJkDZ!id0Ipsbv3|_nI6{oUb zvCB|i`Fs1NtdEJ((0(MNq3fA*f@?8uELBx39sSx$ES+=A$n0||9!5Xwj|=3jXdol_ zCHx^;L3ZIf8-kuaP%CS;9cs9ot~J{E>(0R7KzHi+?U=MY#fwz@H~BF9PH zo{an%{Pc&MO%DSC0Oe)-`_MrHNgtpfG8X?zjynj+IORS@Gx21c_1e-|DG7Gr=4!9z zcJl^cL=hJybUB@^t!8w;_OtO_DIb~+O)|#;Cim`*g-Y>|Er`v+^;O@d>t7hRoo5jp zDbNihxSAg?&Ld zPd)q`UuSx>$IP7-N}{e7s-Wa*TiR^uA_*g$VIFI3hM)|03$e;`e3dP*N(W1eOja|z zoIHL@^$#N=ETF!`S7{<3@RfxwzR*r}T|G0{%uqm;b>irx*^E+d$)w8!!KJKUYnjAS zgAH}yemZvr1I-788HG4So9?)3$mVY25}ZZtcAzK10z`Lc|+PU^NLrwM|(fkO@{GevyWg9Ad#rLQxWTV zClv$bXiBAM1dWRa{|E^0NC(JO91m0n@m$p{htRvvvhuIXoD`Nh-gkV%XF)Xa-n{g#MJ}D^Mfa z(gvF&R3~qnb_YBv786mS3{mj}i3+8euhdSA)BSK6Tb3{O3uXw@hud9nKgHHZke zffv8BY4)8}Vr`FMXvm2UTXTJwFIs^lxw|z8j|mR=$rho84Gv?;(hHdsa3OsoGf!ng zhn)oEaOx?dE77TkIuz-7B(*_%tvPqerFO>ovkfmuZoMyM-CBx;r)!9Z26B3fItsMB4kuy-sk?gbDLW?g&P3~2ROHI8 zs;WEKag%_+_c#R30C+<1d`hN=!sxH#>QczD%9-3O*RFiTbz&T3ZTfG*wve&`b=*DM zUCNGCXmpq+T-%jKM29(6nGDpRGWGO)6>X%DVlb{|fDmxg3seMtKB*L#PhdTpZ>Sf>)ba^assBf0}l(GJPa)C@1m49GLgkoNZus1%=a(2+<3>KDoSP7 zYmbP)8k{TU-t~q)n7+TguhmX%`(tSz9p;}*qND@ob;PQMpS3DRedH6NYM7Dj;yV*) z*7u}>eOjv*a7HAt9EbQ@ope0kNN(@A6b`-P!Sy<(bWdRmp!(%{wzdEi8zQ%A#l~p2 z`b*nInl-96_HV}Px*tYR?yt1j(1$BjbZsvd)eo2#MpfQ~l0R9mn2WUfKqExx zoEab>Yj)DB$_t~_fa~SGab3lFprjB=&#-bC(x)EmaOJfmp^b+2QA{A4eyjIXX1(Bg zA4@AEF5W{b(!H;?6%{4Wr_W+POi!^R?un7xIzA|dodbHili!C)fSsboHbV<=PIrej zT7j)@U|Fns3$oas?3Tf5XiQdIFJ(WPRA6|E(dUQ38dKhA2gG)=7rUgWY9{MPoRG>U z@6e8Xc6Kwspc9lh#CEskP(6+`>0@YEHeQeljhcKNR99Fb(G|q#EE)c~#0ChG+q-Mk zz$~C*2{Ly}#e13{3>C|+70>g|LGCIfEy96N?mGa&dkvbWp^hZ>jBE0A!j5Vz;UMjP z`U?H>YuY>suk;i0S_cnD>Z~=-iC{Vvmr3s|Gqi)6l=L{|^@e161nRH7crE#Xz=<3W zk0a*e%cFWcT&GEE^M#7vITQ$j$%C&}pi}{Ff6#`FrJV4LMVeQNvB^3WFX^3WhxuYo z>lHbpba@-j{mucGsc(R$Og%$eDw8Wpbo!ihSrs|;2_|q_2ocZxh}S@OGe!$8@SD3- zs-Q84a;%|wOlrB%qQRQs+>#u1TNlKN27lo3aT|#bc54ocubOHowVDRW%L>Sh<>QP> zG4dzyGd*NnyxVlYjHJQKS_y5dWv%cotN4+bR`^xqcWu7GQPvQNi%Q4;+-IGg*B}iU z^0$x;b;`=>dW^c)zo~P`{R8<^_;GjkJrxa>t5TBJ($HJC|Gybh05uO`7f9XDwr^-f ze&25np1+$Re=pWf+HA-0&X@9(qXCNO02K{*_S(!EoN|@{8X7R#8NFQTs=;A)@WEcm zMfKKhP zA8Q22*5L=J*sT(TG=tvwmO4`!9PGk;({)u{-BhL1b@6@p{CdYl_gP_fzdVs%;1GkC zx^O5UfRX8w>3rN-gJ@@Rm)&6Ayc?2KJQQ$lS77jrwjgQFl6)k?3TbB}%luQMll3Gd zt0Vj9Qx=t{86r(43>heE2{=EjhwX-x8Kt>w5LhJ;7Kah8n-u=!M0VJb-B^fTChd8@ zZ19XHIWmD2V`BWb)P4fD{nLIHMU3B1U~#gm)M6&Zg9p*>Dc&EwR9yl-O-g9mP<~2c z$DhfDdjPO#O6sOENN`1(h z3#v))iQ`g`;~9-sq`U!^R*l$0iV0oU5oAOETx>ZSh0t>tK1f8G2TYtW({0)n%0d{= zIdyBsQ&^KQt9TZ0qGIcFj#8+TYl;Y4@tv+@cG6pyc|@xoa_qW}_&HAWpp!Q5t)rB@ z#Dc<)-H&58)~qe%TA#|lIgaMhlY+fz8L(K*11D7De1XHM=TeBhhkWnId#uS9CU1zw z2OWpQf8r?f`NcvJsT4F@qzg4P$0waxcY&{HeRz2srd|n}vC1u@>b*C{72FO4d?NdN z*63KEXzzXzL(|+K*U*}aWN6LQuE?C&9D%8u1?oE(ocH56*rW$&D-K%k0YnqjS4H~v z0jinQ8i#1W{;QufA~RId19Pktk=*ZRmP6Mb7vD+iU@tOygek%>!+M{-SW`2tv+i0g z$Topc8Z-=6;5bJ`f?}l37?JH-WsP4PjvMc$j*I-qRrFe|#sdo7PN=QDi|`OkcMC;k zE5_ti+dgcNGF)3Kl@d?W z7%sKY1qig11a4%?lLN@JQlyf77*{3jslS8B0;Xh{E3_#=_ShH-0J}h~ua69fTG2U_ zIaC$j<J>M|l0 zws_oQKh`yH-TKtz?fG@s@Ds@)uJ7dzAdy-gE$)bT57gN3AudSSp8=YnrKf4yrx+Oz zd`q1DBQFZZBp(~JxC4y~<*2FYJ5bL~xrTcyv14_LtQj4WSo-J-p8uqwJ^4qpR+kQs>J^!K5^NS8p6CyG#%@Pl!eaXSk|907S-* zWSmZ9Y$+z?lAhsxlMM&SScEU!&Mq1sgsnZQWl2@NRcGTJ-QGr^v#>?PEX?~5)#pAM z>{)Ac)44hApLi@8jl_tDD08rRgY%&7d$2VdGSZ^`lyt$}+@66C45%dP4bF49uFV)9hVa%a_q)E?3BtWv~k55Bd)Aj0o=$SV4D8JaD1E%Tn# zjueWFtI}Y^?1VR)-yXrp)`Px`9Y9WFU$Xco-ZRcgZ3jk`h;)3GQpwlH8g!f8s}?Xi zWMwRG)VA~$xGBLzLV^x4p&dqSm3&HM-+c{CIL`eBo9vS8FM(T9Se>-Rf~PNZz8?>% zVQEvt8bJPvuj;GBdkLNo`WP4>vMCXAXsPuMVM?}i+QBHEI17NBF;Iv!Rso5x%ZE^T zNqDfUn|R!-@1+@flNA;D`OQ*E1rtjU`9SUHImpi5gAOf&F*=cJ`pRTi`G@o{YG3=W zMM^i`2=3O6kM@RsJ8A-JS4y#m=ryJ)lg9k9EH+pSh(6W3D72Ot7Df9-3Zf`VYCSV# zErsqeViyn_?Bn<*MQAMQ%M5l_#uDjpHKUCMH8F2NeE< z9B7QMp!5w-y@0iyxs;9>(=6AI?S-+~<7A~HACX;iButc!hK2e~)ZUZuM%u;(Df6jQ z&##`|y>vk-e&PhhB|o+iK<<5@M??BmeZ%;z5V;%(2MEAWzCN5uTPRTO?KZmp5i@4M zj0UpVw-h&AH!elw<{||jA$^L9kJ;-+Mq`bPlchWIe0cDyr}f7%!PHo(rDaa?=pwHKaX(3D=|)C8^xjT+&yH1H5o! zG?HM)@kvKF8?TYdRvY#~=dSmx(Zfz39toAi;sdPJE%vCC$HowT^YH#qbss=h6*Z7S z9_lsdE|kK>8E?JetVmHt|4z#Jc0?e193PK)&4z+b)Za4Coy~@xCxBiSDSUB7QZBQe zyckSwm{*!s?2&pX#AsNHsKY4K80d}*Hfyi&UebV+z3JXi*@i$wvY1StHD*esGIyac0FTCV`0t3feqjeu;OH@`J*O?W{1Z|>(~}XBA^>TuPo^0h7RPf!^+l541=b|kz!?Rk zq}(PC31|gRq)g})ELv)~8H)&aXK}z;y<#G+p)Z9KTEc=s4qN2{QkHuPtTxjDQ%0*axy>?SRGYM(t5o=r`nL0+<;c;5#JcpxH*Q!MFJW)cJ)j&s zmNP|GhIUih1MqT87<6^e4z_7K3X(S>d-gj@toC0Na~cm?lXDtVE=fT+gJ)k}S~F(chd$89w- z1A^-V%ray?-2Zf$N?Vv_sBfNwxk42x`(019M*$X2)~nfQSH-azEM& z4hYorAf1zuZI~2@fw}H0zb7by>NbYfL?0Up=%rPm)i}Dt1rxbSe#POddpA&njH(9* z$!aP$BR}zO5%ru-j#Xx((xMEi&>8ec`Aak`S`Cvl7Y&ZQ4THK9MYW|4RHt?&E-%Cx zLYrG)u$b=JB08m8;B8SFJh3Afigpk$w)c z!qW6Q&IdT&>Tn*4y+4-TOFQP>%vouKl$hf@X?4E%cFBOwZ{_*By22;%VuGRbDNG0AKu^I zT&Hm)9q&T3jF5A56g&Qh;gXV+C$(s&X5fN%Y7cfG2?d8q0!RDwKB#<}zxQ=t5ubc( z*mj~14gs!;QmqVJHlV!xip`Rs@UQ0EALr3LN`k(DEy5QMiOR@+2rXfnu;f*0mRkc!tVWl^+WY9ynXx|Ec zhB*llnEnZuCyF4ERTtSUmUj$l!Hn8r6h*>c;vqzP06Ms_knO7?R)qs3iQf*OWDJ}< zrEQcut5lqxy(iQe4s~IAKyH$kojVIis=CJnhN@w9^|`&wMNe}0vF$J>kgL}zx+gq{ z$j6g8KWv6`q%hEeG9$r`y& zqHX= zvp5%b)ll^0ovIIB9qe!PGJy&-zRnSP4T$IeodhS!$M5XSlc->U*ZFqfiEg$oj(u}c z03sRw2BV&a4eCP?5EgbP+MQ2Ssbgdt0jvyDEG*o#9Q{+!hkE?p;$u_;Lnql;JsNLC z4Qe%CNr%M`3Jds;5kA${cz1tRoJDxvg^!2u86ih$0*jsivHBcH7|8<4j;{d5#+ zjiSR?co;l$6PNoYAT8z@yP@e2+UZ+gpn4V{$vMvx?afrf%_{XZ_hlOIS5$fQw#~!# zHmMbw7k;1kW`f5|VZO@@sOwLnGM`wMVeB4(q4wm*`{8MTU2(NzcTgU1i9q@(n|UTZ z&1AP4QfcEYFTFyIO{g*hFt72WzoC)`Oxw+J*tJSaKs;JJh+d6Cx-}Z4#JJ~iG|mCb z-}4DoO(peBiN_A3au`yD2ai!F8JeVNMOL(~M$yHOiQ}HCO$OaT#aVWiZfCV{nzTi~ zT>uvKwvZJ(Go;He;oBnZiwqqr3CP*QHzxj@WOK^Vab4<)F4gs}nvWgjFBRecYJlkVbBd^pKt#9`Zf>O=nHA(mEIr|T|FyY1*|IxC3P_QPsOd!awLAPpX^I2HIOsuFnx zADzE|zu7veK8cfapiA~UWcr>@M^6=#81-;eM^RtLR4hcKe^N0e5p2yQ0q%A-5~ve|p+ZWX12j3$-pAFbM^DT8et z8SY-Gu(D$hT=}9qZ8&@>s$77j!n4-!lMWqf7ZO|Dh&`fD%G=Ky9#SBu>?JdIzT#8| zv?U*3{GPDT^Qb)v7T#{+Hvb<>Td^}xBfBrEMP>{a)ZJP+_|nyG$$;qs>YQ$kofw2_ zg==iE9gJ&rIRj?(usDGp$0aTJ3cC`BH2apffNHvsn#^j=6FGnC%W%!Ck|L{|O6K5{ zpQ3s6>iO5=QJiV|&###}=H~ig33v2Os(kD^(`4i>Yvz9+uyC^X&e>?655@@;%he~c zv|-&9s~)3`Fe&Iy?D<8%|CX|8!lw^(T(e|0f3_;`x{UB`Xe1Iu4#Ja33y1hIr?8pK zg43}JTsz*mT4w54n5&4N3_pHXqT{{uz%VY|b=g;r1eI<))c!!-HGXmxDiG#=i#-@f zQauEYq+5|!kcTSvH>AsQ?5c54y&rP`F79e*-lUm2-05q&gwLf9Il4z zo225JT$MDW%-(px-gGI-qH{+cyTe<{eb-v-pfeIji^~HV;oWne?9el?l)kTG=UJ>| zglxy2O3eMet05aoh8e4~bN`aJpC(9Fa8`+uZ}q*Qd^Vb#dy*PoVoG^aQTVBn*p*<` z(G03rZ?h@fi)WX#ywDdD<{?z&gV*p4xue;T9Rk9WyUt^tBuzOtIocz>Gx_qazdsFC zuO~9~Z)y~-pI>+tlM74qcFc>jzIxUwtmAN!$w_+#J9ec29|yUqJ3h*9HzB(j9>Vll z>W=0h|Y$4ks{HBhNTGB( zX8vLrXTsFVSORxmRXe`?3s>q77$t9YxwP(V)Qa($@#uGaUk!I9nX&cfACwrJzi{k^ zzk?4_EIaFbyl2KAoBPCL%qKh);1)yzz*#C>NA|bC`Za`9x5klbyaj+5i_zGc7T;O? zw6pUUnMAad`CZ4Z6(;3cAiGpuDXSRy^`6fbi_AT%*V8Ba%jPO2UZ;qool@4QFTw@` za*NgCOe!i&S{)GoLGZ-FR>LApKl5Rr&eXF}&t8`#%>5OmQKVJay&WV!5Ba(0*D381 zv4)O~ej21nljrf9L;Sxkof_<&@-W3?U>?dvRlkO`Kta`#k)WcoE3NqqT%ILu+!|(E zS`oe60(WO0_8>mVk5>t)&t)Av=63q-XE}J#Jt~6jn;`qgX0d5ku!mz@PU9I&v|R56 z8=djTrX)#n>=XF@{F#k=ijtR4w>+@lvWLKNxvy|w9kHpetr8z3d$2kkx?XeNj;^fz z1{+1Xslz)MtqN5J^Of1ueov3xOEMm&RGq<&R;|~=@by;|bdGBEm{@%px$vy8Xg67N zo|(D0`V4wlmt^xh_JBO8sRSt>@vLiR-=F7yYF^6kYiTu&NrIg2a(=T_z1STKf8V$CIj*!eqB2v1;(vf#*?P!{L8*y{DO%Dz0up#rO9$=**pQ1YcA!Aj?r@}mHH}$)*`iK-_pvv(wbQ4g1(e&wV~)` zkGyW`(HwmCeg->Q={gZlORfRxWGcI3%k-^j-HRn$F<>-r4o))A0K%ff92N$;zRola$>*qd0!zD&&WMbctiAU0317vXBtCyXq4Z z|Im`IJ0|PY2%%c9m70T!gnk#W+oVW-i`}{>M}NvSiXw8oa;m$k_#sva`g+S|*LU>c zw)ESx&V|3vQg}G=`f5fJR+Jsq(ixuxixD&KDcXsWg3jVV7xesr!K2YX2hEN6ywCEV zla&;h!1n*H)Y^SYFlzZeTeSZA?4C~H zl+OY~wvkg#9iCukYJK#!fJ3L-{qxxy@1gi_V0$uFZJCS{WV{t4q#y!r%uBAidc=AO z+PMO~P~6Gbd8qy6(@qE8duQYZ0FvK!?8b4D-|UkUFCs1}6ZzIF&AqVBI+!Y)YmKs@ zKh+zb{s#)+%hr2%(9f2vPyr~GM0Sf~C2mc8_F3g? z6;7>wQ{%no#|)8Y8szk1*CFH^<|>74pgHWHL&dC@Bnv!%V`X}sb{T8_wZg9za06Hw z=?^maoZ&j`dgc)99W^9ULJ6#SkeuM-IstON5(E!4hgj))W(lH=(F~ParSiunu}^k( z*7}|}9=vT41!$EkXa@pSOm8(OR@L>$A-5r4!KVf^8*QJU4u$dd=#OQYcKNR@wQ@S% z6IhBq%8={1|7Oqh!cCm2ib9u$#XIrZbCW|vL_nb_UIY>d^O-@-X-Hsk^xFA8pEMBR zb`5syt8L(@1Yq)loH4uIOZj)JlrExl#c$8r#xVIgXRQQ>-TT+m_~r5DeY&q#V#)k! zlrZDaAurKBvgVv~C>zIbtcI7Lq~KV^o&c+0UExMXM5gc{y-s^%?-DeVjox|fX@C8k z>!06RMStOa8zG7i?_pe`a&!p?j!!c*pKE5`7nHa2E5ysH7qF{fNUGm8WEzxz9vrmF zsqfPtrf4pkr3+b{0K8>e9g0$q3SNboK8r5#|Epw$TBK~IR^MglG0?y-Zo_+k`})O% zITssZ+>f-lB@#=j!!lk|NF?lDfbnfgky>A}-j60*qLJ^{@2q4whd<$GYqk-QewlF9 z<#LF+)&~Zzz1O;UpTZx*i~0SlNVL@qIv*Lbo6CsX?$5cN4p*=18}8VL?MVxD8px=3 za^HAc&B=iBNb@?$x2IH1>Tb+U{P& zZ#;C`K80;i{=@AH=v-^V?^lsj&*Er3(fJ-F!>T{;dbDiNtzj|r%qZWMyQ&@XP+9+4pC&i$6EUpzSiOxY-=X z34+b>6bR7IzNEuR{G-;dPFOwR&f5dC%?gq`tQ zSV*&D1Vuxfc!xWRlcQ(;fVaCp+(w|Fl~(ypTYBl$^Lic2zeCD-lPvpJG*B$VIxe}} zOkniBc!V~N2po8~RWP|V$R7{OrMtAJZC2bAz8{^r8g4@%;FaM1nwMO!%k6n$Jx?DA zr&;gJjl8#Ud;7fP$PddVHe4oQxE~3_{T6xr^j*VkSl{gO&2r$PkX9ObUe3M4j>40a z{-G0&l-(;4ILaM4aI>fU-K&k;?M>xs<^%+3OaKsRd*o2)%H51NzPW#Ehkd;#;7?3@ zXq&YcNlC7r%=CTWUbI`!NbT@X{qvhYwtmbF|ydD-VV}I@v>o~j~ zUNFaFvq>`_`m_CUWL z#N>Bn#f5$vP~T%!Ay)yX=zeMIYbLPI4hG%cB~2W?dGJX;B3%02e12$q`@2`wPi##W zywvtIQ9(QfEv$jo`ez!Mjx$T^E6gkfTz?&C=yq)Oa1?IGNn@_S z@#RL@>|$B8UA@u}Fu<^q#!gMIuDdvU^CU2#N%x4%$KZT+6AR9jUcQeY-@Gu}(Esj3 z4p%L*%~m5@zjB9cg9dfmx+mUL>1x*S{(cOOIZcxY+sIyBKI>yXyCCHVu<`x;wCXOU zs~7ZoE1n%f30v+G`)QlzP2CdJHZ^$X$-6veke{(MUS@r;HX=;_1M%^O{Kw-=uWE;d zCY+?CyuiA#!)fbMeG`x%Eo)R7twnNkX)RRAq&a7O0riW#JjKhw{8DAPVI)zqk;TMH z!LI+XQs3o{R%d8Ycn-FXP+K;5B5T+u`=2R^T{hU=bP~E0U-K?u9B>QiTHKr#gm(*m z*o#6*q*()p#-Y)nVhoMo9O}%lj$jiiWO7nvz?NtrpJt7SQlXk1zPCih>gQ>~fp>#% z`ziz`z$>H+LY|!>8B1sqArUU>7LH4Zk4|qrySBcrM|K({o7ij_0s<%I%$&9nQLhO+W1kpPOLj|R_2Mw-7lXGvq@ex0h^~2{CTY@FOcZfp z9+$!p738I%l1_C(V1l(HR!D;T5RT_(7O}yFb$#_N*_WF_S2L7!b}{wbvO>Eja9d1D z5U4&L=gvl1DARYs-y&|n8C&ieuM~qpdh6C7JqU4NoOvVRjg6VYjbZK3tm__M$Q;}? zdSh6kX8D^HM5hBQ_6WH=+~i}| zgW9wEt}>`MkUEr?z_LEy6>J< z<0Ec)&TUv6dHB=#tO>h^gVOp#L^1e1CBvW`p9-{%OX|fLL4*rCW-N?IGGf~)ySpKq zyNBX-clE}Nz_vRM-qf`Kxr6<~jK0geK**NPyPlT>&Pvoe`wI}ULoAp|a1Nd%6QhBE z4TvkkcyO9qA;xWA7}8iSNZ_gbmo|IC&wVi%_qHuG+Z;Dr4|W|JiFEL;plBe_Y|i-_ zTrgfB0dh6UtExRm5L$g=y^{HN{H0(bAPUkcylY(h<@9Wa`T zimnkePgP7{*5shMO_v{P2 zZOSm<0Hb>as~6&oHb}Wl36hN$%)^dT_&p<1U~&7KX%p?;PEly1uh#*k<#PM81na2? z!kl;wGWGMYBT>I2g-?YZPR?mZXsqMO;p3}{T|3K)_sQ(o)Hv~CA(F*T z5{pfD%{d_Q*}sTS9&{!~H{%=&dIEJhr>Nfi;^qiz{Z3tlK;*HyTi+uI(2;)cAP7`* z?X;l-Y~@+KO`%=qG2!$9lA&6XEmj-nD9%0SUV9Qd2b6mVr;>hazEhbfuNiLYU5Z|i zc~yCpR=RR?FX+|r-TED2Sx>9!{9|^2n>%H*nR>L&`gBhxW{U(=f{x;iuGLageBPjX zlz>V(>OF%&D!E9JKXZckg>7mbW+>DmLL7i~*W1b`JZ+({5*6qJG+kQDFJ3|5jJBrs z-il;9S@Bfrgey0^Rf8!~A3+>EiP*8d4>@_3m9b%r-~SI0pL_QXdtI@Fp)ymh))&bat7~sxg{VyigM% zQUD_7@ZR7CDPZ+KSzKqJOBTPa=cGNfuR`%()fVco;)=iSM4UrutMQy%w zMR4)JAojd4X+5wRbo;7N4e=A=JBY;BThh~OlZqOWsr|P#m(8U;5*+Ubqvd95+_}Yc zFP^@T8G5$ZBeo{=X4UY42Kq}7iJ%*SAuitUv2`Vp_JoME-@AO1eb_8#vx*Sl0sb{elfdrqtp3XtlcOhu!lQvBazaF(=oy~+ zQ*@UJHD$vX+_GS^Kz(u)lM%tXbFs}DEu%4XJF8kd2|WVQ6o+7*MJ%dmLZt}iV27$m z0l3ai^4tPgoMTo|#NxmFDtPfCJ- zUJ5;^HUSl^NCDVO000kSfFLld=#EErFZv}YA?))dp60c8osEV}u6a}A_~aV=eTdDw zX`34JCXAzya74lPcC7!9{u3HHi||W*N&NvCY1dU?=Ki+o<|Dl;6D(CIr}*YgLp%~n zs81o3jH950pRm7}90^w%9_{z+7w&`XSy9rKmC6~YLE12=1rl?PK1_}8+{H~fL2+_? zL_u@_5@|iWIThWrA8%kU-22Sp8#@FXc3cV_hcrg7-6}3=b*ArL#&6nA=@-T{Y>a{w z&UtP=1JXYLM2jhRZo%^t{=b#n*-_@-*QRYcK%bY?lMLVFlaO9m2~$l%Ch8}cCQ0eO zw`2NpS$Ovg^_$eAf4vVIPn6KZ5W5+}ys49;Wdk6XRKC9m$klvj`Pah1x_zrGb;Qvt zU787b);jv(O_byWX8CmPbrdex8srkX+aI5`e*$7oHz02 zo5MGiqL#1M8SX0WP2TtrEMMY`0p`)&-_>08_pJ$I0dljQwWh)H^O0xE5ZWVwPTr6q zx&FZ8v|*wBud7kxm#ias2-RZlR zW~hw;4Q}#OKYL5fZdb+YJ6sJHetA>XMHdvw(!@e5%@#1ikxR&+Lwo1@36RmnJju7x6f6tmz?0srELL71hVbafYY1M8k|yw}w{9 zuboWtOAYHYu83=kbvQZP4bso^j&OaCqy2(_cW$N(fVezlj1Ghd1b0lH<~n7g#oNmZ zwMp(>d<0BFW?B@pia=I)NdJ!GMTg-4oD@}okFr`{7TCjv2Bh##G|af5C8j*@`5N5n zX}ZCl>v?4OxX2;P`6U-hnH=)`<9KAvKAy?yHLFm>>$pKUUc#DQxKdVGdqOQ&+peuX zTbZLXjyA)b1st1y18H9U^Fw!R(exHl9|^igRzoxfy?A)tU-WHK!~g{STI2#37H=;P;%`8kQI#(fbY*1Tvgy|>rL6cl(laT$#0$G&JFEK zA2OD60Ag&BhgHWV`BH6ki1D_eMsj9IwUq#D7&$qPQpxrAS@E;OvL=L>B8Ahqd)J`@ zH5jfnH1U}FUy}@8zrNG)gqiBv;Zt-|j|`ZDICi(Z)^`(I_LIL%P=Mr+v|r#}c&KVJ-zS>kdMlJ`jQUKsIP z33N$y)!{HU9pn!DgI!i|DDj=WPuVGwBO5kPaVdnfYag$207h|p$yM+6F}Y5)-g*=1T+4SV!94lImSWOl`GgGZeiiPQJ>KwscE! zqbAc4@~_f~h=tj|;L={nw0eued92RXen%f@gC-36hTrWn935G_f?Kxy#lHS*(Kda{WEu3>&)X{Wu|MZ%Xf!AIaaxS)w zcujzX8opklav!TB5 z%l3P7+hUOp1#yF?j}>l+6%T`3Huz2iKY=C;IOrA$CAl#TKj=pCH6px01#i$5=brb~ z7|>reF&rwFWrZS#7L=}DTz3a_g5fDSX`;S{rjxc^O}wv2dD~4z)mQ!2fm@Vx^i(EW z-qc1rd1@LX7;t%_6yB=Op#+?b5+8q(f+8X*>lzMCHirS4=z1$>u|bJiJQ|WbFM2R`DrrGQxB%48v=S;wpC$yE8TKb-2?R!gLum*L4I{}V5 zJ{lOiw_L{Q7sGkI2~H_ZRLn*V*vr0v>)m#vtkPGRB`n-l7ceozg&b@6?~x3Il|vii zul#IpDZJ6U6wXNc_kHD8P(J6(x)!FIooI0HhW5dxlcKt?@IK?nUswOL!xnSs8fT+q zc$K}xAsf<6g4e0e1$0k>QU>#dskuO)GaX)D#C@N z5??f=4|TLbiTBTM%c(;2YTa5UbAw#VNW8;PzPknT4A@_yT0y(oZwhsu|08D7x(tT{V@|d>p}=-lN51_mJMa zFCss7`lAmm50<#D^wdMHq6OlIcpMd~@TS?p8X{u?S%w{F{&H64Y zg6tN<(sL}*t@)>KwsSwCI@Z+D){SH@m!s`j$lH&`kemcFz+W;#vgwBJ)F^lTyr|{xzKTj?(5=TQ zU5EgIa4VBo%248!(kDCXu8_`94) zst=LoX?mey#CN5fpr0nD&_2zsPoe22ZQs0cA9`K#QN@!C$_fSK#94qv&i9v`vj%g% zI*}DVz={3OVEXg)WR+QGXN?TK>#h!8c-=oWh+c)<`7CntW})Zfb4 zSpgT$tB6LcF6wus{8o||nk3}c>nKNVL*F?u0o{jFN{usR48>ljG(n4ipOV#tr5bL* z_j!u6Vc{2#Ox%URmw}$HtGy4Vg;jaO4J&elCo-2S2*p;T>>*_n>(QZN1R?;8bz1u$Q;agIN(%ZK@eW`}yq{ zdd~OVugZK64YA-_b#g!k<8m~p!Z}@VdkRz_&i2nL5dVP=oHy=$p!x`kCwiQnWG{~wREZ`bmN&33&Ie?7Alra#|0zpzT1LzIx!*Rb)LGQZ2Y=>DBT$l%-ts;xXT$Gv zmZJUi)oCs0+zV^qk(cK{8gS%_1{UbUe-WML5H$gzMhME=2ErL(dNu_DrjtU+}FxgxaM z=_q5rFit8s1j5A3X@)r#T|uHAERP;BajxxWTPdWDZX&}?($_$%6Dd70Ge@ZQFJ}i{ zAy>K*R2xkr*ppWf6aEWntG4x@@Bp^J`fu6ts@!MDoD3*ky)hurt>8tyZwvE>>EgeBcyLLQ!;z9jj^Q) z2n4)!2bL1M!5r)wv()0>uSMbZJWw43cBg|cguM+MMrSRskhL5fD80+#jAdE<7QX@! z&hBi2b6}8CAO|BF92CGKibz!Ght5c@3e{)J0Sd3 zaJH{9_23EoqT~f5($yh?TvW@tDW3hkRi>! zWpMZt01zf@h%yVB@c*-@YBIt^F`!?MIDeECNs^N~x&LYRWkY{kzu@}$;=m%s+JBkS z6rZ*Ac;f;1K{Tx-BSO2){T;ETEj-oc_P(#~-$HQ=vqKhiIe;q3lZm7;ad%zcNz((- zLvLw|bLZc9`c>2P@agg^PA@$jRsZKUyZ%kqt&@D#&M%pNCldYF)ae1kH)B@yjW)O+ zrRwIbSFj!P8SG1IQ}e`cQtu6Wi#=N5r<>;EbxJibAaUzvB??*o-z|28e^O&^hWrd& zKCd=@zK$#k6eNY;unW>jevPZF84FA%Me85m^7Fr2=`f$FAxFjbggviGI+}}{kVJog z>?zN4UEukJ#p`}havSmqOFpviZX2!fiXCS|&FfNzvG-c14MyHtHK+3XI_wKi*qazx z40IPfYTJeWtHn7(@8Z(yJReGSm{nrlrhK`iAdzs`VG0MUin*8M(D!P=kO!0zhECYl z&GZ|Vd;is*#@5nw1JC;2c#@2nP1W=qHvS_$zSdG0;(yFw(Dl;E^%u*1$}6}>im&g9 zV(@4?7`kotJB+;7_7ps7SpS@kSRSJ9~;S-Fg%eGK_mr};B`HW*nnaM@mm zsT=Y}yyT~|!=G^Rg03 zT!K=w+PrzpjuyG*wqvS;oeg4l?DO5v;Gs?Wj@V4^sy+WE2Kq#pXCCLw!_@fP#I@MH z?j!?;(Si3i^0RamZ5K2g%lKFRuRlt7rskClcCOoI-h3j=idW)c_BbTxnUSTgb?fo@ z-*=zamsAkD}1aLVGCuxAQF^^n5{tlNB%QSG5cQ` zEzOQkm6s8!e(svwtzfYQ#*?Dsnfca3)Bn{fRVc7&%{XUOB$$lRp9dGGqc4nv>n=}% z)$(mGm95Ex|M^?!2mhPQ@emj%<;&UGUSb9V;P`ldZoK4&9}!#J>@xaq5=eZrBfnyQ zyMy{*dm|+&wePddsqVlwXIIAY*Qag$S82piV=uJLIw)Kq6!eU`=NMp7;eMIO*P|4O zilYXDnPRHhzgj3qP3R^sLrYOm!5*RUvphmnpad}9zzO+Tmcj-6=sLyzFUHZvycUO* zuJY3@dus}@nqZ?zB&*E|q$Vil(Bx+c8**%3gl@3ddX}p9&iQ|Z(Lqt!{`QD8yG-sC z%vf*c5xM%tp>Uq^R9hbmd-zpjTXC@d*5iMz35}hnE`8vt%TZJ6Rj`vMezc>6!6F~} zoIIs7CeIft& zr4Nzxw<=9oRZu$lzapIYCtpPfv%qr;*Xbd0#)$}N(yPY7!n6Hhvyw}LB%EY(zGF;zw7@enpP>wZfgX#VW;MaQ^7au z3AWK61|JX9$#sb9nKbYLOZVW%!1aI*X#vkLiCxu(kiXs$U^T#!I_x2R!iMX%qyGxT z5cpzE5^oHFNk|b5$quR|JD}SV_9?b&`Ld`@5%i6Ar93R*N=WmoD}<9D-ytld9TE10 z7V7=fLN|0J7CL)fW!KEuuSzR8&5EQyqQj@ZJ;6acGy z$HmdIsd_sw<}!Ld^M7h)5_;$y>!iT53{Dev7>Q)Fg1}q97f7b9$?I$jNGK}*!X0=w za*@JoL}_3YH66f`*``af#2XZy7E!hGJhRB7{4Yy2rz&qzGe%e?tprK?8IfppQQ+wS z+e=Vv-*zVte_61G(;1<*m(1gtF`AT6NyGPMJ5e~A7%Q!B>V!?%%!Kyx)mo1)bca`~ z7c`a;d7JcKNgUE9vDS?J+3VBi&l38YjS9ZZR7EQ|y!a<2unFsr?nolKF25NEv)6Bs zv(<_4T}T;geENkx=X&`ru)Tk7lQn{`DIel+aMC5{0_o^)c&WJb0eY{;m*WP$%qca- zh*Oe*5kq{f)*Qg-Jt>#IhJZn}M?NP94qy6kT>e|y35rSkm*I#T-OCD)Fe#`ZOL&4p zUx9`3i4}zNZCWAO8M_uoH#Uxjd|?pR(-?hm4@;5-v_sg(=Y~q4&;qfS&83I(-$F;E zlN}QGg+ZJVp`#zP#uu-ADd~9QMXHmOzBiiyQe>;PZkA0p|3a!z(c+c9Zf?fS{EJv! zB{>%onRq-MGO>A0Uh=VRgSA^X(=hqqea^x9*dnCHmqY+`-#fN>uzJvCWclPT1W0iq z_Y^cC5}OT6Y-XeJBXtbEf7*vZ-nXR(xOYav_eAMJHB@KV_Wuw8tX#xmti&Vn@R7 zBeDc*$hAHwaz!FHvikg8mFHELru8iM8unS9{r?pwtvipd9PDnVH!_M^qHrI3NzkzF zWzG3^*$9(Yq3;~Go*llbu3DLm=s9T2&mQk`)=(Kox%n3_Gu zTJ7gYaqp|a`u|_WNfgP0Fa@#6VK%O8l8!4&KHt2y?#nE}RGW)F15YCPs1cuL@Xpt0 zGi`bH(S7zN&@}G&@c(7=mZNT$KD^uy2jG#P-4cVozpfvta}$bw;F^WJ|Lg3!h5|Ceh@z-v>D3BI2?BNCAgCw^#zd*m z77;K&C>T~M37eQeAduvDGT!&)D%NoS_T!i5JmdR}^PD#^v6HvhkU&#Z1ljVAgeAwO zMH?fz>rHNn`rJX(jgMYXPNPlapjt%IKqF+F0tD9=|1V&oabW!@*kZ2VvTW4Y#)hwz zbE1;)B#oJhM#u~$h5Vy<>!n?2EU}g~6K&k}d-GP>6*%Drufp#Ojc91oc z3GoF=aZ~egtDf?;;&Q~W`KIWB4|tByfAF&lei>?4J89TRogvmDcSxw7NNhKJi^*%& zJ$DzsC`P1TOE*p z@v_Zom3n(SYRm7wCUB-M8`CK5L1|~AsIY&2cwvP+_(0KS^za#l_x^{&3k3OPwx7w+ zh!ixpHW*|kp0!qYw<>zT2!IzRvWll{%YLOg<^DeHp@;Ig**qoE6)(xB+F>c}SPtj45uGJ3`(@$}OxWwt3z z{QGjDf!QBORYY^%FD|f1wYPJ&X_2&1f0(Q(`;%2iqfHlBCZ2Znqi>UYA4r{vWIb>K zhTaN#rfR|r=4Y}IlhUzFP3-p8=f@&6OGHNxL|p!uH#c}}X!Ja%?TxXSEa|@oE59t6 z;1czF!x)_zqPNVy#&p!=%5W<|T2N5rUO|^T$x>lhQuyMDXk0c>n&@_s`l8%>6~C^= zsQ(pv40+;{@~KKml4Pr^wA6UTgAUMQl-fGfee&YkKBV&d%)Rd(C|a@ zZ#Sz+aBN!S_+PidvWx8xE>IgqZPgXttAb4z2(u!WD z{yZ67q?cw<^I%KW-<767EwVvb^?3EW;G?htw@wpB4uq0lPe$OxwrXjBmzsPX5rVH$ zRAw|0nzi$%A>QH0=d#HSlfiCot4^l>i*p+qFe9LS0>Ot~z6<6C!V!?hTv7C*g^l5^=o{$2t55sjo*@q`}w!Gmn5Y!|<=a|$m>Mb`tsn?GN4 zwui|^BF&CIvP(1NqQ!4{RWiIT^U>!=E^|`g(!NJkO;an83+;5>M(548pC*CKbRsdJ zgPehk-6cjYWI+kKZvt9++Jle6OR~IZ?UsGnlRA+bU9DR&=l0Sxf1xsqm z#dV)YAHJ$okgSdzi_+&0mZ&yKjv;CYLDkS;sb*uSQZ^g~D}x{oo@+4t^9hnNbj0^P zxN~!sxqFs#lVBc#>xtn;K-?ratECEzBDN_jE9I^LA||_1aV<#>@&_rf9zaWfVnz^` z^@FLd5MJX(_27q%lopm8`AeK_l{O_>aEO%rl|o#6IU01h-u802H?XUz!@rSd@s+BL z%nfg3Rj1#pz8!9*xP}CLG~V)^4WkcQjU931KWjFlDF+!4V@wer(GOl9>#4~7L;~8W z5h=&HtoA>k&xR6yK8;uBD8awY(T9cIm3uikjDBnM)&{sOL#3qsjh>vl(~||C$-US6 z$tsEWc8dy|(xRWJ&&VjVC3_6WH>;&fF{t%hjka&jc4EZYsfK=QKwVd@MDa~w{>eY) zr_X=+FU24WjIBqTgurdko3wYr?Bfpa6D@H{LiWDm3qACtnTOGT**FZTda#R7Fz_?9 zk#s%L>CrLAS|x2%vW}t-d3Lt+ViGAG+`3W9BL4m&Ieu_%O}|IxZ6%E~2Dew>*-O#P z3m&061)ylz1D$z;248G=Z*(wGE>Fi_k5jbxpfw5YJc)#3&~soj&S538`;@ft$ab4N zct*c5Z$-SgsbXiGT{L|3XujFf;TO^b1OFsV5R=of9g@ zKFlcWm~I}JFVA9DoWH4@&RsKevlIh5kcxR){*=BSm34&vCS%hDia9PgP==Dpku2pQ zD#k;+LLqvHWDR9)KFZ!c8<`H$lF;G@;Jo0ni|gWfqCQpfYvo+KKRHcYY_=f6Ute+S z1CFB|0%({IgOD`FP*%gu0TT5YQG6luj0+)LVQ`ub=93#jxMTG59ByMO=L?r%dq_Lc zcdubPjT3aEoWkO#>eIE{f3b-;j7m6!t`mXQi}7q}Vmk+NcYHmyGgkeNX7qsvNW4RFYj4$M~S?8Kh!qkZO?ZmchCI~{IlVO0pEldn> zLr5_~01aQFTt>Tl&mirJu8mMS?fhu zm4)RqyfxIkM;>0rHl075ay)F&f*X0ikP}bAtz%=wI0hU**EGTT$6-$`#4u?El3$yC zQaWF%WyHu|u#}xel7G4efQHX7>2N{ZNNymU{|>TQ89SSb94p8V`Pi!O2d(>EW*?{A zTaOpn!0~5-@d(s^`edPs3FjS5>5+sFsR24lo7f zNpOJOKGNQ1q8nkXFJ!KAjs5hIdB5`*-g?2Nb0Wl?x{|k;xm)WoSX>)~^|0f2RFx89 zTs|!)6Yj0}F3ZxW|V67%F?gd%^YGoSjT(_hKYm2U-Py;Th6sv|cc~O8j!(p40E^`bjs1xA456J4bPWn@{JR}bO+ME= z7EW8ZryhQ(c)?cqT>y)!BZ(%xtJC1~fOW5H>55k`uJZs9I`CiJT_akuP-;@pAW_8{vwO+$a$A1UWW)GMqcm00jaw1 z$aa1QJ3oB)KOLw!nz_{|plnm(DMcp%UZ$XwLR@{6OO}lp{%$I>Lv<{BL7-q|vE+E4 z;HKZ5*{p%BQ>s7HHU(OzG+eKp-9d~qTe6b2@_8ri-@5b@xw`#c0*hS*8;Ng-hw+RA z`?2Zg_ydu@pE0Id;jSDeg?n5nERn3xvbR-(O>;EKQ!$AJx?7QHDR6sE`g;CC@5Tcj zS3Ixpd!7}3++-VkJD%h*9sZy}%_`nYWBL>3uuZNb(i+fI<|@`{V7}SJd?ATjQX{q$ zk6d25gHW-Z_wv8~ds{Ukh&e@a(RKFHtSH@JZZR@Z1RJlQWfzTfb8XGOl>ugJYYGpD zI+7m#o#stSQ-~qM`362shM!6^uG-FfM7Z7(ZExFh#}28u!B8v)rQL1VcrnI3TXM?I zsaxb`u)KZmHd0zgn)l^EFOpW}JovjAIr6hsSV4&ca2^rgeUTL(fj7l>RICn@f07QG z-}MBF38);y#?oDm1*-Ad)Zt5-zJD0gt&GP*$<>zT3I7mfY&%)FhO=ftV`Lf`KeiI_ zq=x;^QTMiT46Py6pXL0~Y8m#ZbAA1PJg-B0$+i!FNlL z1p~10Ae8O$?y_Aqu?`~KKbu0^oSuG2vmp7j8I;ZY$wY9pc&NL5iRV;uvdcroP5+G7 zN9wFwuCo9C_SHIae2R^bkf#0nE5!p4_~iChas1GabLKJawj_TUNILOx%k~o z#dJ>bn}-Y}y}MbSQoQtn9{hjIaKe7~?DU&nF+y+QSh&L9XHoFJ%~=&4 zyvVgo2EwFn&eKuJ)~G``i?e6_Pi6;*rt18@E9+xEVqIH!NVmY=mO&2-M%-g419P{F zjEuquu!*=UNW02etqI@I(^rj)0=b8TccgVT6lzTCC2xrdu$8a#_&4On2V*0X9; z&D@V3Y!vt138WhXLvff01kZrj>?HWLfC|j=)UQFb`)`%6} z|5*@XXPO>nXPPnRRnuR(`j$_0D2-3FK4u+C^LFy6E@$~H%dbx5x%MLCci`qQ4r*ri zt0wyHKMy6IBh@CiSdV^Z0pIvfNW}zkTC~BnJHCqwsP&cXk@mNEq*Vk%DVW`koa=j{ zRc>c~qK5VRe9Mo4RlMZiD%+%1>gdG_f7+avf+TRFNDoun{OXKCR;rg|H}%6DZ9TnogrK{uQ8Hjbc1&vam4&gEZW@KwKW%pd=#X6`-@G8 zw%w+UQ<2K(H{S|Hq?`Iqtl>QqaQOV_#Mo%HY3LDL##x?l3%A&AOGPpaaGOW-RsWt4 zK&PuKQ=bEA$48UDTNBgj1x%|0I?R1IgKICRuC1vQ-SwVr5&iQ7WStd|W8oEpH%;Ny z4OuNkbub�nwrRRU>`Zzxcn#*(VSATuH(omZ#cr(LLl#VnlrvykM$}c?$2v*H(%z zQNZt0FTtXEha#ye?Xg%KV84pn|z+s64 zgzaMPE176oY%*a*E~rK^<_Xvyyj!Vl-6{0)d{kqs=QI*kh5}@GaDk%1{0Q zduu0>WvG((XpNV*Av?Y#2BBim3J;IeNZ{h@jE5_(T`JxEr=K8JElRDNeE$PqGs0D+ z@BZ`trTf|~=@ldIwq#;Zs#t~qxNA6H&uf?3OcN5c9a`!pkmvj3B5?2hbFcgYxj@Im> z2x**qkFEa$OPXaT$63s}e$VWad0l&=&z+2(HwB3a5VmR@if3(?QSV3mf&1kIq^x`36+X>*-we|j@dbM8yD zv?`(Il*>Resr|vfzwu42+w_nMwMU;zNq|i zV?g|g%N_Jc?hpO)58yx$T0K@1gVtxos=ZrhCtTK0r*yMo9h~;O2Qv(dIgV#;Th##@ zf9uMWPzmZUVBjJq4XE;1ppjAMJ9bnea&N2lY(49SQs1a+o)0J}yu}!HUxMatKuR3< zzYkm^w2)Lt?7RW5{@!k@!azZZ$N~9o_Xz(PFqz6E0U|Bs(3>L&r&$hC2Z#i2$`Vgf=q=ic}P;3>$l)v6YCCV^88P7nSAB34;-VeeKGe<*N zMP84;*%)!)*8)i+H^ZqP0V*btoJ|MT7d(0E%W7p8j|_)sVnGC4$GHpWN$nGr#N_0_ zUC>|Ze0v^wdFSG7@)v&ryQrjlD$Lqcc7rg9Ozs+_3wB>g#+P%^F$-+Fu#5nR)4IhG zp?h<(3m+To-0$-XKQFT>QWADMW>0$*cAyTK-3wJ zw3P#q@TtL^& { - const { clientDetails } = useContext(ClientContext) + const { clientDetails } = useContext(ClientContext); useEffect(() => { - maximizeWindow() - }, []) + maximizeWindow(); + }, []); return !clientDetails ? ( @@ -31,28 +31,26 @@ const App = () => { - ) -} + ); +}; -const AppWrapper = () => { - return ( - - - - - - - - - - ) -} +const AppWrapper = () => ( + + + + + + + + + +); -const root = document.getElementById('root') +const root = document.getElementById('root'); -ReactDOM.render(, root) +ReactDOM.render(, root); diff --git a/nym-wallet/src/layouts/AppLayout.tsx b/nym-wallet/src/layouts/AppLayout.tsx index 7fe96219d8..e0a6bf911e 100644 --- a/nym-wallet/src/layouts/AppLayout.tsx +++ b/nym-wallet/src/layouts/AppLayout.tsx @@ -1,43 +1,40 @@ -import React from 'react' -import { Box, Container } from '@mui/material' -import Logo from '../images/logo-background.svg' -import { AppBar, Nav } from '../components' -import { PageLayout } from '.' +import React from 'react'; +import { Box, Container } from '@mui/material'; +import { AppBar, Nav } from '../components'; +import { NymLogo } from '@nymproject/react'; -export const ApplicationLayout: React.FC = ({ children }) => { - return ( +export const ApplicationLayout: React.FC = ({ children }) => ( + - - - - - -

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ⅅQ( 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%0A^WcmxXkUtX;j*faAaO(FC5H{# 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 a*YeQ2QS2Caq|Gqc!TV|gt-yag^}hh+GmxzS literal 38265 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 diff --git a/nym-wallet/src-tauri/icons/icon.png b/nym-wallet/src-tauri/icons/icon.png index 2dbc38d9c2796a741348a49e8e14e97a6cc14ae6..fa552c309af717e94676269720116adabf3f744f 100644 GIT binary patch literal 61553 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�pif@)1HUak z?xMD1=E-9ONHsVL0^!G6?_VrYt1VdedPz4X?Y{n5Tg$?*5_Rq{}4Hx024F^gSk0C&|q+@V-V*uXV>uSM= zAN2V;j_t6U85K%DIE6yWW`x$xJE;au<~HxDom%`QIEDBL{+IxIKvW-hTE|a!+XpTS zrKPg^04}3bA$&pd>IYSqpIZCvA=qG;Q&09+d zwJJTW0AK|!sFFce0E3#-P|#!Gyxz?#$qw3RdE0@0(5+BC!P{vw_H5MP%s(HjOUD7VW@Co2Hm@4@^pYgafq2drO*8szhXm4cwSK|+fq37 zLJ6}Fqn`ntuKn!cQ>C|x;7-`y!*a;8wn?}!R}6tCWeyaQc&UufzG^T1`dG2DVHzaM zJ%wb3N5QBAmV(qpgBktzD@*Lb&sz9_7J2~6d@hmku;F(qGL=Sl8>lI7`m};%4TVev ziH;gnS*#9QyyfI0_Q-TPuQodxg85cWZUxTU&dj zk1(f$+XB-hoESk?iE8kn?3cDIyB#VO4{N@WXkd-2!2umS1upX9qz1d;yiVNF^|0^} z=2br=+ot#0q3Y72$&iV@3V)s#5tDZsj7Lv0!A<|Z8>@3z6$HJ8On}vF^hbBbfYn{4 zkzwt&L7gVVMOI@I+5yPU!8uaQ{J6BF1!CEvFhbg;d^!u`j!jJqa#l#Tq3k!!j>F)I z|Mu2xkPybOsnryhy@22}F_|l7A^w33y5;wnodLPITd-BC4!15%fE=*`N!ZQqjGl}n zf!^1UFg;NlesMy)9j~ zn}6oY(_~}U zgPIbEIH7?tnaT0HE<1}x)__)!H+o4r2tY1o{PDkQhSM91Q+UP-g@3q1gjd%hP*fi@E z1Orx;eP4+xlsi*0jE5!&Y$g+S3)NFh49wcr@!=esnWcEFth^u`DEeRvs5Vd;vurD) zjvk67P=aNT%qv{!On=;|c{k3!lnT(9DeCtp!8%CD@_Lkr9Ic_`b$;ob>VJK1<~5-4q%2px{mR`oP4u2R=4xk| z1Pe6*_}1Ia|1@kFy=&%E>_il!aX~1jY}L|R0^A>BpbhSbv=f%2N`ikU87}rz*>i%M zS4Y`II#!T1praI&_8;S-FZjuNnksgnk-k7pTZ}_@`4!1Tf%-#L271BCq<#$Y zA^k|!W(gv2+nt$!{nTLAls@n{PKbuTLmPtTa6~wMpb~u5WFO_7cu98m0w@L3(+ygh zdU}TIy=Y2*OZWr9HE=uovSj3;Ny{3r>+I=euK|rN&MSJ$574~sz_&!-dXf>I9o`Pb z=?T3kqEw_a=KClkmbAhu-SYkcGh8m1nvog<@R4td{Jx{|t(Wtz!$}~)QOtv~WtCPsQ4B!oP{#n_jUVQ`;o6e`?vP zMja@ZdeBP1aM2p&fwxJGybZn-u)Vg`N2I^g}V&}w%Km%sih$&#X%Wz;W!(KhuQ7d z37Q2hE%V@F7Dps;XoBhi5?Oge(NCsdRMppV$wUH^D&9IMA+Y z>0QZ!O<=+U0wQ#x9IQ*}Bi0xF>87B6*&Wdbxs3{^iCwFUiHSdRFoRWjU2+P>^N%0*lrupWwbpF)cn&3O1C!czXDQ$YY9Dui~-?x83Ir1Iu{CSh<33JdZ$ zw@Ga9ELX!MZl?A6Tese1`Cc@Dx_tkR_Meb+cWxaLW0v+UJ{Q1{&Fr)`P0j+y_MLfjoJeV(Web&tJ8Lp@)cI@+AOVa;5 z&zZ>Tj5HJDn;yIFps!gnc8(gVd6+&7fMnKHeJ7WR4a%x|LH~&^@s}~URbXGVcU4QO zFB6+*bK7Ck1^uiW-cSbvX_Ggjk=+l3!_B!rf3Y?IcTY?2T@J8ZR8fe}FCH!BNWzhU znZ}m8DjLtOZfRX-ex)ybfJt7;@W;>Bk6E*E7LxLzomVy98 zl7UPpKVFGd-`wu7-eHHd9?Baw9N@?ZQB}HGv$o$Rg~IFO%*g-&(D;``+D=M0zY~V| zK|axE@3`Q$1?JgyF+2O{0siq_{~J?bCjRa2LS*H#fdl{Xie;bg-qJVm2OH^+XB@_8 zM3GhVAA8;?7+&2u&EabnNV90+iX6dK_97nV)JR!tEi`uQ%@JxzG&ZPtGXImBv4evzV`AJ)=?& z*TE&CXOuYI^XN|>0~4&XnhZzUS|VLQMm0-NHmEF^D#y@+xfTocHlgAEE>Qg$U`yAC zL1dByk{rxY$W89~&Tkf?Z9s%q_gZyY2yU%k1XIsGm!tKq$;2!SUun1F|Lar`kRqUk zl)^nfmj^TUcUntEmn6*ug3bLVL*HJgj&UT`YVhT$AT%ep@S`Ey6Ou_M%IR+qQcf3P zHkGA4Il<_c2_QM^uiDe~gpWU9}6-}4Q@&i0(`ZSEX@o;hwh%wUo zT^-jVjFD0d1mO%0nL$LvTKC-V(Qu!FV{KmmV9uKkaz-3kOEgK&Sh{yG+++f*Bpp^S z4fBNb63G)79G}@z3bTcIJjZaPnBag|Q=I&=w6p2_L3@1sheP<}9@K%@^EySvzQAZ}Wnk zow~GZtC^`J1L$G#mA{hQ4is$y?LkEYZjiy~v9x@m)@~asZ4SoXWiBuamoTH1t8H zDICV+bG&XS>OYD@8?+W#+y~2ia}pU%!B_eOLc5!fgVIY5?3)>GdNn&XK#y?Wt+TlV zF47>`0FE3+PExX-M#@N9+$}(F%&J?~P@X;c46((T+F~9V*R)rJxG@45TY7xB3H7MfD5i5D@+0bWP>w=z%kZe84 z?^MqJd?8CE8Jm!FXz*%@BIV*OR7OUhM1NuM_pDCTJUVuJmAJGDMMyC>@tG?JLJT^| z6zcw7m+1*MxMVAqB@IofS46QA7fi+O22Zh7S%{)3C8NS`{7lCwz?q9VJO1&X?T2qw z^KnNmv0%IZ2Ag7lp5T857H1{gdOjKwc&Tj9y=jse2#sh!4DU-6w=y8SxSTjPv^mn9 zRZcQIQo+2`i3skTUZTKd`m*{>&?`|p))08#&Z%i1rZ>I)&NAQ!02HF&+Oz*ENmAao z_w=5EFriSfg;(akfG+s$nz!EGSNj}&?FK^{MYt;w;x*sR(pRZ%OzEMyiu1_b}lV564_$Yc^qatzFlK@sbvZAycac^R1 zoF(dj=lidLvvj7_b&-2F2mv*pab^!=&X^&}qEV8y7enVRk;nr$=1K2T@{ycpJ#lPsbqHVT1sI5DDB-<3!JCa@D{rFynf@a^qcKR1BqN|aTZaA+qxsrM zvL04zVL4&bueNs*+bwL4VE|}G1LO_Un@*ZplUk3a1fH62%MYNl{)=S=plcTH# zh$ELtF2b0b4@S0;!DT}8diV(uCanrRLj!;gj{m1p24XQ1a8Wo3aM)p6Tl8VJANK<& z%6%BAtt*`fwns`6!}bg;wbm+;n(MIkQ^u;Z_f^+)Y(T7fL)bIE2m%Xq1&Mhal5Z~a zsdoCdA?-T=PA5PV3435gc7C5W+-9LifPkATTEG!vB5y5*WgpIbNg=M-6B(a;SCND z=MM3o6xP)ZPEjj@v#Cw|&9&n`e>Z|aL6w0qd5d`Up;k3W*N>HzJd zx1`*ZkAJR1hiBuKM_L%HSYDqW zLN5yQkoSL#35@c7{17S+v`GS@L(djYigY z?M$6Ja+%fRS>X5?H-vnkB`U+UVIJJQtfh)56f{<1mz2L(&d9m>Mx`?qGbd4^>hr+2 zE~x+zfyGr60(Fg2ZK?>DnNNysitW)(@qCW@Fe;`hqozhhZV|w2Xzr1q0@pDpLC(M2 zl?kBzIQ3>X%LwrqBVS-D?WO>!cFFTJx7p_HF&1gyFGD$cf?T5+2Rq#JBKUMyC8!Y# zgt4Zs)?-~z*gYSVgZf)0kl@Gd&OvbN1rk-(l5pg5HTTEdxB6F^fQ#UM>zmfrygnV; zQkTa*+vwWS%fzM=yoD@AUr50*;;SF(GS1FahL#=z9z0EhOzm6UCBX^?Ah{4w`n6*f z(N>&O*bDy0wCIWBJquP)Ah4!u%&%jf5hXS9#p38(t%r%){{g;GP|-uU%F6DxzGuJL zUY`OX-@P6{veOwizq4D24XrrVB6O3`FV?CU9&JeZ$q~3H-^{`f9R8g!m2e$$F zBpn5H<@PdS^ilh2;C;6n6&VjTY~g=CROIGwYQZw?FhU0{l;Kt=aSmBrj}4cX_e{#E zV4iET!IYNxjZ}lAUfxsb=)j&AZM|PdL6a&+=cYryyGnh8HWgly-wxiu3}jx~Fm-hp zR7fFq2I1pb!bDpx)_bDAg4@BzzIR%*I(7dx(5sFK|?XDMrP!u8d?o7E#Ut zH%dwmwY?;ye56~43vMRJu&b$Y*59qA^k)XLKcLYw6i7}cVzIVv^6iafUkF2R^f#-d zu3vbU3kw1e07LvE$<8BEA7al2CG;GM&es3-pyt)XAnh~g?A6Rr@BmmVKMVrih{SWC zbjD#OO|*3%7PEznU9qQp?_0-0p74~W0Kc~hB4rhx!|!Ov)mkm&*%Ux;7sM&U)^VX~ z=Z(hAkPFEP5L>FtzGoG9F~AI7X8^vrmLoVN-NKm?_Qr-~Mr?1|J_A0`ZlWl@FLH|4 zgm69qI+;wO&_-SPLj#y)3Rze2I4g=2nEq{hjkO;16C*x4wfy&Y51ad&9k@;f2=M4v zocT-VB7A7YJW?N(um!(h;Mwm3q*p#2xY7h>RZ&BEUr3Gl?@b|i)nTd$xC8P+7Py_$ z)9Ny&RQ30JhUytXeAfXTpu6eG7vpG@iryaX^Jl73K?o85GAs6#fBLjQ&-}1us8N5) z=p>QS2cJyTD$BDe_F6o42J5SkMM=U=-ns|h1?3@6G+&szu{W44fbytHf(>k}9Qprd zou6loA%PomD_J@Iz9#c!zxz+;Wbl!M19ZYnY!ijGgI=E#{$d-0M|v^y;SP?yM$T59 zyndfCF~A9(6$fdgpulE7bH)JJEXnvn;aHl7r0N_t&D2vcAkk?MkI5I*o(@*FZb6jK z#nF+#Ao;pdv0Gz|b`ypSz%!{RQL8yIMIk1(Gzd6P(Wwr$V-D;F6%2N;KQ|TD}}cN4cf1^`(Q4(rP5XK6c0oP!NbRCzg#lNllE)myeeA_FYot1*FOZ ziyyp`_C#a80?Yr4EWnYmixfrQGr#a|a*DKLKKbc)zP}(;ewqh$#&w|xXT>DQW!snp zc~$Ug%-4nn`*S82MyoTHN{(~ccFo$_XqEgsS}#MHGxmrD-}@g!@y^sWvcZAxQLReS z-lnw3;9(LjTX!#hK zxays}cd9`9Ct+lCU-{3hq>^+n0a?g#Dy?_f^Y1-3RFdVS@xPNtzM-O7!=G!(8Y25L zx5Vn236M}ff^(E{{A17ZhmIFOFQ|>V(Q2?mz#A%D5ZR@l4^5=AlU<`amj*B>a>}228Vq=^{ep&2!om+o#rnXAKlbtF|vG zquy-;HoRTjKx7X!;1WiM|* zka4%2pe ztra;+f!EfE7U4QX8{5V+c?kvFuiCm7v<988JI9)T~8&++TlGY+uaLYwf=3G-y1P=wjw#(axVDpGYi$FgybH#`gikj7)>>y^w zniP}~4ReLbv9L)Nl!I$iPD9Dokot^MCY0Ng*HJvLInwf4ztT?OhpNf|-M3C5_>xIBDKN#xV0Lzvodl~cZkD73De_`YJzP&IcH@WadvJW0K(^LQ>eBi+ z7XNM7i3vp@AMsZAY!r7>A?KP$>_V%P007vsAj98si%>(Ou!O()`CR^i(Z0BN!?(2c z$eS*Hqs+j!59*Q&Pv;@oGHJ|2=myLLqGVd1o%ttf78uvLpiUV2m`Pn*oo;?7R6)Hc zEOB@y*SRwoEY+&hxUt$?$(d}!p)DoO*fcV<>%QQ*TjXEqcGFxqtbJpf>U9W@zE8oc z&XTX>FXiqC)e)4a%=u_f!~85`Q}{2q`#iHh4qL5VeE#JIoVgC&_=U41)TF4=nj(vV z{Yq@)=Htuz=Cj%5#b*bNufAnZtx8N~Oi6^XJk~YW_1ub`dWo4Mg=SkvB4F)_>;I`= zJ8C}&%yT&34$BcA-TN)h&-cc(Ev0TYS+90qqG|{2NBtqKp!0j8`HfbxrW^WW-sw_~ zS}v25{YGurY@Np6cPihAQkeb^n46sXVctw&;OpE<_${Ny*l}=v9zBpqUX~?fo@dG@ z-|#8*vwW}8K}(Ag{<-cpBjaz`M@dVP@BI7bV`97sf`ZuOlTkr2yf+Iw zZ3Nw*J{I@nHmmdSRx?(r$O)DFsbAJ zM4C}M+Pa{F{o+v?3u)9j>eB~V$pGNAIbBkoMf36{yB~+i)P%df!E!ir1vi6E!b*FB z)SNI3uyVg*L>=g|ee(gK6Plthsr(VYI_h1E(nRSX6ud%9p=kLvrx#4Fd&ZVpr3?HM zSRstXy`%Dc!QIT4^MtHTV)1DLw=qD#6Ql;w=an!0^M${soUW^YJ3C0IO&&-qbar>y z^=j2VKp&7=FGX2rX=(YJ%FGcg*8)6CXF#Zhw)~9r+BLLi>X|v)6m(BWqO)Uea_;882S4^O;V9|p(+zdWHl-2S z2}qOI>`&q`+K9>98fP(XUZMfLO3=sT#0{y_N!$>wt0vSUGyHgrP)Q~Gt1CxwLNLEs zyU>D`nVashz&#ILIge=6ZZ#-i>Pea>uMS*$XL|R8;2t*OUxI;+@l>YX;Z)V}N&st5M6%WddUA zb!^Y-T2y%0sqeko;(;{u$A04CkAcL+#5r;TiLFEj`N;7x3wSPxt$lZglazF8DFqGrpsC6Ms{~B^P2lVk=vth9!3+PUbLLmAQB-))fTbLEMyJO!kYDo zE~Kge;Ol$y4-Qu~_K*js(fE0T?1!^}u<3E(-q5Yleah`7C)TymJZ@3`wqrN41$#UH za-;7UK|l5XqThnK_^4=WHfZaq2gqWkjt z{E=BUTK22dzqy>0$B}G=EI!xLF?+R_D}J{rNrA6K&EJ6WZ z@7_QRRen>CwsyUcWc|DIr%@zm_E5Zqx)^s9y+oV7|KbV)q)yB=!jX#${@pX~&)@!A zJniq_pQ{}$HZ?z(r+80A@T?jaf`UmvPk_Pv)7r#_ATA|^gb0U+iJ-WHhIbl`7=!)? z3YuQ@C;xb6DnT`qvbqI-hpbZspT}FnXH^CVs!gNUCzWAu^UUX+HZLjb16(VU!h%AB-oy3T=e?j8@9OGD>IR~o|ICl1cMjw>zM{`rVbL_U& z&)3HPZH_MvD`rKy)O+UqQAcUh>gUKPMvgi8b%Euak`1AhRPlHI$Xj!uAG!1voS}Y4 zS8{@_zfwb%BWen<_)0CRnPIp=>Crn*MEsvCx9Xi{In>o2_g_3$9b9(G;%O_yVl3S1 zeEhi6vRLg)hw=UGx<|vkFA=Ijey9kNhjBJT6U$`~e8Ri=*WCqmg=F31d#C3Fj^JV6 zvvtu~nvfhzGh|zGdfC_Tef7O(2?o-DJE>&MW1iULI=CIyeuuvh0mD4+I8jx2jk05` zB%?PA9dqyabu6iX2yn-KJW2MSD3r$wry)*XsHb!pQhd(@!4BGpqS9?=rwWqv@n7Dz zu1yYYfkO3*L*K=6N9pm9n6mYSLQ|`3I;j?TzUMmoHO8hn;7cf#DLw`!opFZhhu_7? z158pu7yU1iX6bseqy;^Zo_zdZ_WiWImZJ#l`xyvTEE*|Lk8;3%1D2Z~Pab{blC;V~P_+>-`^bS<49Y^-^Ua z>9vYaW)NkyJ8p-=LFV^#;NZ#O`}#QS(COVn();gGcu`SLowc>U$=J#&#Rz{HPRnwe z!+Oxln^neP=32Oa&-yikmTmlO-bCArKqQ~r?on5=YiNT+_uUNU?Y&1MidV=kZ3yrb zY@S}`ivt5ir3A1FC)uU#Q_jq$fB#pksr$!evz-ZfL2WIeJ?h42e_B9p&WX~J-XF^Q zodlS1<;pPOgRx$`)O!6c-selZA*qn?xK4FYxS``;aSMNSRu9w1L>?Fqi9ahuKB*y0 zqGEgds~}Fgow2Y~eNJv~L_60xFTyG3SJk1VuZ&cQcpPh^NH88Z9YcJ8iu~&#P3ea>SgMqjkhZOdSKUwoi(`7^B@z?2cR-KqRB%<8^E9oj6qU@gT0!u4h5)vZajdUxGu%s^` z(hbtFOLwPq$I^n*osyz-cX#LVJ^nua0Pfv;&&-^eJI@?pJG8&UYqDD2$Ayr>hbsChZMRV<-iTWTA+wH2#Y@@tZ zgZULqCH(h>1u9_Kod>Z;^rVAsg2Dd=Z#kkr4+Av^0U6dBffPLO6z#{ zD*Se1Ni1>y6FBh<**E`IRF#~H3otoZ)+?`@=HPHUUf8ZbB`A(!ts+@{DWY0 zjkOKC7{h0^Fo1YSjqM#BeR7_q^!eGkc)axd)nwIbLyf#j_Ey5_oO|@Gjg;{HbhR?v zWtCwgSnsm^Sx!qmo}JDMwVV3;i0|KmI%HA_7c>|BH~$NNl*r}JbHSpd)B+Zt-cJ-i zli}Y>R%@Phl-m#1T|VfjG+(SS90aF7=bgk8g-%$XL5ZtmOaJuNzKFI~gL&HFJ4iHT zICF6QV|q?_=+Dl0r|vEm+zskvPhPw)p?|uesEx~VKL2SAy3a6d2|Fd;1$+=g4`!k3 z;zt%Vn=ne(#*O>$a+Y<6-C?5%n>EN@nketz@xd@)ayz)|*QnLlJ%>H8O<>iX80hfzD zyl;e;lA`p?(4ip)ffVj{-c)ry9@w|zH`0}( z*k%h#UN31SPy2M5Srk_KM`!c{9w=?Ti`rOTe7y~O`!4}_RP~{R|GD&w-GR;neS0wp z>L&ch2VZ-JHc%WfD`?!b+J`%!1E-Ps!hvAQJOV^}HZ%bUWgl%?)st4d1{~UkF$N-< z89LCA6rMr(__wc=PrIlC#XZ=ii$OzZJ%m*mbjXU$*%H4{6q$~8gKQ*ui8=a$B!fjj zwzPk!JjQlMPD!6RWK0$)p!E~sAW(Na09vtg^ObkqH!<3eoIMD}6Lo6Tq<=JREj;kY zpep-vXHX?M@{Xk=qLfF#v)nC4o4n!^Ht@SJu4~QpM`h-j41Q`~+GTVm9vv--i2Z}V=}ND7F+TP$ zpdM{Hi#<6(-a2;occnEzPcUE4i}Iw?{tHwL&-+IHa(#3;?>;k&HHFaw&x|v-TyCH0 z@}W`?KoEcw#XY?9&xs-b+p)w9MN-#gvj$++m^cSKN2Zatg<+H(i@p+lw=Agjr2f@N zsjSD3%6~4Z4DV6wH=w>gVdC;FYrLqd;|^O$14&L0+b89dkIvq&^CV1!rYZ< z-@ZOjKDvyZRm1=)9b<>}yAGcNpv`wte*a~46sN@6V6f@l5fg$QBGp}F!gPY5Z8zR!Fhh4_9{pJ4F5<<~OfcJ{eEd_}pSIZ~{k_b>f1{a%3}4Bkp6I585+ zQRFf)_z9=^=Dnyuy5w_YXW|-!j##hOyKG}ES@g{KGpr|uqup^RXIbcJ-DM!Vr5RD2 z{7R+loU)}!Hb`=HIU0gkW3=%!zQD+H(UtxOXP7+H8qUU^+GsoB6Ju8vx62XocxalM z28T1{)8(i;J#*GHsZ)J9#%&jStMj)@tNnP#=a!vF9xZp9Kz4@qE2cABuG+zM&B8_Y z00TOUwA$OklD7k5YB4pQLJW?@z_S_`4iP_On-u#K7Zhjw&~m}`bY=MF`Sz4EtaMNf za+_9a#EwCyxFd6;`pZSI2(@#^0r8SFtBs6^(w?G5KaP+%i=FO1Db*9#0faB5p%olV zC48>h2z5zrhXcZIfZG9-!`0Np2Pn*M9LFxLdJWyjcc5yhumoStrJ#Fvv_I#pQ&N+1 zYZgV#vsc@%v8}2Ok;`noL_@Bd;h{Q|b7SSPwk73cc;4mc z0QzThdg1j!v^y#}{jA=_iKWF(&2u6P>F*FR*jozIfTly3dsqH6)`c(@%LH0w+=Rc035ihv?^DMG!b-l+qY6qL$J=-5KkrV0#pofqSwUe8p zm=eeq%Z&dc>kyh29;U9>a6|E9(^vFim0IIIMS7-OrvUkOoghxkb1^wa8f>m&X@d(S zDD?d6Smunhn1&55z=$7v**D+k3YQ!kw|v-!UNR*7 zL=JBED|Kdc#FUOw4T3oCW5qME9S%CJ@fN$>KVtPT0G~f_r4QBIh}N}5yHg2-7Hxf= zK34eKru)62p-}GG3)4`?TB-Dj(Y5X|!$`bz%*v5#nJMRS%~#ZEE0P)EmWb6wo=ZAG z8l@*RQ7@LyM;M1ta2Ng}We~&obIP;6L6O7pdJ^Cyhi?L%y3434TU`*gF;>j6=HTz2 zPul#TC;M@QzMDB8Z==9c9o4LTj3IkoxAugf#4KEt6RU4hxkzs`C_}@&btl|pRTDzY zZS~{BqR3G(yQ7?YD->fSu4nXqO#Lrnw4*%}&I2MH2sTw)JET9-onM(}J|X3nMue4~ z6aK~x3OCAlpKhjm-&T&>>_S0VAvn6lda|?5o4O`SBqOM$b4Fa+;Qi-tVgsQGj?xC$4jF=x7WEBlh4_zVEjJE{V9EKxBGK*D zN(#DTW*hRS)McMhDNjG#{jI&lSU+@PvKYb;tUHCigQBoS5&SG9Jq}QH1ffTN1%ZP| zZN`Ro#EVG+?*yP)cI~(Y)hZgv*tvGJ_GXQ#zpxJQdLq^W&lTrGJ1qAI-M>zoFgdZc z?d=C%Q&L~v?V(aPVHyo-oV)JV6)z!qAq_G}enn=v3YsKha_ru78Gc;C{3`@+8O;43 zik1xTIIEL9E*8IuwiHB51_fchK)EXaBJsk7Qu{^9RwZ9few(qkz(> zwvI@AVz~aD%{8YKSmO!gS~bELP8~(SGW?Tv#t5pObFix3m?!??(`6KiVleHr*n#7` z^Ko{%1qBOdoP6&xFz5C4H0be{$p>IMhGg1IimANt`WfP#nr*qB36KT%j|D(89X*PA zSH?2>E}G|mp~uXgd}$p2+X{6*dCKx^U@3KMihLU2#|RC;r#(d)?r<5Eg0=_BZ1p$$ zY?*%g+F!egoc9`izxzH5E~O!-X6pSWT+Ehm@#^I)9#U{8cZb+O{pZ1rg?-WXQ7jbT zV)}XU7%BCb&!#p?_XphbQBn zSJkED=X-F5gO3G0_V9&LYNuhvm@s(;8jZKkRt(1GZ$BSNW=;75U(5ir=_?*%9m-FE z|1Mlt9_T~Uf`fPf+GFH+(UF=U6WFqg)+c|e*_!U=Wwu+{Teu4@s{?9mo1{b4MMh?pPtzh*}MwM{kn6D$#vSZGtI~vlgCQ2>5-HXAc z{LFyCkqY83xIV~kCup`|Kr4}OrSSHTZQTXxi`{AR_&VkQAd%6J@_KNuKfmrVcTx1V z(LZ|r+64txvA*|HFm7WZz4bvTG~#uKnXMr1X@MEnbCj2lv5R5m9a#4U_`W&0<=?G4 z!_P1W?d{Ps`RaO6OTJ!IG?`^k0nGxmq>tr>o^A^JN6?Q3*xkKXcd_>mCDqr4vO4e8 zTb=dN1DM%#jE1F`JHm*O18Di7mpLc0W-JCqvG8C1c10Z$rB!OGzJIFEnzD9ToPIMZon z6%NNIu26uiq=yHDVnAC=MWYwZi zFVI}fKDD`(2!;43!W7>TI-|#eW_JXV`hgj;#mUk!>4t^wLME<8(ak!UQ$QB!gop3_ zb|;8b`D8Oc*hRQPx0BZozH;0l;lA@!4o??;q#5L5$swm}wKcH8ETL8KyGWNoq^E%f zZx7W@w!ZV?yovZ+nBCDMQjI)-oy4EzuTEUPq}F* zgKWncwZ#V)#y&|?z6J9?V+YX4ZVDwO3^tNjxPWG%gbizgjUvHN>fMxwHe}w z!i1G!iR{(j_EeZg{f%KzgC(6*mT1%sHT?~!|25j^BXcmJSHwtZ5FnIo z`WH}G2HH%R32%`IjID}#QL%R%$D*t}{wO||yhM1jgR}+~KfNWnHUBTcoyJ~LR@XW4 z=-%=ajEBmwEjHL;>PidyVK>h zKnK9v8C*^sTJvJ;*vkR7YkQTqkjsm%%yc@LX;(#;MNW4NRYz*mzjpZYY<9!QXH6u|oW9dgwhx8V$iIOU6?O z22lFQKL+z(31>kydBXS|H6vy`jY9c*y?!)|54@cabMR1k3XDhcxO&i{60IFRDRcW1H zjVeDkkbv|fuo3JggBL9#x3g=Jma)?NBKLPn7b{S%dFGc~Y%E4>Hp9UzKk$i7_S`F0 z0U>T#3uJp=SfrYfq8#1*M*M;d=?e_!im>{zZ1j;rXqV+yS%hPbJ0nTgjou@pZ=0F^D(OHc&GW62aNi~npXxyBX=29QEi$^7!ANH ze=NDo18OL0S+fk9oG{kA z*q|pF*!SE1gCjaUG~?&@i(w*B%-Z3xvD)HN|%%X(}tveN9oUhi19Br`Pzj z*F%{pl;dI*$^WRWpe}VKHWw}M;RUbuQxVPTq1BPk<0&c|3u)@3 zl%dqKRjK-ehZATLQ^~${j3Wtn=j{3CX;*T7W(J?*QKb2~(<5k!h2>?<3k^OOJbWIt zBecbU@ll276p^8}TAEN4ajkZ-L(um9E*H`OI%nz-(1FZ*F1+0CNJ7eyu0oGfoxUa5 z&>-#54*G4og&R;Iv-$lx?@x(>Gj}}h$eIInZRzidP_sV0MV+JE&Cjx%mXIe4h@lY2 zX>oX^xjj-;1op4?irhGt7zHnd+uNgqyQ_QJ0|H>B>HsKBH|7!hr|*^m!>n(umjh!) zIjk^X6EoTuKSAUqObK_7VnKu632XNa1$t)k_n|`PUP=!cptK;-Yup{!zNjpMI&S88 z3#DcN+4wPs^n-;XbnPaial75{XAC`fjHAJXOie9cQGw`uXl|+1${sgw_?p+RoAOg$uXP3$%^6lT3 zb+r+T7GqV8iJ7rkAts_*LlPQ7twp^OY+1v@7H%bkkFtO6=m&95N-*b; z-?L)>We=esTFyJAxEiV-hsFt3ERSrtFI$lggF81j5*x%jQ7zbHv@i)I=&o)B0*oUg zGMV4=!5tXYL50V<=~HNuYQpOkckD0vvK72+CJFk!{kx`62((MsP~3)``jbFT-xeLF zseR!BJ0%04GTNkq4?Ll%K0Q#0hPYT}aviNP?%r-P9)0G=j6^2vh2v%hdZ?|QYu&q4 zRlDv^MHt5LsC;FtL+M{ajLssHspK72@U|b}fkZ944YUr42tL*ND0$Do#)+x&v-<>fPji?m(2N7_ zVi%5gj!HO#{2;}$aIGr}VV$3CIl}#uQ5?BMJv!mBt(1aVGG+doB2v#ES68$OX)FsS z-K2RyA_zS)rIRVbt*&MKcApz_d(ZmV-l39v0A9uY(!sp3pM}9L`67p zJa|tQH{iYksV7%(Vu@Ft{#yPsSil}A_qa%#fUYlmjc!yIX^yWk!c8x#3|Ns|Lcgr3$}0+xKh#dc*MgxbkC6rWwi$)1m77s`e^u!zz4ze=~(z>S1R*${B7L~$v&>_GRco@4uCtQSdo{Z zIN=wY)-hhKkN}?rr~SoH)UgkN-p$-x6M)%c=hK4s!_U=EFlLrkhF{{^6&)x0ta1T) zgC_fV$sS@*cr0V?*IiwUo)$+Op&rkn@;W;4LWIhgZL4v6yrBlsU(DN zK|BgZa;tAjeVFZ;t5fn!hSrpSzO@;dSpj$E4VzL6k>Y}vc?lGglrEJuZn$OD#-v-1 zZ-rEnK!ZPN{$$8}q~#)DEx(69dZhHQ0@>D9V;JV?f(kNy|$ z^WT~9hhC4$9^a?+a_fB=7f^ zhLm{$nU0Hv>sj|+7Mla}1PNL}?D;b3-O&%wpf=t&FrFWl5B;ChY2Ec^rH53#%a;o$ zf=I?u->v)f8rdUHlU>7bPuI62?o+WU)Z@n{6oiODJpXW{R2=^jq&s7@Q^gp1JNCx+ z(NaYsPx8yp?vPp|6sVZZfw#5}D`(Eq=-H8(*SWBI|DPwdy-h)UWEyr8)q+SmmgnOv zKVi~P=;>IZE24JSKxa;l56SpY3#0Y9RYL|xEy1O+PWFl*Zs$$GE6~)0UspIWD4H{| zO&z(DwPL^gy!=XL@p4ex?}vTdCmPwYcW5t6=}@4VO}AN#8f$OG{-azmG|?z}PZM|h zpVp09D@a|=Y>}iVkck@UuHF5YIVzU8F;|#f#|jvBR!_I;yR(X#$r7*g*-2r2lRx)F zK3waqU9r?ZG@Wtg_N#BG8`EpNp8dGxP7&H@2BGd)=6XMdsgc4_QvowMbeUA}7gD;R zp8L3-`7JARQo}?~>07G{J$!H0uqa&4uZ0~XZ-ZTT*~71TS=UzQ=Vh}nU#IXauGDT- z<;MVuTH4Mg-f`(At={RHc}BhSqC&QUj7Oq!KrV0PmF!5qm;u}9Ka;132j#g$^=3c( zj5=L-8TjaUCE(ZQ7xtU~C)%MlZ%n3`^Mv+x=`=wR4b3#w_1(?iiyTbY z$S>&EwGO!?==FYe;-_QovVd}I@~(A?k*RSotX4<#+TVpjz6;EwoIs>{!Qw!0=@3^- zlxf@WssXAEvcjPwMvf;8F&(ECc3}P6XY17=Z0FzKhQkCNq6`khBnLCf(q0!-^Z3MLlzPu=R z4g80>8(SWL`Lz(<9>9AI^*%A5Tky^cHx&e%E)3PnBk@;Tp~vkvj?DX!f~-!}pni}w z3AsCXNRvpQmzeJp23vhn2PUZCPV|1+MI$KFHh1XKh4L|riBr+whHT|^4Pf@Sq-kIH zk((sRO1=GBOyY8?sWwS%9-7=QFciJm>^SQUe%ItyOD>fxxhT}92>mDzCR||6T%40O zNJH~e`*|gxZ&~u72l^7}H~JBDYViA+WQ`m$2gu(B)T^5A-E=sRPJv1)w~rH< zE_vnuGSIbGIXEg%=yZmEsV7Hc(8)*P+r~U=<{yogFERQ1b%Mb5;+?5g`}LBWnPW#ba#{fj+=lbx;cqqQ`D`}_QO_7#NNG2?LR1EcI) zMlK^-U4wvhRlmKlg!Pp}Y(kh#+2E=}5@831-4=_iBc>VqW&ad0vjrdzcwTf^Sqn zQO^W$uqqQc#`+L29j=B-s?{o$9??HKW=E3I*7>s9e3r`VQ+@@d)p$bYq%Lesq`J%c zo3FCiDQ67x$O?<~epMZM;f8@MUm%S)KP3CbQKJ|gEw0)<-y%5^F$Z5c~ zL+(t&s%XBHyS?X<%0ng9P_;gP2k{klWO*Mf@2d9Z!UG2GjH#vz#cQtjHa_|vL2w+n zmwLTRW#S5r9(}`&gORDL-I>N$?h70HH2C<@-;7;Ob{NT(;%)tbi!d=EAbbhzB$9ARA)e6yFmB0rLBy+Gw{!VZQs#(3M2OQm4 zKfZ$Mpoqy|#}UqHT*n1!bWh6z3^kmYIX+5W$_F-9V*tmnnw%deZ{b8T1NEQYyNeH; zPt%R3PY>}n>+gk0%M++oyyM>RxcLuMSR`l_Pt9VBWKX<_y&&Mw(&Vbodgqg^-!_(C zKKcs?IZo=e+hRKet7U{W$6XRUE_)RhTAq>Jyt0L?8P_Fxt}taZB(CEnR4k;j5>V&H zldE5?A528x#rf$pK44h}@*lZZdwXHECsHekXiu3gUpJ+jFYqH-QC0WZT{TogU| zC}uYXRE8JJK@v{LG^{@+DvFHIAh&^?uKSmf>qVSl$djzt?59AFAC5hcffcgi``be9UEP{LsBPoULvI^;h%k*^qHz_k99 z^yk7q5`HCS5%ePUNpD0nMk1@5)gE2^+f807)#+~qL%B(b_X*%2&#W@nWz5H-h!OlL zrb-=hMleG-i0t{IuIg>3;75Z>EhzWLBRx2F7pOa#pr z6_*G_L5b)$Iob&4j&MQ4Inr<{~+i>tiZ`kJde_mW*AFhp$v0ca0W$JG)3P2UgOB8IuBGA9vFX z!-U|Ky#Tz0n(6=_N%Jf7j-1uk?(*=Y>&YDimVC!nV^V>%AiHT8{A})cs%U3diHd?^ zDL(!g`!NKtyB+COQ38!_*+Dt!w(W6gk5oE~aBFOqwcEw@LSoQ{pMp#sM%gnkre88> z0NwiW^ApHjT)6ino3gMYg)5V3YF5*s-l4YbqITAlcMI8%-b%!Z+fl0<*2j*TJvTMP z{Fj9dPIOvGG8OJ%iyj3zeg4HRcn6leHcF2{)>#S}e1hNiN!Q*^<#l!G?@~@Vf9vT0 z-eSF90x|Y)-Tu-JzpXTrQZ$nDIO*0B+&LmF#h+`GKPH2l>jRLs4N%AhAr~ZKgnk~+ zQo}hbe;K&=!!vAZ0Ukxar&zO{47>;-z#APUW|%lWH5Q=@9M004l){WeCB znUi{Jjn_PPBL;L6wGi=yrC;|%+`a^upyZM7MnNN!HtG;+k}XXtJ3AfQ!HH^gkSs0rOWu#HSx3DcI`MzOiZuQ)O;|%(cpxZG8JEEs zYTW2+JTz-e+^gu*&T0JPInfbdzqLi=nm4BTG#X2L3j7*ewOxKbo$lWhWRsre$x+#C zn4P~Wd@EQOrkv6)BtrWp*pUDXE-C1Ud@v=z0;vpKf%ej&Wbsp-B@LIjet9iFijE<# zUX!g3CaQk#bVviJQkDXT=bWW{F8xs4IdbS@LH#>^1=F-5wWvZl19^E0uqO#eVp0G81%N(qN2fo!_%*pAZsnWf(%dn8FELfQ<-N5jNyDUE6ILO8naV*e zB9O=vq98cfltBiE_Bwm?4QA|>j%TAo5c-3>$Cm|+@&?E&#jkulxdo9;OV|+``5T2k zjsp?n?mKS=cd;!iUh+PDYLZOT2otLKXl!NU-V1SZHPs6(kh6= zdWu2=;uGO`d835?0XAFEL3+Xg&9^w_znG~y7f&s@G0@>Yf;iOt|Gi6;b9!3MJFxAE z`p*W33ac#3`$$N|SO(QH#FDeZ(^j9+~O>c<1I>}U( zS&iFqPW$HCwFo^Q7b<}TQ>KaKcqHyBn8bVX4}0`pzp}{he&0T*p<~qNuzV{|F<}GX z6Gt@m)BSmc$On9t(uDe*aD?`6_kb~N$NX*_3S?(4OxS;@c>O0*C!0uGxgFUxZn%Hkh}lt_$g+5c)A{<*4-X`AcoJER>i3R@MMoG@eDA|Cbw@$%F8tsy z*c8|vgJ8LKD^f&qT(nv%!6kuKj1(qr2s;c#1GS2a0S%7n%Rl~8KdbU8sB$U|k#0eA zO>g)rjBwxZm8xiX_xpsgLh2t5vuguId*-yM(Z+5G^XuElc?4)+x+EC|n@!8%(0T== zN{uA6$4_xjgmehzWe&~L$CDLy5JXF$^ieg}D6suc{M) z4v$1{vtB_5*($g`${zoJE9`+K1rkI1b=#Y}aq;i0 zVUK*%g+{*W?3)3F+Lan_>F~BrZK`TX1ODxs&vWxnhh!iAr0KfkFUDohfB@i|Xs_>` zo-{l8Ut@`5#rpW92|)~?>m1Pgx_e6j<@caAO}Q$h_Q-uxnyKdUnK#t=EF(E0kvY%% zs&xnaK&?Y(j3+|TgxLn&aU30c2p z?S6MEU2U8!CJrqvU4F{NKFjMYT6hVTGsk*%q_t9yRgH;aX;hA;Ei&-=O* z%M`@EU*J$Q&J*paW&R7crt|r(P{ciFJiSzw4D78@$MkDUz#vQxU&b0;ex}59buPv7 z$1PP7J8`sQsiIi(&@u`bx{&>0Gx<^S&sKWa;f;wb0|*BTDK`SEIcuf+Iegz;ZjH5{DhYVhTEpk`t0SDF3~lnyeZA4j_yWbN!FF?& za9mcqq9$|#Fk3S82*%|zo_w;9H>dvVT2B0>a`mfe+i@I_ZEWWRmXd(%7`!Mbo)+(n zKZ6i{Iw@LEY(jaJ--mN42SS+1zH6jK?^ zVDX+=@guNEEa?5s2}FU4{+IkQlVd7|JCggxmN@=WT5bl4Q$`=8;hr9-C}Z_##J{O- z4p@1-GWcJT9y;*91H^9rjOw#1^WwRuW$yPgS?Rh4AE~;^dTuFC598O!TYG##im%~x zN|Ld7Tcv!*Hb3)|LYVRS1aN`(vU<>9>-Bf)d@E|dc{F&~5T0Xd{tb3&X_s zGVLoiLVCyuG?1O>or1j3RrRb95C32%)GLeR*vw+&H#3YOd-^()>B?F} z!6oQIU5~y7!z7PI2``*x7>ADlB|6}|wmJDjU1*Hx7_P z^jHVwAsw`si}K+cLKw)MZ!nsG{ur(q_!U60frieg0glH=z9D*UMG%w8VdIu(#$6q? zyNZitLxdYEkBXLgz?jY#4!8@fDQtuog5JFg3S@(oy?+y8Z{+B)iwUdPlva>PDAsN+ z3n9QGuI?uPJs`K`l*Hdjm`kBmNcyEN%+_hy0p6n?_ZD4?I1`whg21izzUtF1a{%1t z3)7R^UlDae4>GKtr`@Rpz0u!p_98k`E{GHg-;&G(Ta!wY(q$q41v;cz#KNvihh8MT z{(w$t7H&(`5t&6?X2xph#zW${j{%$Xm3muVKOW$%9i3`^SZB=1gJG*>mYAy+VEa** z6Mi5mP+EiewT}L~9){pleteg@OW8tpqlN-PzH&RDdUk)A>z~I0*WKH3qNAROinEH! zbQXZQC!K*2l6$iCnvi$u@9>Vm&9ZyQds@4)yF|O4f5U(0Sr*Zvef=sds^2HhF*LL* zME)IA9);TDl&5zs3EFM+NOzUtTW^n9*otHGk1yf@pUw%A--Hs+MbzkNHGncC1S^9okD;@hbTb95cnY0G1@*fgmAbaZmLrEve!O?)~n8CmDtHA}u_6{I*+k5~fMN!e1AT6j!uLKs&CyoZh_ ze~^odZ8wZ1kSUOkrxd;*86x|bJCjRYVvu#?8+I9R5J|WPSyX2_^Qf%(Z$OU7yDHOY m$MmW-g^rI{yxa5%2r7m2mBv3GY_)> diff --git a/nym-wallet/src-tauri/src/config/mod.rs b/nym-wallet/src-tauri/src/config/mod.rs index a15d8bc0d1..7b22614822 100644 --- a/nym-wallet/src-tauri/src/config/mod.rs +++ b/nym-wallet/src-tauri/src/config/mod.rs @@ -7,7 +7,6 @@ use config::NymConfig; use serde::{Deserialize, Serialize}; use std::{fs, io, path::PathBuf}; use strum::IntoEnumIterator; -use url::Url; #[derive(Debug, Default, Deserialize, Serialize, Clone, PartialEq, Eq)] #[serde(deny_unknown_fields)] @@ -87,27 +86,14 @@ impl NymConfig for Config { } impl Config { - pub fn get_nymd_validator_url(&self, network: WalletNetwork) -> Option { - // TODO: for now we pick the first one + pub fn get_validators( + &self, + network: WalletNetwork, + ) -> impl Iterator + '_ { self .network .validators(network) .chain(self.base.networks.validators(network.into())) - .map(|x| x.nymd_url()) - .next() - } - - pub fn get_validator_api_url(&self, network: WalletNetwork) -> Option { - // TODO: for now we pick the first one - // NOTE: we are explictly picking the API URL for the first configured validator, not the first - // API URL out of all validators. - self - .network - .validators(network) - .chain(self.base.networks.validators(network.into())) - .map(|x| x.api_url()) - .next() - .flatten() } pub fn get_mixnet_contract_address(&self, network: WalletNetwork) -> Option { @@ -223,12 +209,17 @@ api_url = 'https://bar/api' let config = test_config(); let nymd_url = config - .get_nymd_validator_url(WalletNetwork::MAINNET) + .get_validators(WalletNetwork::MAINNET) + .next() + .map(ValidatorDetails::nymd_url) .unwrap(); assert_eq!(nymd_url.to_string(), "https://foo/".to_string()); // The first entry is missing an API URL - let api_url = config.get_validator_api_url(WalletNetwork::MAINNET); + let api_url = config + .get_validators(WalletNetwork::MAINNET) + .next() + .and_then(ValidatorDetails::api_url); assert_eq!(api_url, None); } @@ -237,7 +228,9 @@ api_url = 'https://bar/api' let config = Config::default(); let nymd_url = config - .get_nymd_validator_url(WalletNetwork::MAINNET) + .get_validators(WalletNetwork::MAINNET) + .next() + .map(ValidatorDetails::nymd_url) .unwrap(); assert_eq!( nymd_url.to_string(), @@ -245,7 +238,9 @@ api_url = 'https://bar/api' ); let api_url = config - .get_validator_api_url(WalletNetwork::MAINNET) + .get_validators(WalletNetwork::MAINNET) + .next() + .and_then(ValidatorDetails::api_url) .unwrap(); assert_eq!( api_url.to_string(), diff --git a/nym-wallet/src-tauri/src/error.rs b/nym-wallet/src-tauri/src/error.rs index 9dd15a603e..adfd88c37c 100644 --- a/nym-wallet/src-tauri/src/error.rs +++ b/nym-wallet/src-tauri/src/error.rs @@ -1,8 +1,8 @@ use serde::{Serialize, Serializer}; use std::io; use thiserror::Error; -use validator_client::nymd::error::NymdError; use validator_client::validator_api::error::ValidatorAPIError; +use validator_client::{nymd::error::NymdError, ValidatorClientError}; #[derive(Error, Debug)] pub enum BackendError { @@ -51,6 +51,11 @@ pub enum BackendError { #[from] source: serde_json::Error, }, + #[error("{source}")] + MalformedUrlProvided { + #[from] + source: url::ParseError, + }, #[error("failed to encrypt the given data with the provided password")] EncryptionError, #[error("failed to decrypt the given data with the provided password")] @@ -81,3 +86,13 @@ impl Serialize for BackendError { serializer.collect_str(self) } } + +impl From for BackendError { + fn from(e: ValidatorClientError) -> Self { + match e { + ValidatorClientError::ValidatorAPIError { source } => source.into(), + ValidatorClientError::MalformedUrlProvided(e) => e.into(), + ValidatorClientError::NymdError(e) => e.into(), + } + } +} diff --git a/nym-wallet/src-tauri/src/network.rs b/nym-wallet/src-tauri/src/network.rs index d6a9bc8bd0..5202b70d52 100644 --- a/nym-wallet/src-tauri/src/network.rs +++ b/nym-wallet/src-tauri/src/network.rs @@ -3,11 +3,10 @@ use cosmrs::Denom; use serde::{Deserialize, Serialize}; -use std::convert::TryFrom; +use std::fmt; use std::str::FromStr; use strum::EnumIter; -use crate::error::BackendError; use config::defaults::all::Network as ConfigNetwork; use config::defaults::{mainnet, qa, sandbox}; @@ -38,25 +37,28 @@ impl Default for Network { } } -#[allow(clippy::from_over_into)] -impl Into for Network { - fn into(self) -> ConfigNetwork { - match self { +impl fmt::Display for Network { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "{:?}", self) + } +} + +impl From for Network { + fn from(network: ConfigNetwork) -> Self { + match network { + ConfigNetwork::QA => Network::QA, + ConfigNetwork::SANDBOX => Network::SANDBOX, + ConfigNetwork::MAINNET => Network::MAINNET, + } + } +} + +impl From for ConfigNetwork { + fn from(network: Network) -> Self { + match network { Network::QA => ConfigNetwork::QA, Network::SANDBOX => ConfigNetwork::SANDBOX, Network::MAINNET => ConfigNetwork::MAINNET, } } } - -impl TryFrom for Network { - type Error = BackendError; - - fn try_from(value: ConfigNetwork) -> Result { - match value { - ConfigNetwork::QA => Ok(Network::QA), - ConfigNetwork::SANDBOX => Ok(Network::SANDBOX), - ConfigNetwork::MAINNET => Ok(Network::MAINNET), - } - } -} diff --git a/nym-wallet/src-tauri/src/operations/mixnet/account.rs b/nym-wallet/src-tauri/src/operations/mixnet/account.rs index c8d06b0fe2..a1970ddf48 100644 --- a/nym-wallet/src-tauri/src/operations/mixnet/account.rs +++ b/nym-wallet/src-tauri/src/operations/mixnet/account.rs @@ -1,16 +1,23 @@ use crate::coin::{Coin, Denom}; +use crate::config::Config; use crate::error::BackendError; use crate::network::Network; use crate::nymd_client; use crate::state::State; use bip39::{Language, Mnemonic}; +use config::defaults::ValidatorDetails; use serde::{Deserialize, Serialize}; -use std::convert::{TryFrom, TryInto}; +use std::collections::HashMap; +use std::convert::TryInto; use std::str::FromStr; use std::sync::Arc; +use std::time::Duration; use strum::IntoEnumIterator; use tokio::sync::RwLock; +use validator_client::nymd::error::NymdError; +use validator_client::nymd::SigningNymdClient; +use validator_client::Client; #[cfg_attr(test, derive(ts_rs::TS))] #[cfg_attr(test, ts(export, export_to = "../src/types/rust/account.ts"))] @@ -132,46 +139,162 @@ async fn _connect_with_mnemonic( mnemonic: Mnemonic, state: tauri::State<'_, Arc>>, ) -> Result { - let default_network = Network::try_from(config::defaults::DEFAULT_NETWORK)?; - let mut default_account = None; + let default_network: Network = config::defaults::DEFAULT_NETWORK.into(); + let config = state.read().await.config(); + + // Try to connect to validators on all networks + let mut validators = select_validators(&config, &mnemonic).await?; + + // If we didn't manage to connect to any validators, just go ahead and try with the first in the + // list for network in Network::iter() { - let client = { - let config = state.read().await.config(); - let nymd_url = config - .get_nymd_validator_url(network) - .ok_or(BackendError::NoNymdValidatorConfigured)?; - let api_url = config - .get_validator_api_url(network) - .ok_or(BackendError::NoValidatorApiUrlConfigured)?; - match validator_client::Client::new_signing( - validator_client::Config::new( - network.into(), - nymd_url, - api_url, - config.get_mixnet_contract_address(network), - config.get_vesting_contract_address(network), - config.get_bandwidth_claim_contract_address(network), - ), - mnemonic.clone(), - ) { - Ok(client) => client, - Err(e) => panic!("{}", e), - } - }; + validators + .entry(network) + // We always have at least one hardcoded defalt validator + .or_insert_with(|| { + let default_validator = config.get_validators(network).next().unwrap().clone(); + println!( + "Using default for {network}: {}, {}", + default_validator.nymd_url(), + default_validator + .api_url() + .map_or_else(|| "empty".to_string(), |url| url.to_string()), + ); + default_validator + }); + } - if network == default_network { - default_account = Some(Account::new( - client.nymd.mixnet_contract_address()?.to_string(), - client.nymd.address().to_string(), - network.denom().try_into()?, - )); - } + // Now we are ready to create the clients that we will use + let mut clients = Vec::new(); + for network in Network::iter() { + let client = validator_client::Client::new_signing( + validator_client::Config::new( + network.into(), + validators[&network].nymd_url(), + validators[&network] + .api_url() + .ok_or(BackendError::NoValidatorApiUrlConfigured)?, + config.get_mixnet_contract_address(network), + config.get_vesting_contract_address(network), + config.get_bandwidth_claim_contract_address(network), + ), + mnemonic.clone(), + )?; + clients.push(client); + } + // Set the default account + let client_for_default_network = clients + .iter() + .find(|client| Network::from(client.network) == default_network); + let account_for_default_network = match client_for_default_network { + Some(client) => Ok(Account::new( + client.nymd.mixnet_contract_address()?.to_string(), + client.nymd.address().to_string(), + default_network.denom().try_into()?, + )), + None => Err(BackendError::NetworkNotSupported( + config::defaults::DEFAULT_NETWORK, + )), + }; + + // Register all the clients + for client in clients { + let network: Network = client.network.into(); let mut w_state = state.write().await; w_state.add_client(network, client); } - default_account.ok_or(BackendError::NetworkNotSupported( - config::defaults::DEFAULT_NETWORK, - )) + account_for_default_network +} + +// For each network, try the list of available validators one by one and use the first responding +// one. +async fn select_validators( + config: &Config, + mnemonic: &Mnemonic, +) -> Result, BackendError> { + use tokio::time::timeout; + let validators = futures::future::join_all(Network::iter().map(|network| { + timeout( + Duration::from_millis(3000), + try_connect_to_validators( + config.get_validators(network), + config, + network, + mnemonic.clone(), + ), + ) + })) + .await; + + let validators = validators + .into_iter() + // Filter out networks that timed out. + .filter_map(Result::ok) + // Rewrap so that the Result is outermost, so we can return any errors encountered + .collect::, _>>()? + .into_iter() + // Filter out networks where we exhausted all listed validators. + .flatten() + .collect::>(); + + Ok(validators) +} + +async fn try_connect_to_validators( + validators: impl Iterator, + config: &Config, + network: Network, + mnemonic: Mnemonic, +) -> Result, BackendError> { + for validator in validators { + if let Some(responding_validator) = + try_connect_to_validator(validator, config, network, mnemonic.clone()).await? + { + // Pick the first successful one + return Ok(Some(responding_validator)); + } + } + Ok(None) +} + +async fn try_connect_to_validator( + validator: &ValidatorDetails, + config: &Config, + network: Network, + mnemonic: Mnemonic, +) -> Result, BackendError> { + let nymd_url = validator.nymd_url(); + let api_url = match validator.api_url() { + Some(url) => url, + None => return Ok(None), + }; + + let client = validator_client::Client::new_signing( + validator_client::Config::new( + network.into(), + nymd_url.clone(), + api_url.clone(), + config.get_mixnet_contract_address(network), + config.get_vesting_contract_address(network), + config.get_bandwidth_claim_contract_address(network), + ), + mnemonic, + )?; + + if is_validator_connection_ok(&client).await { + println!("Connection ok for {network}: {nymd_url}, {api_url}"); + Ok(Some((network, validator.clone()))) + } else { + Ok(None) + } +} + +// The criteria used to determina if a validator endpoint is to be used +async fn is_validator_connection_ok(client: &Client) -> bool { + match client.get_mixnet_contract_version().await { + Err(NymdError::TendermintError(_)) => false, + Err(_) | Ok(_) => true, + } } diff --git a/nym-wallet/src/components/AppBar.tsx b/nym-wallet/src/components/AppBar.tsx index 282f37cc3c..b5ee0ab55d 100644 --- a/nym-wallet/src/components/AppBar.tsx +++ b/nym-wallet/src/components/AppBar.tsx @@ -1,12 +1,12 @@ -import React, { useContext } from 'react' -import { AppBar as MuiAppBar, Grid, IconButton, Toolbar, Typography } from '@mui/material' -import { Logout } from '@mui/icons-material' -import { ClientContext } from '../context/main' -import { NetworkSelector } from '.' -import { Node as NodeIcon } from '../svg-icons/node' +import React, { useContext } from 'react'; +import { AppBar as MuiAppBar, Grid, IconButton, Toolbar } from '@mui/material'; +import { Logout } from '@mui/icons-material'; +import { ClientContext } from '../context/main'; +import { NetworkSelector } from './NetworkSelector'; +import { Node as NodeIcon } from '../svg-icons/node'; export const AppBar = () => { - const { showSettings, logOut, handleShowSettings } = useContext(ClientContext) + const { showSettings, logOut, handleShowSettings } = useContext(ClientContext); return ( @@ -34,5 +34,5 @@ export const AppBar = () => { - ) -} + ); +}; diff --git a/nym-wallet/src/components/ClientAddress.tsx b/nym-wallet/src/components/ClientAddress.tsx index 0d209a285d..7789c0da28 100644 --- a/nym-wallet/src/components/ClientAddress.tsx +++ b/nym-wallet/src/components/ClientAddress.tsx @@ -1,12 +1,11 @@ -import React, { useContext } from 'react' -import { Typography } from '@mui/material' -import { Box } from '@mui/system' -import { ClientContext } from '../context/main' -import { CopyToClipboard } from '../components' -import { splice } from '../utils' +import React, { useContext } from 'react'; +import { Box, Typography } from '@mui/material'; +import { ClientContext } from '../context/main'; +import { CopyToClipboard } from './CopyToClipboard'; +import { splice } from '../utils'; export const ClientAddress = ({ withCopy }: { withCopy?: boolean }) => { - const { clientDetails } = useContext(ClientContext) + const { clientDetails } = useContext(ClientContext); return ( @@ -17,5 +16,5 @@ export const ClientAddress = ({ withCopy }: { withCopy?: boolean }) => { {withCopy && } - ) -} + ); +}; diff --git a/nym-wallet/src/components/CopyToClipboard.tsx b/nym-wallet/src/components/CopyToClipboard.tsx index afde227b01..6a3dd16cd3 100644 --- a/nym-wallet/src/components/CopyToClipboard.tsx +++ b/nym-wallet/src/components/CopyToClipboard.tsx @@ -1,37 +1,37 @@ -import React, { useEffect, useState } from 'react' -import { Button, IconButton, Tooltip } from '@mui/material' -import { Check, ContentCopy } from '@mui/icons-material' -import { clipboard } from '@tauri-apps/api' +import React, { useEffect, useState } from 'react'; +import { Button, IconButton, Tooltip } from '@mui/material'; +import { Check, ContentCopy } from '@mui/icons-material'; +import { clipboard } from '@tauri-apps/api'; export const CopyToClipboard = ({ text = '', light, iconButton, }: { - text?: string - light?: boolean - iconButton?: boolean + text?: string; + light?: boolean; + iconButton?: boolean; }) => { - const [copied, setCopied] = useState(false) + const [copied, setCopied] = useState(false); - const handleCopy = async (text: string) => { + const handleCopy = async (_text: string) => { try { - await clipboard.writeText(text) - setCopied(true) + await clipboard.writeText(_text); + setCopied(true); } catch (e) { - console.log('failed to copy: ' + e) + console.log(`failed to copy: ${e}`); } - } + }; useEffect(() => { - let timer: NodeJS.Timeout + let timer: NodeJS.Timeout; if (copied) { timer = setTimeout(() => { - setCopied(false) - }, 2000) + setCopied(false); + }, 2000); } - return () => clearTimeout(timer) - }, [copied]) + return () => clearTimeout(timer); + }, [copied]); if (iconButton) return ( @@ -40,43 +40,26 @@ export const CopyToClipboard = ({ onClick={() => handleCopy(text)} size="small" sx={{ - color: (theme) => - light - ? theme.palette.common.white - : theme.palette.nym.background.dark, + color: (theme) => (light ? theme.palette.common.white : theme.palette.nym.background.dark), }} > - {!copied ? ( - - ) : ( - - )} + {!copied ? : } - ) + ); return ( - ) -} + ); +}; diff --git a/nym-wallet/src/components/Error.tsx b/nym-wallet/src/components/Error.tsx index 82cdda2c05..f582536b6b 100644 --- a/nym-wallet/src/components/Error.tsx +++ b/nym-wallet/src/components/Error.tsx @@ -1,19 +1,17 @@ -import React from 'react' -import { FallbackProps } from 'react-error-boundary' -import { Alert, AlertTitle, Button } from '@mui/material' +import React from 'react'; +import { FallbackProps } from 'react-error-boundary'; +import { Alert, AlertTitle, Button } from '@mui/material'; -export const ErrorFallback = ({ error, resetErrorBoundary }: FallbackProps) => { - return ( -

- ) -} - -const vestingPeriod = (current?: Period, original?: number) => { - if (current === 'After') return 'Complete' - - if (typeof current === 'object' && typeof original === 'number') return `${current.In + 1}/${original}` - - return 'N/A' -} + ); +}; const TokenTransfer = () => { - const { userBalance, currency } = useContext(ClientContext) + const { userBalance, currency } = useContext(ClientContext); + const icon = useCallback( + () => ( + + + + ), + [], + ); return ( - { - return ( - <Box sx={{ display: 'flex', mr: 1 }}> - <InfoTooltip title="Unlocked tokens that are available to transfer to your balance" size="medium" /> - </Box> - ) - }} - /> + <Title title="Transfer unlocked tokens" Icon={icon} /> </Grid> <Grid item> <Typography variant="subtitle2" sx={{ color: 'grey.500', mt: 2 }}> @@ -185,5 +116,71 @@ const TokenTransfer = () => { </Typography> </Grid> </Grid> - ) -} + ); +}; + +export const VestingCard = () => { + const { userBalance } = useContext(ClientContext); + const [isLoading, setIsLoading] = useState(false); + + const { enqueueSnackbar, closeSnackbar } = useSnackbar(); + + const refreshBalances = async () => { + await userBalance.fetchBalance(); + await userBalance.fetchTokenAllocation(); + }; + + useEffect(() => () => closeSnackbar(), []); + + return ( + <NymCard + title="Vesting Schedule" + data-testid="check-unvested-tokens" + Icon={InfoOutlined} + Action={ + <IconButton + onClick={async () => { + await refreshBalances(); + enqueueSnackbar('Balances updated', { variant: 'success', preventDuplicate: true }); + }} + > + <Refresh /> + </IconButton> + } + > + <VestingSchedule /> + <TokenTransfer /> + <Box display="flex" justifyContent="space-between" alignItems="center"> + {userBalance.tokenAllocation?.spendable !== '0' ? <Fee feeType="Send" /> : <div />} + <Button + size="large" + variant="contained" + onClick={async () => { + setIsLoading(true); + try { + await withdrawVestedCoins(userBalance.tokenAllocation?.spendable!); + await refreshBalances(); + enqueueSnackbar('Token transfer succeeded', { + variant: 'success', + preventDuplicate: true, + }); + } catch (e) { + console.log(e); + enqueueSnackbar('Token transfer failed. You may not have any transferable tokens at this time', { + variant: 'error', + preventDuplicate: true, + }); + } finally { + setIsLoading(false); + } + }} + endIcon={isLoading && <CircularProgress size={16} color="inherit" />} + disabled={isLoading || userBalance.tokenAllocation?.spendable === '0'} + disableElevation + > + Transfer + </Button> + </Box> + </NymCard> + ); +}; diff --git a/nym-wallet/src/pages/bond/BondForm.tsx b/nym-wallet/src/pages/bond/BondForm.tsx index 13f0b3622e..4055668692 100644 --- a/nym-wallet/src/pages/bond/BondForm.tsx +++ b/nym-wallet/src/pages/bond/BondForm.tsx @@ -1,4 +1,4 @@ -import React, { useContext, useEffect } from 'react' +import React, { useContext, useEffect } from 'react'; import { Box, Button, @@ -9,33 +9,33 @@ import { Grid, InputAdornment, TextField, -} from '@mui/material' -import { yupResolver } from '@hookform/resolvers/yup' -import { useForm } from 'react-hook-form' -import { NodeTypeSelector } from '../../components/NodeTypeSelector' -import { bond, vestingBond, majorToMinor } from '../../requests' -import { validationSchema } from './validationSchema' -import { Gateway, MixNode, TBondArgs, EnumNodeType } from '../../types' -import { ClientContext } from '../../context/main' -import { Fee, TokenPoolSelector } from '../../components' +} from '@mui/material'; +import { yupResolver } from '@hookform/resolvers/yup'; +import { useForm } from 'react-hook-form'; +import { NodeTypeSelector } from '../../components/NodeTypeSelector'; +import { bond, vestingBond, majorToMinor } from '../../requests'; +import { validationSchema } from './validationSchema'; +import { Gateway, MixNode, TBondArgs, EnumNodeType } from '../../types'; +import { ClientContext } from '../../context/main'; +import { Fee, TokenPoolSelector } from '../../components'; type TBondFormFields = { - withAdvancedOptions: boolean - nodeType: EnumNodeType - tokenPool: string - ownerSignature: string - identityKey: string - sphinxKey: string - profitMarginPercent: number - amount: string - host: string - version: string - location?: string - mixPort: number - verlocPort: number - clientsPort: number - httpApiPort: number -} + withAdvancedOptions: boolean; + nodeType: EnumNodeType; + tokenPool: string; + ownerSignature: string; + identityKey: string; + sphinxKey: string; + profitMarginPercent: number; + amount: string; + host: string; + version: string; + location?: string; + mixPort: number; + verlocPort: number; + clientsPort: number; + httpApiPort: number; +}; const defaultValues = { withAdvancedOptions: false, @@ -53,7 +53,7 @@ const defaultValues = { verlocPort: 1790, httpApiPort: 8000, clientsPort: 9000, -} +}; const formatData = (data: TBondFormFields) => { const payload: { [key: string]: any } = { @@ -63,27 +63,26 @@ const formatData = (data: TBondFormFields) => { version: data.version, mix_port: data.mixPort, profit_margin_percent: data.profitMarginPercent, - } + }; if (data.nodeType === EnumNodeType.mixnode) { - payload.verloc_port = data.verlocPort - payload.http_api_port = data.httpApiPort - return payload as MixNode - } else { - payload.clients_port = data.clientsPort - payload.location = data.location - return payload as Gateway + payload.verloc_port = data.verlocPort; + payload.http_api_port = data.httpApiPort; + return payload as MixNode; } -} + payload.clients_port = data.clientsPort; + payload.location = data.location; + return payload as Gateway; +}; export const BondForm = ({ disabled, onError, onSuccess, }: { - disabled: boolean - onError: (message?: string) => void - onSuccess: (details: { address: string; amount: string }) => void + disabled: boolean; + onError: (message?: string) => void; + onSuccess: (details: { address: string; amount: string }) => void; }) => { const { register, @@ -95,34 +94,34 @@ export const BondForm = ({ } = useForm<TBondFormFields>({ resolver: yupResolver(validationSchema), defaultValues, - }) + }); - const { userBalance, currency, clientDetails } = useContext(ClientContext) + const { userBalance, currency, clientDetails } = useContext(ClientContext); useEffect(() => { - reset() - }, [clientDetails]) + reset(); + }, [clientDetails]); - const watchNodeType = watch('nodeType', defaultValues.nodeType) - const watchAdvancedOptions = watch('withAdvancedOptions', defaultValues.withAdvancedOptions) + const watchNodeType = watch('nodeType', defaultValues.nodeType); + const watchAdvancedOptions = watch('withAdvancedOptions', defaultValues.withAdvancedOptions); const onSubmit = async (data: TBondFormFields, cb: (data: TBondArgs) => Promise<void>) => { - const formattedData = formatData(data) - const pledge = await majorToMinor(data.amount) + const formattedData = formatData(data); + const pledge = await majorToMinor(data.amount); await cb({ type: data.nodeType, ownerSignature: data.ownerSignature, data: formattedData, pledge }) .then(async () => { if (data.tokenPool === 'balance') { - await userBalance.fetchBalance() + await userBalance.fetchBalance(); } else { - await userBalance.fetchTokenAllocation() + await userBalance.fetchTokenAllocation(); } - onSuccess({ address: data.identityKey, amount: data.amount }) + onSuccess({ address: data.identityKey, amount: data.amount }); }) .catch((e) => { - onError(e) - }) - } + onError(e); + }); + }; return ( <FormControl fullWidth> @@ -133,8 +132,8 @@ export const BondForm = ({ <NodeTypeSelector nodeType={watchNodeType} setNodeType={(nodeType) => { - setValue('nodeType', nodeType) - if (nodeType === EnumNodeType.mixnode) setValue('location', undefined) + setValue('nodeType', nodeType); + if (nodeType === EnumNodeType.mixnode) setValue('location', undefined); }} disabled={disabled} /> @@ -282,20 +281,19 @@ export const BondForm = ({ if (watchAdvancedOptions) { setValue('mixPort', defaultValues.mixPort, { shouldValidate: true, - }) + }); setValue('clientsPort', defaultValues.clientsPort, { shouldValidate: true, - }) + }); setValue('verlocPort', defaultValues.verlocPort, { shouldValidate: true, - }) + }); setValue('httpApiPort', defaultValues.httpApiPort, { shouldValidate: true, - }) - setValue('withAdvancedOptions', false) - resizeTo + }); + setValue('withAdvancedOptions', false); } else { - setValue('withAdvancedOptions', true) + setValue('withAdvancedOptions', true); } }} /> @@ -394,5 +392,5 @@ export const BondForm = ({ </Button> </Box> </FormControl> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/bond/SuccessView.tsx b/nym-wallet/src/pages/bond/SuccessView.tsx index ef8ada8961..9abbebe118 100644 --- a/nym-wallet/src/pages/bond/SuccessView.tsx +++ b/nym-wallet/src/pages/bond/SuccessView.tsx @@ -1,12 +1,12 @@ -import React, { useContext } from 'react' -import { Box } from '@mui/system' -import { SuccessReponse, TransactionDetails } from '../../components' -import { ClientContext } from '../../context/main' -import { useCheckOwnership } from '../../hooks/useCheckOwnership' +import React, { useContext } from 'react'; +import { Box } from '@mui/system'; +import { SuccessReponse, TransactionDetails } from '../../components'; +import { ClientContext } from '../../context/main'; +import { useCheckOwnership } from '../../hooks/useCheckOwnership'; export const SuccessView: React.FC<{ details?: { amount: string; address: string } }> = ({ details }) => { - const { userBalance, currency } = useContext(ClientContext) - const { ownership } = useCheckOwnership() + const { userBalance, currency } = useContext(ClientContext); + const { ownership } = useCheckOwnership(); return ( <> @@ -30,5 +30,5 @@ export const SuccessView: React.FC<{ details?: { amount: string; address: string </Box> )} </> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/bond/index.tsx b/nym-wallet/src/pages/bond/index.tsx index afd4447815..b6c4047b7f 100644 --- a/nym-wallet/src/pages/bond/index.tsx +++ b/nym-wallet/src/pages/bond/index.tsx @@ -1,28 +1,28 @@ -import React, { useEffect, useState } from 'react' -import { Alert, Box, Button, CircularProgress } from '@mui/material' -import { BondForm } from './BondForm' -import { SuccessView } from './SuccessView' -import { NymCard } from '../../components' -import { EnumRequestStatus, RequestStatus } from '../../components/RequestStatus' -import { unbond, vestingUnbond } from '../../requests' -import { useCheckOwnership } from '../../hooks/useCheckOwnership' -import { PageLayout } from '../../layouts' -import { useSnackbar } from 'notistack' +import React, { useEffect, useState } from 'react'; +import { Alert, Box, Button, CircularProgress } from '@mui/material'; +import { BondForm } from './BondForm'; +import { SuccessView } from './SuccessView'; +import { NymCard } from '../../components'; +import { EnumRequestStatus, RequestStatus } from '../../components/RequestStatus'; +import { unbond, vestingUnbond } from '../../requests'; +import { useCheckOwnership } from '../../hooks/useCheckOwnership'; +import { PageLayout } from '../../layouts'; +import { useSnackbar } from 'notistack'; export const Bond = () => { - const [status, setStatus] = useState(EnumRequestStatus.initial) - const [error, setError] = useState<string>() - const [successDetails, setSuccessDetails] = useState<{ amount: string; address: string }>() + const [status, setStatus] = useState(EnumRequestStatus.initial); + const [error, setError] = useState<string>(); + const [successDetails, setSuccessDetails] = useState<{ amount: string; address: string }>(); - const { checkOwnership, ownership, isLoading } = useCheckOwnership() - const { enqueueSnackbar } = useSnackbar() + const { checkOwnership, ownership, isLoading } = useCheckOwnership(); + const { enqueueSnackbar } = useSnackbar(); useEffect(() => { if (status === EnumRequestStatus.initial) { - const initialiseForm = async () => await checkOwnership() - initialiseForm() + const initialiseForm = async () => await checkOwnership(); + initialiseForm(); } - }, [status, checkOwnership]) + }, [status, checkOwnership]); return ( <PageLayout> @@ -40,17 +40,17 @@ export const Bond = () => { <Button disabled={status === EnumRequestStatus.loading} onClick={async () => { - setStatus(EnumRequestStatus.loading) + setStatus(EnumRequestStatus.loading); try { if (ownership.vestingPledge) { - await vestingUnbond(ownership.nodeType!) + await vestingUnbond(ownership.nodeType!); } else { - await unbond(ownership.nodeType!) + await unbond(ownership.nodeType!); } } catch (e) { - enqueueSnackbar(`Failed to unbond ${ownership.nodeType}}`, { variant: 'error' }) + enqueueSnackbar(`Failed to unbond ${ownership.nodeType}}`, { variant: 'error' }); } finally { - setStatus(EnumRequestStatus.initial) + setStatus(EnumRequestStatus.initial); } }} data-testid="unBond" @@ -78,12 +78,12 @@ export const Bond = () => { {status === EnumRequestStatus.initial && !ownership.hasOwnership && !isLoading && ( <BondForm onError={(e?: string) => { - setError(e) - setStatus(EnumRequestStatus.error) + setError(e); + setStatus(EnumRequestStatus.error); }} onSuccess={(details) => { - setSuccessDetails(details) - setStatus(EnumRequestStatus.success) + setSuccessDetails(details); + setStatus(EnumRequestStatus.success); }} disabled={ownership?.hasOwnership} /> @@ -110,7 +110,7 @@ export const Bond = () => { > <Button onClick={() => { - setStatus(EnumRequestStatus.initial) + setStatus(EnumRequestStatus.initial); }} variant="contained" color="primary" @@ -124,5 +124,5 @@ export const Bond = () => { )} </NymCard> </PageLayout> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/bond/validationSchema.ts b/nym-wallet/src/pages/bond/validationSchema.ts index 0d4a7db759..db49ce41a9 100644 --- a/nym-wallet/src/pages/bond/validationSchema.ts +++ b/nym-wallet/src/pages/bond/validationSchema.ts @@ -1,4 +1,4 @@ -import * as Yup from 'yup' +import * as Yup from 'yup'; import { checkHasEnoughFunds, checkHasEnoughLockedTokens, @@ -8,95 +8,93 @@ import { validateLocation, validateRawPort, validateVersion, -} from '../../utils' +} from '../../utils'; export const validationSchema = Yup.object().shape({ identityKey: Yup.string() .required('An indentity key is required') .test('valid-id-key', 'A valid identity key is required', function (value) { - return validateKey(value || '', 32) + return validateKey(value || '', 32); }), sphinxKey: Yup.string() .required('A sphinx key is required') .test('valid-sphinx-key', 'A valid sphinx key is required', function (value) { - return validateKey(value || '', 32) + return validateKey(value || '', 32); }), ownerSignature: Yup.string() .required('Signature is required') .test('valid-signature', 'A valid signature is required', function (value) { - return validateKey(value || '', 64) + return validateKey(value || '', 64); }), profitMarginPercent: Yup.number().required('Profit Percentage is required').min(0).max(100), amount: Yup.string() .required('An amount is required') - .test('valid-amount', `Pledge error`, async function (value) { - const isValid = await validateAmount(value || '', '100000000') + .test('valid-amount', 'Pledge error', async function (value) { + const isValid = await validateAmount(value || '', '100000000'); if (!isValid) { - return this.createError({ message: `A valid amount is required (min 100)` }) + return this.createError({ message: `A valid amount is required (min 100)` }); } else { - const hasEnoughBalance = await checkHasEnoughFunds(value || '') - const hasEnoughLocked = await checkHasEnoughLockedTokens(value || '') + const hasEnoughBalance = await checkHasEnoughFunds(value || ''); + const hasEnoughLocked = await checkHasEnoughLockedTokens(value || ''); if (this.parent.tokenPool === 'balance' && !hasEnoughBalance) { - return this.createError({ message: 'Not enough funds in wallet' }) + return this.createError({ message: 'Not enough funds in wallet' }); } if (this.parent.tokenPool === 'locked' && !hasEnoughLocked) { - return this.createError({ message: 'Not enough locked tokens' }) + return this.createError({ message: 'Not enough locked tokens' }); } } - return true + return true; }), host: Yup.string() .required('A host is required') .test('valid-host', 'A valid host is required', function (value) { - return !!value ? isValidHostname(value) : false + return !!value ? isValidHostname(value) : false; }), version: Yup.string() .required('A version is required') .test('valid-version', 'A valid version is required', function (value) { - return !!value ? validateVersion(value) : false + return !!value ? validateVersion(value) : false; }), location: Yup.lazy((value) => { if (!!value) { return Yup.string() .required('A location is required') - .test('valid-location', 'A valid version is required', function (value) { - return !!value ? validateLocation(value) : false - }) + .test('valid-location', 'A valid version is required', (locationValueTest) => + locationValueTest ? validateLocation(locationValueTest) : false, + ); } - return Yup.mixed().notRequired() + return Yup.mixed().notRequired(); }), mixPort: Yup.number() .required('A mixport is required') .test('valid-mixport', 'A valid mixport is required', function (value) { - return !!value ? validateRawPort(value) : false + return !!value ? validateRawPort(value) : false; }), verlocPort: Yup.number() .required('A verloc port is required') .test('valid-verloc', 'A valid verloc port is required', function (value) { - return !!value ? validateRawPort(value) : false + return !!value ? validateRawPort(value) : false; }), httpApiPort: Yup.number() .required('A http-api port is required') .test('valid-http', 'A valid http-api port is required', function (value) { - return !!value ? validateRawPort(value) : false + return !!value ? validateRawPort(value) : false; }), clientsPort: Yup.number() .required('A clients port is required') - .test('valid-clients', 'A valid clients port is required', function (value) { - return !!value ? validateRawPort(value) : false - }), -}) + .test('valid-clients', 'A valid clients port is required', (value) => (value ? validateRawPort(value) : false)), +}); diff --git a/nym-wallet/src/pages/delegate/DelegateForm.tsx b/nym-wallet/src/pages/delegate/DelegateForm.tsx index fb2665549b..1670502130 100644 --- a/nym-wallet/src/pages/delegate/DelegateForm.tsx +++ b/nym-wallet/src/pages/delegate/DelegateForm.tsx @@ -1,33 +1,33 @@ -import React, { useEffect, useContext } from 'react' -import { Box, Button, CircularProgress, FormControl, Grid, InputAdornment, TextField, Typography } from '@mui/material' -import { yupResolver } from '@hookform/resolvers/yup' -import { useForm } from 'react-hook-form' -import { DelegationResult, EnumNodeType, TDelegateArgs } from '../../types' -import { validationSchema } from './validationSchema' -import { ClientContext } from '../../context/main' -import { delegate, majorToMinor, vestingDelegateToMixnode } from '../../requests' -import { Fee, TokenPoolSelector } from '../../components' +import React, { useEffect, useContext } from 'react'; +import { Box, Button, CircularProgress, FormControl, Grid, InputAdornment, TextField, Typography } from '@mui/material'; +import { yupResolver } from '@hookform/resolvers/yup'; +import { useForm } from 'react-hook-form'; +import { DelegationResult, EnumNodeType, TDelegateArgs } from '../../types'; +import { validationSchema } from './validationSchema'; +import { ClientContext } from '../../context/main'; +import { delegate, majorToMinor, vestingDelegateToMixnode } from '../../requests'; +import { Fee, TokenPoolSelector } from '../../components'; type TDelegateForm = { - identity: string - amount: string - tokenPool: string - type: EnumNodeType -} + identity: string; + amount: string; + tokenPool: string; + type: EnumNodeType; +}; const defaultValues: TDelegateForm = { identity: '', amount: '', tokenPool: 'balance', type: EnumNodeType.mixnode, -} +}; export const DelegateForm = ({ onError, onSuccess, }: { - onError: (message?: string) => void - onSuccess: (details: { amount: string; address: string }) => void + onError: (message?: string) => void; + onSuccess: (details: { amount: string; address: string }) => void; }) => { const { register, @@ -38,16 +38,16 @@ export const DelegateForm = ({ } = useForm<TDelegateForm>({ defaultValues, resolver: yupResolver(validationSchema), - }) + }); - const { userBalance, currency, clientDetails } = useContext(ClientContext) + const { userBalance, currency, clientDetails } = useContext(ClientContext); useEffect(() => { - reset() - }, [clientDetails]) + reset(); + }, [clientDetails]); const onSubmit = async (data: TDelegateForm, cb: (data: TDelegateArgs) => Promise<DelegationResult>) => { - const amount = await majorToMinor(data.amount) + const amount = await majorToMinor(data.amount); await cb({ type: data.type, @@ -56,17 +56,17 @@ export const DelegateForm = ({ }) .then(async (res) => { if (data.tokenPool === 'balance') { - await userBalance.fetchBalance() + await userBalance.fetchBalance(); } else { - await userBalance.fetchTokenAllocation() + await userBalance.fetchTokenAllocation(); } - onSuccess({ amount: data.amount, address: res.target_address }) + onSuccess({ amount: data.amount, address: res.target_address }); }) .catch((e) => { - console.log(e) - onError(e) - }) - } + console.log(e); + onError(e); + }); + }; return ( <FormControl fullWidth> @@ -139,5 +139,5 @@ export const DelegateForm = ({ </Button> </Box> </FormControl> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/delegate/SuccessView.tsx b/nym-wallet/src/pages/delegate/SuccessView.tsx index cefe695f9b..1f7fc21f63 100644 --- a/nym-wallet/src/pages/delegate/SuccessView.tsx +++ b/nym-wallet/src/pages/delegate/SuccessView.tsx @@ -1,10 +1,10 @@ -import React, { useContext } from 'react' -import { Box } from '@mui/system' -import { SuccessReponse, TransactionDetails } from '../../components' -import { ClientContext } from '../../context/main' +import React, { useContext } from 'react'; +import { Box } from '@mui/material'; +import { SuccessReponse, TransactionDetails } from '../../components'; +import { ClientContext } from '../../context/main'; export const SuccessView: React.FC<{ details?: { amount: string; address: string } }> = ({ details }) => { - const { userBalance, currency } = useContext(ClientContext) + const { userBalance, currency } = useContext(ClientContext); return ( <> <SuccessReponse @@ -23,5 +23,5 @@ export const SuccessView: React.FC<{ details?: { amount: string; address: string </Box> )} </> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/delegate/index.tsx b/nym-wallet/src/pages/delegate/index.tsx index 08aff68bb6..c85af44d2a 100644 --- a/nym-wallet/src/pages/delegate/index.tsx +++ b/nym-wallet/src/pages/delegate/index.tsx @@ -1,18 +1,18 @@ -import React, { useContext, useState } from 'react' -import { Alert, AlertTitle, Box, Button, Link, Typography } from '@mui/material' -import { DelegateForm } from './DelegateForm' -import { NymCard } from '../../components' -import { EnumRequestStatus, RequestStatus } from '../../components/RequestStatus' -import { SuccessView } from './SuccessView' -import { urls, ClientContext } from '../../context/main' -import { PageLayout } from '../../layouts' +import React, { useContext, useState } from 'react'; +import { Alert, AlertTitle, Box, Button, Link, Typography } from '@mui/material'; +import { DelegateForm } from './DelegateForm'; +import { NymCard } from '../../components'; +import { EnumRequestStatus, RequestStatus } from '../../components/RequestStatus'; +import { SuccessView } from './SuccessView'; +import { urls, ClientContext } from '../../context/main'; +import { PageLayout } from '../../layouts'; export const Delegate = () => { - const [status, setStatus] = useState<EnumRequestStatus>(EnumRequestStatus.initial) - const [error, setError] = useState<string>() - const [successDetails, setSuccessDetails] = useState<{ amount: string; address: string }>() + const [status, setStatus] = useState<EnumRequestStatus>(EnumRequestStatus.initial); + const [error, setError] = useState<string>(); + const [successDetails, setSuccessDetails] = useState<{ amount: string; address: string }>(); - const { network } = useContext(ClientContext) + const { network } = useContext(ClientContext); return ( <PageLayout> @@ -26,12 +26,12 @@ export const Delegate = () => { {status === EnumRequestStatus.initial && ( <DelegateForm onError={(message?: string) => { - setStatus(EnumRequestStatus.error) - setError(message) + setStatus(EnumRequestStatus.error); + setError(message); }} onSuccess={(details) => { - setStatus(EnumRequestStatus.success) - setSuccessDetails(details) + setStatus(EnumRequestStatus.success); + setSuccessDetails(details); }} /> )} @@ -63,7 +63,7 @@ export const Delegate = () => { disableElevation variant="contained" onClick={() => { - setStatus(EnumRequestStatus.initial) + setStatus(EnumRequestStatus.initial); }} > Finish @@ -81,5 +81,5 @@ export const Delegate = () => { for uptime and performances to help make delegation decisions </Typography> </PageLayout> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/delegate/validationSchema.ts b/nym-wallet/src/pages/delegate/validationSchema.ts index 7fb4a61cc8..e461086cfd 100644 --- a/nym-wallet/src/pages/delegate/validationSchema.ts +++ b/nym-wallet/src/pages/delegate/validationSchema.ts @@ -1,5 +1,5 @@ -import * as Yup from 'yup' -import { checkHasEnoughFunds, checkHasEnoughLockedTokens, validateAmount, validateKey } from '../../utils' +import * as Yup from 'yup'; +import { checkHasEnoughFunds, checkHasEnoughLockedTokens, validateAmount, validateKey } from '../../utils'; export const validationSchema = Yup.object().shape({ identity: Yup.string() @@ -7,29 +7,29 @@ export const validationSchema = Yup.object().shape({ .test( 'valid-id-key', 'A valid identity key is required e.g. 824WyExLUWvLE2mpSHBatN4AoByuLzfnHFeHWiBYzg4z', - (value) => (!!value ? validateKey(value, 32) : false), + (value) => (value ? validateKey(value, 32) : false), ), amount: Yup.string() .required() .test('valid-amount', 'A valid amount is required', async function (value) { - const isValid = await validateAmount(value || '', '0') + const isValid = await validateAmount(value || '', '0'); if (!isValid) { - return this.createError({ message: `A valid amount is required` }) + return this.createError({ message: `A valid amount is required` }); } else { - const hasEnoughBalance = await checkHasEnoughFunds(value || '') - const hasEnoughLocked = await checkHasEnoughLockedTokens(value || '') + const hasEnoughBalance = await checkHasEnoughFunds(value || ''); + const hasEnoughLocked = await checkHasEnoughLockedTokens(value || ''); if (this.parent.tokenPool === 'balance' && !hasEnoughBalance) { - return this.createError({ message: 'Not enough funds in wallet' }) + return this.createError({ message: 'Not enough funds in wallet' }); } if (this.parent.tokenPool === 'locked' && !hasEnoughLocked) { - return this.createError({ message: 'Not enough locked tokens' }) + return this.createError({ message: 'Not enough locked tokens' }); } } - return true + return true; }), -}) +}); diff --git a/nym-wallet/src/pages/index.ts b/nym-wallet/src/pages/index.ts index 15c1cce3d4..dc00ac2bb2 100644 --- a/nym-wallet/src/pages/index.ts +++ b/nym-wallet/src/pages/index.ts @@ -1,11 +1,11 @@ -export * from './Admin' -export * from './balance' -export * from './bond' -export * from './delegate' -export * from './internal-docs' -export * from './receive' -export * from './send' -export * from './welcome' -export * from './settings' -export * from './unbond' -export * from './undelegate' +export * from './Admin'; +export * from './balance'; +export * from './bond'; +export * from './delegate'; +export * from './internal-docs'; +export * from './receive'; +export * from './send'; +export * from './welcome'; +export * from './settings'; +export * from './unbond'; +export * from './undelegate'; diff --git a/nym-wallet/src/pages/internal-docs/ApiList.tsx b/nym-wallet/src/pages/internal-docs/ApiList.tsx index 997b177a00..4c3e3b9706 100644 --- a/nym-wallet/src/pages/internal-docs/ApiList.tsx +++ b/nym-wallet/src/pages/internal-docs/ApiList.tsx @@ -1,165 +1,163 @@ -import React from 'react' -import { List, ListItem } from '@mui/material' -import { DocEntry } from './DocEntry' +import React from 'react'; +import { List, ListItem } from '@mui/material'; +import { DocEntry } from './DocEntry'; -export const ApiList = () => { - return ( - <List> - <ListItem> - <DocEntry - function={{ - name: 'connect_with_mnemonic', - args: [{ name: 'mnemonic', type: 'str' }], - }} - /> - </ListItem> - <ListItem> - <DocEntry function={{ name: 'get_balance', args: [] }} /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'minor_to_major', - args: [{ name: 'amount', type: 'str' }], - }} - /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'major_to_minor', - args: [{ name: 'amount', type: 'str' }], - }} - /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'owns_mixnode', - args: [], - }} - /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'owns_gateway', - args: [], - }} - /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'bond_mixnode', - args: [ - { name: 'mixnode', type: 'object' }, - { name: 'bond', type: 'object' }, - ], - }} - /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'unbond_mixnode', - args: [], - }} - /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'bond_gateway', - args: [ - { name: 'gateway', type: 'object' }, - { name: 'bond', type: 'object' }, - ], - }} - /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'unbond_gateway', - args: [], - }} - /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'delegate_to_mixnode', - args: [ - { name: 'identity', type: 'str' }, - { name: 'amount', type: 'object' }, - ], - }} - /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'undelegate_from_mixnode', - args: [{ name: 'identity', type: 'str' }], - }} - /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'delegate_to_gateway', - args: [ - { name: 'identity', type: 'str' }, - { name: 'amount', type: 'object' }, - ], - }} - /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'undelegate_from_gateway', - args: [{ name: 'identity', type: 'str' }], - }} - /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'send', - args: [ - { name: 'address', type: 'str' }, - { name: 'amount', type: 'object' }, - { name: 'memo', type: 'str' }, - ], - }} - /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'outdated_get_approximate_fee', - args: [{ name: 'operation', type: 'str' }], - }} - /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'create_new_account', - args: [], - }} - /> - </ListItem> - <ListItem> - <DocEntry - function={{ - name: 'connect_with_mnemonic', - args: [{ name: 'mnemonic', type: 'str' }], - }} - /> - </ListItem> - </List> - ) -} +export const ApiList = () => ( + <List> + <ListItem> + <DocEntry + function={{ + name: 'connect_with_mnemonic', + args: [{ name: 'mnemonic', type: 'str' }], + }} + /> + </ListItem> + <ListItem> + <DocEntry function={{ name: 'get_balance', args: [] }} /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'minor_to_major', + args: [{ name: 'amount', type: 'str' }], + }} + /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'major_to_minor', + args: [{ name: 'amount', type: 'str' }], + }} + /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'owns_mixnode', + args: [], + }} + /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'owns_gateway', + args: [], + }} + /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'bond_mixnode', + args: [ + { name: 'mixnode', type: 'object' }, + { name: 'bond', type: 'object' }, + ], + }} + /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'unbond_mixnode', + args: [], + }} + /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'bond_gateway', + args: [ + { name: 'gateway', type: 'object' }, + { name: 'bond', type: 'object' }, + ], + }} + /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'unbond_gateway', + args: [], + }} + /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'delegate_to_mixnode', + args: [ + { name: 'identity', type: 'str' }, + { name: 'amount', type: 'object' }, + ], + }} + /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'undelegate_from_mixnode', + args: [{ name: 'identity', type: 'str' }], + }} + /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'delegate_to_gateway', + args: [ + { name: 'identity', type: 'str' }, + { name: 'amount', type: 'object' }, + ], + }} + /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'undelegate_from_gateway', + args: [{ name: 'identity', type: 'str' }], + }} + /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'send', + args: [ + { name: 'address', type: 'str' }, + { name: 'amount', type: 'object' }, + { name: 'memo', type: 'str' }, + ], + }} + /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'outdated_get_approximate_fee', + args: [{ name: 'operation', type: 'str' }], + }} + /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'create_new_account', + args: [], + }} + /> + </ListItem> + <ListItem> + <DocEntry + function={{ + name: 'connect_with_mnemonic', + args: [{ name: 'mnemonic', type: 'str' }], + }} + /> + </ListItem> + </List> +); diff --git a/nym-wallet/src/pages/internal-docs/DocEntry.tsx b/nym-wallet/src/pages/internal-docs/DocEntry.tsx index a417e75c4e..0901151b14 100644 --- a/nym-wallet/src/pages/internal-docs/DocEntry.tsx +++ b/nym-wallet/src/pages/internal-docs/DocEntry.tsx @@ -1,56 +1,50 @@ -import React from 'react' -import { Button, Card, CardContent, TextField } from '@mui/material' -import { invoke } from '@tauri-apps/api' +/* eslint-disable react/destructuring-assignment */ +import React from 'react'; +import { Button, Card, CardContent, TextField } from '@mui/material'; +import { invoke } from '@tauri-apps/api'; interface DocEntryProps { - function: FunctionDef + function: FunctionDef; } interface FunctionDef { - name: string - args: ArgDef[] + name: string; + args: ArgDef[]; } interface ArgDef { - name: string - type: string + name: string; + type: string; } -const argKey = (functionName: string, arg: string) => `${functionName}_${arg}` +const argKey = (functionName: string, arg: string) => `${functionName}_${arg}`; function collectArgs(functionName: string, args: ArgDef[]) { - let invokeArgs: { [key: string]: string } = {} + const invokeArgs: { [key: string]: string } = {}; args.forEach((arg) => { - let elem: HTMLElement | null = document.getElementById( - argKey(functionName, arg.name), - ) + const elem: HTMLElement | null = document.getElementById(argKey(functionName, arg.name)); if (arg.type === 'object') { - console.log(arg) - invokeArgs[arg.name] = JSON.parse((elem as HTMLInputElement).value) + invokeArgs[arg.name] = JSON.parse((elem as HTMLInputElement).value); } else { - invokeArgs[arg.name] = (elem as HTMLInputElement).value || '' + invokeArgs[arg.name] = (elem as HTMLInputElement).value || ''; } - }) - console.log(invokeArgs) - return invokeArgs + }); + return invokeArgs; } -export const DocEntry = (props: DocEntryProps) => { - const [card, setCard] = React.useState(<Card />) +export const DocEntry: React.FC<DocEntryProps> = (props) => { + const [card, setCard] = React.useState(<Card />); const onClick = () => { - invoke( - props.function.name, - collectArgs(props.function.name, props.function.args), - ) + invoke(props.function.name, collectArgs(props.function.name, props.function.args)) .then((result) => { setCard( <Card> <CardContent>{JSON.stringify(result, null, 4)}</CardContent> </Card>, - ) + ); }) .catch((e) => setCard( @@ -58,26 +52,15 @@ export const DocEntry = (props: DocEntryProps) => { <CardContent>{e}</CardContent> </Card>, ), - ) - } + ); + }; return ( <div> - <Button - variant="contained" - color="primary" - size="small" - disableElevation - onClick={onClick} - > + <Button variant="contained" color="primary" size="small" disableElevation onClick={onClick}> {props.function.name} </Button> - <Button - variant="contained" - size="small" - disableElevation - onClick={() => setCard(<Card />)} - > + <Button variant="contained" size="small" disableElevation onClick={() => setCard(<Card />)}> X </Button> <div> @@ -92,5 +75,5 @@ export const DocEntry = (props: DocEntryProps) => { <br /> {card} </div> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/internal-docs/index.tsx b/nym-wallet/src/pages/internal-docs/index.tsx index 7ce655fe67..85027ace83 100644 --- a/nym-wallet/src/pages/internal-docs/index.tsx +++ b/nym-wallet/src/pages/internal-docs/index.tsx @@ -1,18 +1,18 @@ -import React, { useContext } from 'react' -import { NymCard } from '../../components' -import { ApiList } from './ApiList' +import React, { useContext } from 'react'; +import { NymCard } from '../../components'; +import { ApiList } from './ApiList'; -import { ADMIN_ADDRESS, ClientContext } from '../../context/main' +import { ADMIN_ADDRESS, ClientContext } from '../../context/main'; export const InternalDocs = () => { - const { clientDetails } = useContext(ClientContext) + const { clientDetails } = useContext(ClientContext); if (clientDetails?.client_address === ADMIN_ADDRESS) { return ( <NymCard title="Docs" subheader="Internal API docs"> <ApiList /> </NymCard> - ) + ); } - return null -} + return null; +}; diff --git a/nym-wallet/src/pages/receive/index.tsx b/nym-wallet/src/pages/receive/index.tsx index a47a965b16..2c3f229560 100644 --- a/nym-wallet/src/pages/receive/index.tsx +++ b/nym-wallet/src/pages/receive/index.tsx @@ -1,12 +1,12 @@ -import React, { useContext } from 'react' -import QRCode from 'qrcode.react' -import { Alert, Box, Stack } from '@mui/material' -import { ClientAddress, NymCard } from '../../components' -import { ClientContext } from '../../context/main' -import { PageLayout } from '../../layouts' +import React, { useContext } from 'react'; +import QRCode from 'qrcode.react'; +import { Alert, Box, Stack } from '@mui/material'; +import { ClientAddress, NymCard } from '../../components'; +import { ClientContext } from '../../context/main'; +import { PageLayout } from '../../layouts'; export const Receive = () => { - const { clientDetails, currency } = useContext(ClientContext) + const { clientDetails, currency } = useContext(ClientContext); return ( <PageLayout> @@ -22,5 +22,5 @@ export const Receive = () => { </Stack> </NymCard> </PageLayout> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/send/SendConfirmation.tsx b/nym-wallet/src/pages/send/SendConfirmation.tsx index fd9c2fffd2..560136bc21 100644 --- a/nym-wallet/src/pages/send/SendConfirmation.tsx +++ b/nym-wallet/src/pages/send/SendConfirmation.tsx @@ -1,21 +1,21 @@ -import React, { useContext } from 'react' -import { Box, CircularProgress, Link, Typography } from '@mui/material' -import { SendError } from './SendError' -import { ClientContext, urls } from '../../context/main' -import { SuccessReponse } from '../../components' -import { TransactionDetails } from '../../components/TransactionDetails' -import { TransactionDetails as TTransactionDetails } from '../../types' +import React, { useContext } from 'react'; +import { Box, CircularProgress, Link, Typography } from '@mui/material'; +import { SendError } from './SendError'; +import { ClientContext, urls } from '../../context/main'; +import { SuccessReponse } from '../../components'; +import { TransactionDetails } from '../../components/TransactionDetails'; +import { TransactionDetails as TTransactionDetails } from '../../types'; export const SendConfirmation = ({ data, error, isLoading, }: { - data?: TTransactionDetails & { tx_hash: string } - error?: string - isLoading: boolean + data?: TTransactionDetails & { tx_hash: string }; + error?: string; + isLoading: boolean; }) => { - const { userBalance, currency, network } = useContext(ClientContext) + const { userBalance, currency, network } = useContext(ClientContext); return ( <Box sx={{ @@ -55,5 +55,5 @@ export const SendConfirmation = ({ </> )} </Box> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/send/SendError.tsx b/nym-wallet/src/pages/send/SendError.tsx index 738acbfdd3..0eac30b87d 100644 --- a/nym-wallet/src/pages/send/SendError.tsx +++ b/nym-wallet/src/pages/send/SendError.tsx @@ -1,38 +1,36 @@ -import React from 'react' -import { Alert, Box, Card, Typography } from '@mui/material' -import { ErrorOutline } from '@mui/icons-material' +import React from 'react'; +import { Alert, Box, Card, Typography } from '@mui/material'; +import { ErrorOutline } from '@mui/icons-material'; -export const SendError = ({ message }: { message?: string }) => { - return ( - <Box - sx={{ - display: 'flex', - flexDirection: 'column', - alignItems: 'center', - justifyContent: 'center', - width: '100%', - }} - > - <> - <Box - sx={{ - display: 'flex', - flexDirection: 'column', - alignItems: 'center', - justifyContent: 'center', - mb: 4, - }} - > - <ErrorOutline sx={{ fontSize: 50, color: 'error.main' }} /> - <Typography>Transaction failed</Typography> - </Box> +export const SendError = ({ message }: { message?: string }) => ( + <Box + sx={{ + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + width: '100%', + }} + > + <> + <Box + sx={{ + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + mb: 4, + }} + > + <ErrorOutline sx={{ fontSize: 50, color: 'error.main' }} /> + <Typography>Transaction failed</Typography> + </Box> - <Card variant="outlined" sx={{ width: '100%', p: 2 }}> - <Alert severity="error" data-testid="transaction-error"> - An error occured during the request {message} - </Alert> - </Card> - </> - </Box> - ) -} + <Card variant="outlined" sx={{ width: '100%', p: 2 }}> + <Alert severity="error" data-testid="transaction-error"> + An error occured during the request {message} + </Alert> + </Card> + </> + </Box> +); diff --git a/nym-wallet/src/pages/send/SendForm.tsx b/nym-wallet/src/pages/send/SendForm.tsx index 561c2e5e50..a3e112bd02 100644 --- a/nym-wallet/src/pages/send/SendForm.tsx +++ b/nym-wallet/src/pages/send/SendForm.tsx @@ -1,15 +1,15 @@ -import React, { useContext } from 'react' -import { Grid, InputAdornment, TextField } from '@mui/material' -import { useFormContext } from 'react-hook-form' -import { ClientContext } from '../../context/main' -import { Fee, ClientAddress } from '../../components' +import React, { useContext } from 'react'; +import { Grid, InputAdornment, TextField } from '@mui/material'; +import { useFormContext } from 'react-hook-form'; +import { ClientContext } from '../../context/main'; +import { Fee, ClientAddress } from '../../components'; export const SendForm = () => { const { register, formState: { errors }, - } = useFormContext() - const { currency } = useContext(ClientContext) + } = useFormContext(); + const { currency } = useContext(ClientContext); return ( <Grid container spacing={3}> @@ -47,5 +47,5 @@ export const SendForm = () => { <Fee feeType="Send" /> </Grid> </Grid> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/send/SendReview.tsx b/nym-wallet/src/pages/send/SendReview.tsx index 2b0cef1dbd..11e78d1ad1 100644 --- a/nym-wallet/src/pages/send/SendReview.tsx +++ b/nym-wallet/src/pages/send/SendReview.tsx @@ -1,13 +1,22 @@ -import React, { useContext } from 'react' -import { Card, Divider, Grid, Typography } from '@mui/material' -import { useFormContext } from 'react-hook-form' -import { ClientContext } from '../../context/main' +import React, { useContext } from 'react'; +import { Card, Divider, Grid, Typography } from '@mui/material'; +import { useFormContext } from 'react-hook-form'; +import { ClientContext } from '../../context/main'; + +const SendReviewField = ({ title, subtitle, info }: { title: string; subtitle?: string; info?: boolean }) => ( + <> + <Typography sx={{ color: info ? 'nym.fee' : '' }}>{title}</Typography> + <Typography data-testid={title} sx={{ color: info ? 'nym.fee' : '', wordBreak: 'break-all' }}> + {subtitle} + </Typography> + </> +); export const SendReview = ({ transferFee }: { transferFee?: string }) => { - const { getValues } = useFormContext() - const { clientDetails, currency } = useContext(ClientContext) + const { getValues } = useFormContext(); + const { clientDetails, currency } = useContext(ClientContext); - const values = getValues() + const values = getValues(); return ( <Card @@ -44,16 +53,5 @@ export const SendReview = ({ transferFee }: { transferFee?: string }) => { </Grid> </Grid> </Card> - ) -} - -export const SendReviewField = ({ title, subtitle, info }: { title: string; subtitle?: string; info?: boolean }) => { - return ( - <> - <Typography sx={{ color: info ? 'nym.fee' : '' }}>{title}</Typography> - <Typography data-testid={title} sx={{ color: info ? 'nym.fee' : '', wordBreak: 'break-all' }}> - {subtitle} - </Typography> - </> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/send/SendWizard.tsx b/nym-wallet/src/pages/send/SendWizard.tsx index 91e06d5d62..58271e64c9 100644 --- a/nym-wallet/src/pages/send/SendWizard.tsx +++ b/nym-wallet/src/pages/send/SendWizard.tsx @@ -1,104 +1,105 @@ -import React, { useEffect, useContext, useState } from 'react' -import { useForm, FormProvider } from 'react-hook-form' -import { yupResolver } from '@hookform/resolvers/yup' -import { Box, Button, Step, StepLabel, Stepper } from '@mui/material' -import { SendForm } from './SendForm' -import { SendReview } from './SendReview' -import { SendConfirmation } from './SendConfirmation' -import { ClientContext } from '../../context/main' -import { validationSchema } from './validationSchema' -import { TauriTxResult, TransactionDetails } from '../../types' -import { getGasFee, majorToMinor, send } from '../../requests' -import { checkHasEnoughFunds } from '../../utils' +import React, { useEffect, useContext, useState } from 'react'; +import { useForm, FormProvider } from 'react-hook-form'; +import { yupResolver } from '@hookform/resolvers/yup'; +import { Box, Button, Step, StepLabel, Stepper } from '@mui/material'; +import { SendForm } from './SendForm'; +import { SendReview } from './SendReview'; +import { SendConfirmation } from './SendConfirmation'; +import { ClientContext } from '../../context/main'; +import { validationSchema } from './validationSchema'; +import { TauriTxResult, TransactionDetails } from '../../types'; +import { getGasFee, majorToMinor, send } from '../../requests'; +import { checkHasEnoughFunds } from '../../utils'; const defaultValues = { amount: '', memo: '', to: '', -} +}; export type TFormData = { - amount: string - memo: string - to: string -} + amount: string; + memo: string; + to: string; +}; export const SendWizard = () => { - const [activeStep, setActiveStep] = useState(0) - const [isLoading, setIsLoading] = useState(false) - const [requestError, setRequestError] = useState<string>() - const [transferFee, setTransferFee] = useState<string>() - const [confirmedData, setConfirmedData] = useState<TransactionDetails & { tx_hash: string }>() + const [activeStep, setActiveStep] = useState(0); + const [isLoading, setIsLoading] = useState(false); + const [requestError, setRequestError] = useState<string>(); + const [transferFee, setTransferFee] = useState<string>(); + const [confirmedData, setConfirmedData] = useState<TransactionDetails & { tx_hash: string }>(); - const { userBalance } = useContext(ClientContext) + const { userBalance } = useContext(ClientContext); useEffect(() => { const getFee = async () => { - const fee = await getGasFee('Send') - setTransferFee(fee.amount) - } - getFee() - }, []) + const fee = await getGasFee('Send'); + setTransferFee(fee.amount); + }; + getFee(); + }, []); - const steps = ['Enter address', 'Review and send', 'Await confirmation'] + const steps = ['Enter address', 'Review and send', 'Await confirmation']; const methods = useForm<TFormData>({ defaultValues: { ...defaultValues, }, resolver: yupResolver(validationSchema), - }) + }); - const handleNextStep = methods.handleSubmit(() => setActiveStep((s) => s + 1)) + const handleNextStep = methods.handleSubmit(() => setActiveStep((s) => s + 1)); - const handlePreviousStep = () => setActiveStep((s) => s - 1) + const handlePreviousStep = () => setActiveStep((s) => s - 1); const handleFinish = () => { - methods.reset() - setIsLoading(false) - setRequestError(undefined) - setConfirmedData(undefined) - setActiveStep(0) - } + methods.reset(); + setIsLoading(false); + setRequestError(undefined); + setConfirmedData(undefined); + setActiveStep(0); + }; const handleSend = async () => { - const formState = methods.getValues() + const formState = methods.getValues(); - const hasEnoughFunds = await checkHasEnoughFunds(formState.amount) + const hasEnoughFunds = await checkHasEnoughFunds(formState.amount); if (!hasEnoughFunds) { methods.setError('amount', { message: 'Not enough funds in wallet', - }) - return handlePreviousStep() - } else { - setIsLoading(true) - setActiveStep((s) => s + 1) - const amount = await majorToMinor(formState.amount) - - send({ - amount, - address: formState.to, - memo: formState.memo, - }) - .then((res: TauriTxResult) => { - const { details, tx_hash } = res - - setActiveStep((s) => s + 1) - setConfirmedData({ - ...details, - amount: { denom: 'Major', amount: formState.amount }, - tx_hash, - }) - setIsLoading(false) - userBalance.fetchBalance() - }) - .catch((e) => { - setRequestError(e) - setIsLoading(false) - console.log(e) - }) + }); + handlePreviousStep(); + return; } - } + setIsLoading(true); + setActiveStep((s) => s + 1); + const amount = await majorToMinor(formState.amount); + + send({ + amount, + address: formState.to, + memo: formState.memo, + }) + .then((res: TauriTxResult) => { + // eslint-disable-next-line @typescript-eslint/naming-convention + const { details, tx_hash } = res; + + setActiveStep((s) => s + 1); + setConfirmedData({ + ...details, + amount: { denom: 'Major', amount: formState.amount }, + tx_hash, + }); + setIsLoading(false); + userBalance.fetchBalance(); + }) + .catch((e) => { + setRequestError(e); + setIsLoading(false); + console.error(e); + }); + }; return ( <FormProvider {...methods}> @@ -109,8 +110,8 @@ export const SendWizard = () => { p: 2, }} > - {steps.map((s, i) => ( - <Step key={i}> + {steps.map((s) => ( + <Step key={s}> <StepLabel>{s}</StepLabel> </Step> ))} @@ -160,5 +161,5 @@ export const SendWizard = () => { </Box> </Box> </FormProvider> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/send/index.tsx b/nym-wallet/src/pages/send/index.tsx index 2d72b55bf5..45fd829eaf 100644 --- a/nym-wallet/src/pages/send/index.tsx +++ b/nym-wallet/src/pages/send/index.tsx @@ -1,16 +1,16 @@ -import React, { useContext } from 'react' -import { NymCard } from '../../components' -import { SendWizard } from './SendWizard' -import { ClientContext } from '../../context/main' -import { PageLayout } from '../../layouts' +import React, { useContext } from 'react'; +import { NymCard } from '../../components'; +import { SendWizard } from './SendWizard'; +import { ClientContext } from '../../context/main'; +import { PageLayout } from '../../layouts'; export const Send = () => { - const { currency } = useContext(ClientContext) + const { currency } = useContext(ClientContext); return ( <PageLayout> <NymCard title={`Send ${currency?.major}`} noPadding> <SendWizard /> </NymCard> </PageLayout> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/send/validationSchema.ts b/nym-wallet/src/pages/send/validationSchema.ts index cde14baf11..8118c03905 100644 --- a/nym-wallet/src/pages/send/validationSchema.ts +++ b/nym-wallet/src/pages/send/validationSchema.ts @@ -1,11 +1,9 @@ -import * as Yup from 'yup' -import { validateAmount } from '../../utils' +import * as Yup from 'yup'; +import { validateAmount } from '../../utils'; export const validationSchema = Yup.object().shape({ to: Yup.string().strict().trim('Cannot have leading space').required(), amount: Yup.string() .required() - .test('valid-amount', 'A valid amount is required', (amount) => { - return validateAmount(amount || '0', '0') - }), -}) + .test('valid-amount', 'A valid amount is required', (amount) => validateAmount(amount || '0', '0')), +}); diff --git a/nym-wallet/src/pages/settings/index.tsx b/nym-wallet/src/pages/settings/index.tsx index 3bc4590bc8..8a342796e8 100644 --- a/nym-wallet/src/pages/settings/index.tsx +++ b/nym-wallet/src/pages/settings/index.tsx @@ -1,31 +1,31 @@ -import React, { useContext, useEffect, useState } from 'react' -import { Alert, Box, Dialog } from '@mui/material' -import { NymCard } from '../../components' -import { ClientContext } from '../../context/main' -import { Tabs } from './tabs' -import { Profile } from './profile' -import { SystemVariables } from './system-variables' -import { NodeStats } from './node-stats' -import { useSettingsState } from './useSettingsState' -import { NodeStatus } from '../../components/NodeStatus' -import { Node as NodeIcon } from '../../svg-icons/node' +import React, { useContext, useEffect, useState } from 'react'; +import { Alert, Box, Dialog } from '@mui/material'; +import { NymCard } from '../../components'; +import { ClientContext } from '../../context/main'; +import { Tabs } from './tabs'; +import { Profile } from './profile'; +import { SystemVariables } from './system-variables'; +import { NodeStats } from './node-stats'; +import { useSettingsState } from './useSettingsState'; +import { NodeStatus } from '../../components/NodeStatus'; +import { Node as NodeIcon } from '../../svg-icons/node'; -const tabs = ['Profile', 'System variables', 'Node stats'] +const tabs = ['Profile', 'System variables', 'Node stats']; export const Settings = () => { - const [selectedTab, setSelectedTab] = useState(0) + const [selectedTab, setSelectedTab] = useState(0); - const { mixnodeDetails, showSettings, getBondDetails, handleShowSettings } = useContext(ClientContext) - const { status, saturation, rewardEstimation, inclusionProbability } = useSettingsState(showSettings) + const { mixnodeDetails, showSettings, getBondDetails, handleShowSettings } = useContext(ClientContext); + const { status, saturation, rewardEstimation, inclusionProbability } = useSettingsState(showSettings); - const handleTabChange = (_: React.SyntheticEvent, newTab: number) => setSelectedTab(newTab) + const handleTabChange = (_: React.SyntheticEvent, newTab: number) => setSelectedTab(newTab); useEffect(() => { - getBondDetails() - }, [showSettings, selectedTab]) + getBondDetails(); + }, [showSettings, selectedTab]); return showSettings ? ( - <Dialog open={true} onClose={handleShowSettings} maxWidth="md" fullWidth> + <Dialog open onClose={handleShowSettings} maxWidth="md" fullWidth> <NymCard title={ <Box display="flex" alignItems="center"> @@ -40,7 +40,7 @@ export const Settings = () => { <Tabs tabs={tabs} selectedTab={selectedTab} onChange={handleTabChange} disabled={!mixnodeDetails} /> {!mixnodeDetails && ( <Alert severity="info" sx={{ m: 4 }}> - You don't currently have a node running + You do not currently have a node running </Alert> )} {selectedTab === 0 && <Profile />} @@ -55,5 +55,5 @@ export const Settings = () => { </> </NymCard> </Dialog> - ) : null -} + ) : null; +}; diff --git a/nym-wallet/src/pages/settings/node-stats.tsx b/nym-wallet/src/pages/settings/node-stats.tsx index ae072c6e24..5d402649d2 100644 --- a/nym-wallet/src/pages/settings/node-stats.tsx +++ b/nym-wallet/src/pages/settings/node-stats.tsx @@ -1,10 +1,10 @@ -import React, { useContext } from 'react' -import { OpenInNew } from '@mui/icons-material' -import { Button, Link, Stack, Typography } from '@mui/material' -import { urls, ClientContext} from '../../context/main' +import React, { useContext } from 'react'; +import { OpenInNew } from '@mui/icons-material'; +import { Button, Link, Stack, Typography } from '@mui/material'; +import { urls, ClientContext } from '../../context/main'; export const NodeStats = ({ mixnodeId }: { mixnodeId?: string }) => { - const {network} = useContext(ClientContext) + const { network } = useContext(ClientContext); return ( <Stack spacing={2} sx={{ p: 4 }}> <Typography>All your node stats are available on the link below</Typography> @@ -12,5 +12,5 @@ export const NodeStats = ({ mixnodeId }: { mixnodeId?: string }) => { <Button endIcon={<OpenInNew />}>Network Explorer</Button> </Link> </Stack> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/settings/profile.tsx b/nym-wallet/src/pages/settings/profile.tsx index c3a6a97117..9bada90623 100644 --- a/nym-wallet/src/pages/settings/profile.tsx +++ b/nym-wallet/src/pages/settings/profile.tsx @@ -1,12 +1,11 @@ -import React, { useContext } from 'react' -import { Button, Divider, Stack, TextField, Typography } from '@mui/material' -import { Box } from '@mui/system' -import { ClientContext } from '../../context/main' +import React, { useContext } from 'react'; +import { Box, Button, Divider, Stack, TextField, Typography } from '@mui/material'; +import { ClientContext } from '../../context/main'; export const Profile = () => { - const { mixnodeDetails } = useContext(ClientContext) + const { mixnodeDetails } = useContext(ClientContext); - if (!mixnodeDetails) return null + if (!mixnodeDetails) return null; return ( <> @@ -34,5 +33,5 @@ export const Profile = () => { </Button> </Box> </> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/settings/system-variables.tsx b/nym-wallet/src/pages/settings/system-variables.tsx index 85bfa71381..22fab23fd2 100644 --- a/nym-wallet/src/pages/settings/system-variables.tsx +++ b/nym-wallet/src/pages/settings/system-variables.tsx @@ -1,28 +1,62 @@ -import React, { useContext, useEffect, useState } from 'react' -import { Box, Button, CircularProgress, Grid, LinearProgress, Stack, TextField, Typography } from '@mui/material' -import { PercentOutlined } from '@mui/icons-material' -import { yupResolver } from '@hookform/resolvers/yup' -import { useForm } from 'react-hook-form' -import { InfoTooltip } from '../../components/InfoToolTip' -import { InclusionProbabilityResponse, TMixnodeBondDetails } from '../../types' -import { validationSchema } from './validationSchema' -import { updateMixnode, vestingUpdateMixnode } from '../../requests' -import { useCheckOwnership } from '../../hooks/useCheckOwnership' -import { ClientContext } from '../../context/main' -import { Fee } from '../../components' +import React, { useContext, useState } from 'react'; +import { Box, Button, CircularProgress, Grid, LinearProgress, Stack, TextField, Typography } from '@mui/material'; +import { PercentOutlined } from '@mui/icons-material'; +import { yupResolver } from '@hookform/resolvers/yup'; +import { useForm } from 'react-hook-form'; +import { Fee, InfoTooltip } from '../../components'; +import { InclusionProbabilityResponse } from '../../types'; +import { validationSchema } from './validationSchema'; +import { updateMixnode, vestingUpdateMixnode } from '../../requests'; +import { ClientContext } from '../../context/main'; +import { useCheckOwnership } from 'src/hooks/useCheckOwnership'; + +const DataField = ({ title, info, Indicator }: { title: string; info: string; Indicator: React.ReactElement }) => ( + <Grid container justifyContent="space-between"> + <Grid item xs={12} md={6}> + <Box display="flex" alignItems="center"> + <InfoTooltip title={info} tooltipPlacement="right" /> + <Typography sx={{ ml: 1 }}>{title}</Typography> + </Box> + </Grid> + + <Grid item xs={12} md={6}> + <Box display="flex" justifyContent="flex-end"> + {Indicator} + </Box> + </Grid> + </Grid> +); + +const PercentIndicator = ({ value, warning }: { value: number; warning?: boolean }) => ( + <Grid container alignItems="center"> + <Grid item xs={2}> + <Typography component="span" sx={{ color: warning ? 'error.main' : 'nym.fee', fontWeight: 600 }}> + {value}% + </Typography> + </Grid> + <Grid item xs={10}> + <LinearProgress + color="inherit" + sx={{ color: warning ? 'error.main' : 'nym.fee' }} + variant="determinate" + value={value < 100 ? value : 100} + /> + </Grid> + </Grid> +); export const SystemVariables = ({ saturation, rewardEstimation, inclusionProbability, }: { - saturation: number - rewardEstimation: number - inclusionProbability: InclusionProbabilityResponse + saturation: number; + rewardEstimation: number; + inclusionProbability: InclusionProbabilityResponse; }) => { - const [nodeUpdateResponse, setNodeUpdateResponse] = useState<'success' | 'failed'>() - const { currency, mixnodeDetails, getBondDetails } = useContext(ClientContext) - const { ownership } = useCheckOwnership() + const [nodeUpdateResponse, setNodeUpdateResponse] = useState<'success' | 'failed'>(); + const { currency, mixnodeDetails, getBondDetails } = useContext(ClientContext); + const { ownership } = useCheckOwnership(); const { register, @@ -31,7 +65,7 @@ export const SystemVariables = ({ } = useForm({ resolver: yupResolver(validationSchema), defaultValues: { profitMarginPercent: mixnodeDetails?.mix_node.profit_margin_percent }, - }) + }); const onSubmit = async ( profitMarginPercent: number | undefined, @@ -39,16 +73,16 @@ export const SystemVariables = ({ ) => { if (profitMarginPercent) { try { - await cb(profitMarginPercent) - setNodeUpdateResponse('success') + await cb(profitMarginPercent); + setNodeUpdateResponse('success'); } catch (e) { - setNodeUpdateResponse('failed') - console.log(e) + setNodeUpdateResponse('failed'); + console.log(e); } } - } + }; - if (!mixnodeDetails) return null + if (!mixnodeDetails) return null; return ( <> @@ -58,7 +92,7 @@ export const SystemVariables = ({ {...register('profitMarginPercent', { valueAsNumber: true })} label="Profit margin" helperText={ - !!errors.profitMarginPercent + errors.profitMarginPercent ? errors.profitMarginPercent.message : "The percentage of your delegators' rewards that you as the node operator will take" } @@ -125,42 +159,5 @@ export const SystemVariables = ({ </Button> </Box> </> - ) -} - -const DataField = ({ title, info, Indicator }: { title: string; info: string; Indicator: React.ReactElement }) => ( - <Grid container justifyContent="space-between"> - <Grid item xs={12} md={6}> - <Box display="flex" alignItems="center"> - <InfoTooltip title={info} tooltipPlacement="right" /> - <Typography sx={{ ml: 1 }}>{title}</Typography> - </Box> - </Grid> - - <Grid item xs={12} md={6}> - <Box display="flex" justifyContent="flex-end"> - {Indicator} - </Box> - </Grid> - </Grid> -) - -const PercentIndicator = ({ value, warning }: { value: number; warning?: boolean }) => { - return ( - <Grid container alignItems="center"> - <Grid item xs={2}> - <Typography component="span" sx={{ color: warning ? 'error.main' : 'nym.fee', fontWeight: 600 }}> - {value}% - </Typography> - </Grid> - <Grid item xs={10}> - <LinearProgress - color="inherit" - sx={{ color: warning ? 'error.main' : 'nym.fee' }} - variant="determinate" - value={value < 100 ? value : 100} - /> - </Grid> - </Grid> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/settings/tabs.tsx b/nym-wallet/src/pages/settings/tabs.tsx index bcebe5137d..3b782f9570 100644 --- a/nym-wallet/src/pages/settings/tabs.tsx +++ b/nym-wallet/src/pages/settings/tabs.tsx @@ -1,12 +1,11 @@ -import React from 'react' -import { Box } from '@mui/system' -import { Tab, Tabs as MuiTabs } from '@mui/material' +import React from 'react'; +import { Tab, Tabs as MuiTabs, Box } from '@mui/material'; export const Tabs: React.FC<{ - tabs: string[] - selectedTab: number - disabled: boolean - onChange: (event: React.SyntheticEvent, tab: number) => void + tabs: string[]; + selectedTab: number; + disabled: boolean; + onChange: (event: React.SyntheticEvent, tab: number) => void; }> = ({ tabs, selectedTab, disabled, onChange }) => ( <MuiTabs value={selectedTab} @@ -14,10 +13,10 @@ export const Tabs: React.FC<{ sx={{ bgcolor: 'grey.200', borderTop: '1px solid', borderBottom: '1px solid', borderColor: 'grey.300' }} textColor="inherit" > - {tabs.map((tabName, index) => ( - <Tab key={index} label={tabName} sx={{ textTransform: 'capitalize' }} disabled={disabled} /> + {tabs.map((tabName) => ( + <Tab key={tabName} label={tabName} sx={{ textTransform: 'capitalize' }} disabled={disabled} /> ))} </MuiTabs> -) +); -export const TabPanel: React.FC = ({ children }) => <Box sx={{ p: 4 }}>{children}</Box> +export const TabPanel: React.FC = ({ children }) => <Box sx={{ p: 4 }}>{children}</Box>; diff --git a/nym-wallet/src/pages/settings/useSettingsState.ts b/nym-wallet/src/pages/settings/useSettingsState.ts index c6d6fce298..1be1bd15b6 100644 --- a/nym-wallet/src/pages/settings/useSettingsState.ts +++ b/nym-wallet/src/pages/settings/useSettingsState.ts @@ -1,79 +1,81 @@ -import { useContext, useEffect, useState } from 'react' -import { ClientContext } from '../../context/main' +import { useContext, useEffect, useState } from 'react'; +import { ClientContext } from '../../context/main'; import { getMixnodeRewardEstimation, getMixnodeStakeSaturation, getMixnodeStatus, minorToMajor, getInclusionProbability, -} from '../../requests' -import { MixnodeStatus, InclusionProbabilityResponse } from '../../types' +} from '../../requests'; +import { MixnodeStatus, InclusionProbabilityResponse } from '../../types'; export const useSettingsState = (shouldUpdate: boolean) => { - const [status, setStatus] = useState<MixnodeStatus>('not_found') - const [saturation, setSaturation] = useState<number>(0) - const [rewardEstimation, setRewardEstimation] = useState<number>(0) + const [status, setStatus] = useState<MixnodeStatus>('not_found'); + const [saturation, setSaturation] = useState<number>(0); + const [rewardEstimation, setRewardEstimation] = useState<number>(0); const [inclusionProbability, setInclusionProbability] = useState<InclusionProbabilityResponse>({ in_active: 0, in_reserve: 0, - }) + }); - const { mixnodeDetails } = useContext(ClientContext) + const { mixnodeDetails } = useContext(ClientContext); const getStatus = async (mixnodeKey: string) => { - const status = await getMixnodeStatus(mixnodeKey) - setStatus(status.status) - } + const newStatus = await getMixnodeStatus(mixnodeKey); + setStatus(newStatus.status); + }; const getStakeSaturation = async (mixnodeKey: string) => { - const saturation = await getMixnodeStakeSaturation(mixnodeKey) + const newSaturation = await getMixnodeStakeSaturation(mixnodeKey); - if (saturation) { - setSaturation(Math.round(saturation.saturation * 100)) + if (newSaturation) { + setSaturation(Math.round(newSaturation.saturation * 100)); } - } + }; const getRewardEstimation = async (mixnodeKey: string) => { - const rewardEstimation = await getMixnodeRewardEstimation(mixnodeKey) - if (rewardEstimation) { - const toMajor = await minorToMajor(rewardEstimation.estimated_total_node_reward.toString()) - setRewardEstimation(parseInt(toMajor.amount)) + const newRewardEstimation = await getMixnodeRewardEstimation(mixnodeKey); + if (newRewardEstimation) { + const toMajor = await minorToMajor(newRewardEstimation.estimated_total_node_reward.toString()); + setRewardEstimation(parseInt(toMajor.amount, Number(10))); } - } + }; const getMixnodeInclusionProbability = async (mixnodeKey: string) => { - const probability = await getInclusionProbability(mixnodeKey) + const probability = await getInclusionProbability(mixnodeKey); if (probability) { - const in_active = Math.round(probability.in_active * 100) - const in_reserve = Math.round(probability.in_reserve * 100) - setInclusionProbability({ in_active, in_reserve }) + // eslint-disable-next-line @typescript-eslint/naming-convention + const in_active = Math.round(probability.in_active * 100); + // eslint-disable-next-line @typescript-eslint/naming-convention + const in_reserve = Math.round(probability.in_reserve * 100); + setInclusionProbability({ in_active, in_reserve }); } - } + }; const reset = () => { - setStatus('not_found') - setSaturation(0) - setRewardEstimation(0) - setInclusionProbability({ in_active: 0, in_reserve: 0 }) - } + setStatus('not_found'); + setSaturation(0); + setRewardEstimation(0); + setInclusionProbability({ in_active: 0, in_reserve: 0 }); + }; useEffect(() => { if (shouldUpdate && mixnodeDetails?.mix_node.identity_key) { - ;(async () => { - await getStatus(mixnodeDetails?.mix_node.identity_key) - await getStakeSaturation(mixnodeDetails?.mix_node.identity_key) - await getRewardEstimation(mixnodeDetails?.mix_node.identity_key) - await getMixnodeInclusionProbability(mixnodeDetails?.mix_node.identity_key) - })() + (async () => { + await getStatus(mixnodeDetails?.mix_node.identity_key); + await getStakeSaturation(mixnodeDetails?.mix_node.identity_key); + await getRewardEstimation(mixnodeDetails?.mix_node.identity_key); + await getMixnodeInclusionProbability(mixnodeDetails?.mix_node.identity_key); + })(); } else { - reset() + reset(); } - }, [shouldUpdate]) + }, [shouldUpdate]); return { status, saturation, rewardEstimation, inclusionProbability, - } -} + }; +}; diff --git a/nym-wallet/src/pages/settings/validationSchema.ts b/nym-wallet/src/pages/settings/validationSchema.ts index 5b96add517..864890d51f 100644 --- a/nym-wallet/src/pages/settings/validationSchema.ts +++ b/nym-wallet/src/pages/settings/validationSchema.ts @@ -1,5 +1,5 @@ -import * as Yup from 'yup' +import * as Yup from 'yup'; export const validationSchema = Yup.object({ profitMarginPercent: Yup.number().typeError('profit margin percent must be a number').min(0).max(100).required(), -}) +}); diff --git a/nym-wallet/src/pages/unbond/index.tsx b/nym-wallet/src/pages/unbond/index.tsx index 33161ddf2c..ac727d1531 100644 --- a/nym-wallet/src/pages/unbond/index.tsx +++ b/nym-wallet/src/pages/unbond/index.tsx @@ -1,22 +1,22 @@ -import React, { useContext, useEffect, useState } from 'react' -import { Alert, Box, Button, CircularProgress } from '@mui/material' -import { Fee, NymCard } from '../../components' -import { useCheckOwnership } from '../../hooks/useCheckOwnership' -import { ClientContext } from '../../context/main' -import { unbond } from '../../requests' -import { PageLayout } from '../../layouts' +import React, { useContext, useEffect, useState } from 'react'; +import { Alert, Box, Button, CircularProgress } from '@mui/material'; +import { Fee, NymCard } from '../../components'; +import { useCheckOwnership } from '../../hooks/useCheckOwnership'; +import { ClientContext } from '../../context/main'; +import { unbond } from '../../requests'; +import { PageLayout } from '../../layouts'; export const Unbond = () => { - const [isLoading, setIsLoading] = useState(false) - const { checkOwnership, ownership } = useCheckOwnership() - const { userBalance, getBondDetails } = useContext(ClientContext) + const [isLoading, setIsLoading] = useState(false); + const { checkOwnership, ownership } = useCheckOwnership(); + const { userBalance, getBondDetails } = useContext(ClientContext); useEffect(() => { const initialiseForm = async () => { - await checkOwnership() - } - initialiseForm() - }, [ownership.hasOwnership, checkOwnership]) + await checkOwnership(); + }; + initialiseForm(); + }, [ownership.hasOwnership, checkOwnership]); return ( <PageLayout> @@ -31,12 +31,12 @@ export const Unbond = () => { data-testid="un-bond" disabled={isLoading} onClick={async () => { - setIsLoading(true) - await unbond(ownership.nodeType!) - await userBalance.fetchBalance() - await getBondDetails() - await checkOwnership() - setIsLoading(false) + setIsLoading(true); + await unbond(ownership.nodeType!); + await userBalance.fetchBalance(); + await getBondDetails(); + await checkOwnership(); + setIsLoading(false); }} color="inherit" > @@ -54,7 +54,7 @@ export const Unbond = () => { </> ) : ( <Alert severity="info" sx={{ m: 3 }} data-testid="no-bond"> - You don't currently have a bonded node + You do not currently have a bonded node </Alert> )} {isLoading && ( @@ -71,5 +71,5 @@ export const Unbond = () => { )} </NymCard> </PageLayout> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/undelegate/UndelegateForm.tsx b/nym-wallet/src/pages/undelegate/UndelegateForm.tsx index 8a745b9145..8e2e8f3fd0 100644 --- a/nym-wallet/src/pages/undelegate/UndelegateForm.tsx +++ b/nym-wallet/src/pages/undelegate/UndelegateForm.tsx @@ -1,30 +1,30 @@ -import React, { useContext } from 'react' -import { useForm, Controller } from 'react-hook-form' -import { Box, Autocomplete, Button, CircularProgress, FormControl, Grid, TextField } from '@mui/material' -import { yupResolver } from '@hookform/resolvers/yup' -import { validationSchema } from './validationSchema' -import { EnumNodeType, TDelegation } from '../../types' -import { undelegate, vestingUnelegateFromMixnode } from '../../requests' -import { Fee } from '../../components' +import React, { useContext } from 'react'; +import { useForm, Controller } from 'react-hook-form'; +import { Box, Autocomplete, Button, CircularProgress, FormControl, Grid, TextField } from '@mui/material'; +import { yupResolver } from '@hookform/resolvers/yup'; +import { validationSchema } from './validationSchema'; +import { EnumNodeType, TDelegation } from '../../types'; +import { undelegate, vestingUnelegateFromMixnode } from '../../requests'; +import { Fee } from '../../components'; type TFormData = { - nodeType: EnumNodeType - identity: string -} + nodeType: EnumNodeType; + identity: string; +}; const defaultValues = { nodeType: EnumNodeType.mixnode, identity: '', -} +}; export const UndelegateForm = ({ delegations, onError, onSuccess, }: { - delegations?: TDelegation[] - onError: (message?: string) => void - onSuccess: (message?: string) => void + delegations?: TDelegation[]; + onError: (message?: string) => void; + onSuccess: (message?: string) => void; }) => { const { control, @@ -34,29 +34,29 @@ export const UndelegateForm = ({ } = useForm<TFormData>({ defaultValues, resolver: yupResolver(validationSchema), - }) + }); const onSubmit = async (data: TFormData) => { - let res + let res; try { res = await undelegate({ type: data.nodeType, identity: data.identity, - }) + }); if (!res) { - res = await vestingUnelegateFromMixnode(data.identity) + res = await vestingUnelegateFromMixnode(data.identity); } if (!res) { - onError('An error occurred when undelegating') + onError('An error occurred when undelegating'); } - onSuccess(`Successfully undelegated from ${res.target_address}`) + onSuccess(`Successfully undelegated from ${res.target_address}`); } catch (e) { - onError(e as string) + onError(e as string); } - } + }; return ( <FormControl fullWidth> @@ -117,5 +117,5 @@ export const UndelegateForm = ({ </Button> </Box> </FormControl> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/undelegate/index.tsx b/nym-wallet/src/pages/undelegate/index.tsx index cd404a37eb..d80806bd54 100644 --- a/nym-wallet/src/pages/undelegate/index.tsx +++ b/nym-wallet/src/pages/undelegate/index.tsx @@ -1,39 +1,38 @@ -import React, { useContext, useEffect, useState } from 'react' -import { Alert, AlertTitle, Box, Button, CircularProgress } from '@mui/material' -import { NymCard } from '../../components' -import { UndelegateForm } from './UndelegateForm' -import { EnumRequestStatus, RequestStatus } from '../../components/RequestStatus' -import { getGasFee, getReverseMixDelegations } from '../../requests' -import { TFee, TPagedDelegations } from '../../types' -import { ClientContext } from '../../context/main' -import { PageLayout } from '../../layouts' +import React, { useContext, useEffect, useState } from 'react'; +import { Alert, AlertTitle, Box, Button, CircularProgress } from '@mui/material'; +import { EnumRequestStatus, NymCard, RequestStatus } from '../../components'; +import { UndelegateForm } from './UndelegateForm'; +import { getReverseMixDelegations } from '../../requests'; +import { TPagedDelegations } from '../../types'; +import { ClientContext } from '../../context/main'; +import { PageLayout } from '../../layouts'; export const Undelegate = () => { - const [message, setMessage] = useState<string>() - const [status, setStatus] = useState<EnumRequestStatus>(EnumRequestStatus.initial) - const [isLoading, setIsLoading] = useState(true) - const [pagedDelegations, setPagesDelegations] = useState<TPagedDelegations>() + const [message, setMessage] = useState<string>(); + const [status, setStatus] = useState<EnumRequestStatus>(EnumRequestStatus.initial); + const [isLoading, setIsLoading] = useState(true); + const [pagedDelegations, setPagesDelegations] = useState<TPagedDelegations>(); - const { clientDetails } = useContext(ClientContext) - - useEffect(() => { - initialize() - }, [clientDetails]) + const { clientDetails } = useContext(ClientContext); const initialize = async () => { - setStatus(EnumRequestStatus.initial) - setIsLoading(true) + setStatus(EnumRequestStatus.initial); + setIsLoading(true); try { - const mixnodeDelegations = await getReverseMixDelegations() - setPagesDelegations(mixnodeDelegations) + const mixnodeDelegations = await getReverseMixDelegations(); + setPagesDelegations(mixnodeDelegations); } catch (e) { - setStatus(EnumRequestStatus.error) - setMessage(e as string) + setStatus(EnumRequestStatus.error); + setMessage(e as string); } - setIsLoading(false) - } + setIsLoading(false); + }; + + useEffect(() => { + initialize(); + }, [clientDetails]); return ( <PageLayout> @@ -53,13 +52,13 @@ export const Undelegate = () => { {status === EnumRequestStatus.initial && pagedDelegations && ( <UndelegateForm delegations={pagedDelegations?.delegations} - onError={(message) => { - setMessage(message) - setStatus(EnumRequestStatus.error) + onError={(m) => { + setMessage(m); + setStatus(EnumRequestStatus.error); }} - onSuccess={(message) => { - setMessage(message) - setStatus(EnumRequestStatus.success) + onSuccess={(m) => { + setMessage(m); + setStatus(EnumRequestStatus.success); }} /> )} @@ -94,8 +93,8 @@ export const Undelegate = () => { variant="contained" disableElevation onClick={() => { - setStatus(EnumRequestStatus.initial) - initialize() + setStatus(EnumRequestStatus.initial); + initialize(); }} size="large" > @@ -107,5 +106,5 @@ export const Undelegate = () => { </> </NymCard> </PageLayout> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/undelegate/validationSchema.ts b/nym-wallet/src/pages/undelegate/validationSchema.ts index 73777f8547..54a7cc7cde 100644 --- a/nym-wallet/src/pages/undelegate/validationSchema.ts +++ b/nym-wallet/src/pages/undelegate/validationSchema.ts @@ -1,10 +1,8 @@ -import * as Yup from 'yup' -import { validateKey } from '../../utils' +import * as Yup from 'yup'; +import { validateKey } from '../../utils'; export const validationSchema = Yup.object().shape({ identity: Yup.string() .required() - .test('valid-id-key', 'A valid identity key is required', function (value) { - return validateKey(value || '', 32) - }), -}) + .test('valid-id-key', 'A valid identity key is required', (value) => validateKey(value || '', 32)), +}); diff --git a/nym-wallet/src/pages/welcome/_legacy_create-account.tsx b/nym-wallet/src/pages/welcome/_legacy_create-account.tsx index e3e1f142dc..f11f208873 100644 --- a/nym-wallet/src/pages/welcome/_legacy_create-account.tsx +++ b/nym-wallet/src/pages/welcome/_legacy_create-account.tsx @@ -1,28 +1,28 @@ -import React, { useEffect, useState } from 'react' -import { Alert, Button, Card, CardActions, CardContent, CardHeader, Stack, Typography } from '@mui/material' -import { createAccount } from '../../requests' -import { TCreateAccount } from '../../types' -import { CopyToClipboard } from '../../components' +/* eslint-disable react/no-unused-prop-types */ +import React, { useEffect, useState } from 'react'; +import { Alert, Button, Card, CardActions, CardContent, CardHeader, Stack, Typography } from '@mui/material'; +import { createAccount } from '../../requests'; +import { TCreateAccount } from '../../types'; +import { CopyToClipboard } from '../../components'; +import { TPages } from './types'; -export const CreateAccountContent: React.FC<{ page: 'legacy create account'; showSignIn: () => void }> = ({ - showSignIn, -}) => { - const [accountDetails, setAccountDetails] = useState<TCreateAccount>() - const [error, setError] = useState<Error>() +export const CreateAccountContent: React.FC<{ page: TPages; showSignIn: () => void }> = ({ page, showSignIn }) => { + const [accountDetails, setAccountDetails] = useState<TCreateAccount>(); + const [error, setError] = useState<Error>(); const handleCreateAccount = async () => { - setError(undefined) + setError(undefined); try { - const account = await createAccount() - setAccountDetails(account) + const account = await createAccount(); + setAccountDetails(account); } catch (e: any) { - setError(e) + setError(e); } - } + }; useEffect(() => { - handleCreateAccount() - }, []) + handleCreateAccount(); + }, []); return ( <Stack spacing={4} alignItems="center" sx={{ width: 700 }}> @@ -33,7 +33,7 @@ export const CreateAccountContent: React.FC<{ page: 'legacy create account'; sho Account setup complete! </Typography> <Alert severity="info" variant="outlined" sx={{ color: 'info.light' }} data-testid="mnemonic-warning"> - <Typography>Please store your mnemonic in a safe place. You'll need it to access your account!</Typography> + <Typography>Please store your mnemonic in a safe place. You will need it to access your account!</Typography> </Alert> <Card variant="outlined" sx={{ bgcolor: 'transparent', p: 2, borderColor: 'common.white' }}> <CardHeader sx={{ color: 'common.white' }} title="Mnemonic" /> @@ -53,5 +53,5 @@ export const CreateAccountContent: React.FC<{ page: 'legacy create account'; sho Sign in </Button> </Stack> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/welcome/_legacy_sign-in.tsx b/nym-wallet/src/pages/welcome/_legacy_sign-in.tsx index 0c12f89eeb..6a93cb26d7 100644 --- a/nym-wallet/src/pages/welcome/_legacy_sign-in.tsx +++ b/nym-wallet/src/pages/welcome/_legacy_sign-in.tsx @@ -1,36 +1,33 @@ -import React, { useContext, useState } from 'react' -import { Button, CircularProgress, Grid, Stack, TextField, Typography, Alert } from '@mui/material' -import { styled } from '@mui/material/styles' -import { signInWithMnemonic } from '../../requests' -import { ClientContext } from '../../context/main' -import { NymLogo } from '../../components' +import React, { useContext, useState } from 'react'; +import { Alert, Button, CircularProgress, Grid, Stack, Typography } from '@mui/material'; +import { ClientContext } from '../../context/main'; +import { NymLogo } from '@nymproject/react'; -export const SignInContent: React.FC<{ showCreateAccount: () => void }> = ({ showCreateAccount }) => { - const [mnemonic, setMnemonic] = useState<string>('') - const [inputError, setInputError] = useState<string>() - const [isLoading, setIsLoading] = useState(false) +export const SignInContent: React.FC = () => { + const [mnemonic] = useState<string>(''); + const [inputError, setInputError] = useState<string>(); + const [isLoading, setIsLoading] = useState(false); - const { logIn } = useContext(ClientContext) + const { logIn } = useContext(ClientContext); const handleSignIn = async (e: React.MouseEvent<HTMLElement>) => { - e.preventDefault() + e.preventDefault(); - setIsLoading(true) - setInputError(undefined) + setIsLoading(true); + setInputError(undefined); try { - await signInWithMnemonic(mnemonic || '') - setIsLoading(false) - logIn() - } catch (e: any) { - setIsLoading(false) - setInputError(e) + await logIn(mnemonic || ''); + setIsLoading(false); + } catch (error: any) { + setIsLoading(false); + setInputError(error); } - } + }; return ( <Stack spacing={3} alignItems="center" sx={{ width: '80%' }}> - <NymLogo /> + <NymLogo width={50} /> <Typography sx={{ color: 'common.white', fontWeight: 600 }}>Welcome to NYM</Typography> <Typography variant="caption" sx={{ color: 'grey.800', textTransform: 'uppercase', letterSpacing: 4 }}> Next generation of privacy @@ -65,25 +62,5 @@ export const SignInContent: React.FC<{ showCreateAccount: () => void }> = ({ sho )} </Grid> </Stack> - ) -} - -const StyledInput = styled((props) => <TextField {...props} />)(({ theme }) => ({ - '& input': { - color: theme.palette.nym.text.light, - }, - '& label': { - color: theme.palette.nym.text.light, - }, - '& label.Mui-focused': { - color: theme.palette.primary.main, - }, - '& .MuiOutlinedInput-root': { - '& fieldset': { - borderColor: theme.palette.common.white, - }, - '&:hover fieldset': { - borderColor: theme.palette.primary.main, - }, - }, -})) + ); +}; diff --git a/nym-wallet/src/pages/welcome/components/heading.tsx b/nym-wallet/src/pages/welcome/components/heading.tsx index d2fa906589..01044767b6 100644 --- a/nym-wallet/src/pages/welcome/components/heading.tsx +++ b/nym-wallet/src/pages/welcome/components/heading.tsx @@ -1,16 +1,16 @@ -import React from 'react' -import { Typography } from '@mui/material' +import React from 'react'; +import { Typography } from '@mui/material'; export const Title = ({ title }: { title: string }) => ( <Typography sx={{ color: 'common.white', fontWeight: 600 }}>{title}</Typography> -) +); export const Subtitle = ({ subtitle }: { subtitle: string }) => ( <Typography sx={{ color: 'common.white', textAlign: 'center', maxWidth: 400 }}>{subtitle}</Typography> -) +); export const SubtitleSlick = ({ subtitle }: { subtitle: string }) => ( <Typography variant="caption" sx={{ color: 'grey.600', textTransform: 'uppercase', letterSpacing: 4 }}> {subtitle} </Typography> -) +); diff --git a/nym-wallet/src/pages/welcome/components/index.ts b/nym-wallet/src/pages/welcome/components/index.ts index 08308b57a1..adb07f38a9 100644 --- a/nym-wallet/src/pages/welcome/components/index.ts +++ b/nym-wallet/src/pages/welcome/components/index.ts @@ -1,4 +1,4 @@ -export * from './heading' -export * from './word-tiles' -export * from './render-page' -export * from './password-strength' +export * from './heading'; +export * from './word-tiles'; +export * from './render-page'; +export * from './password-strength'; diff --git a/nym-wallet/src/pages/welcome/components/password-strength.tsx b/nym-wallet/src/pages/welcome/components/password-strength.tsx index 1663a6fad4..9eff1aabf4 100644 --- a/nym-wallet/src/pages/welcome/components/password-strength.tsx +++ b/nym-wallet/src/pages/welcome/components/password-strength.tsx @@ -1,64 +1,65 @@ -import React, { useEffect, useState } from 'react' -import { LockOutlined } from '@mui/icons-material' -import { LinearProgress, Stack, Typography } from '@mui/material' -import { Box } from '@mui/system' +import React, { useEffect, useState } from 'react'; +import { LockOutlined } from '@mui/icons-material'; +import { LinearProgress, Stack, Typography, Box } from '@mui/material'; -type TStrength = 'weak' | 'medium' | 'strong' | 'init' +type TStrength = 'weak' | 'medium' | 'strong' | 'init'; -const strong = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*])(?=.{8,})/ -const medium = /^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})/ +const strong = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})/; +const medium = /^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})/; const colorMap = { - init: "inherit" as "inherit", + init: 'inherit' as 'inherit', weak: 'error' as 'error', medium: 'warning' as 'warning', strong: 'success' as 'success', -} +}; const getText = (strength: TStrength) => { switch (strength) { case 'strong': - return 'Strong password' + return 'Strong password'; case 'medium': - return 'Medium strength password' + return 'Medium strength password'; case 'weak': - return 'Weak password' + return 'Weak password'; default: - return 'Password strength' + return 'Password strength'; } -} +}; const getTextColor = (strength: TStrength) => { switch (strength) { case 'strong': - return 'success.main' + return 'success.main'; case 'medium': - return 'warning.main' + return 'warning.main'; case 'weak': - return 'error.main' + return 'error.main'; default: - return 'grey.500' + return 'grey.500'; } -} +}; export const PasswordStrength = ({ password }: { password: string }) => { - const [strength, setStrength] = useState<TStrength>('init') - + const [strength, setStrength] = useState<TStrength>('init'); useEffect(() => { if (password.length === 0) { - return setStrength('init') + setStrength('init'); + return; } if (password.match(strong)) { - return setStrength('strong') + setStrength('strong'); + return; } if (password.match(medium)) { - return setStrength('medium') + setStrength('medium'); + return; } - setStrength('weak') - }, [password]) + setStrength('weak'); + }, [password]); return ( <Stack spacing={0.5}> @@ -68,11 +69,11 @@ export const PasswordStrength = ({ password }: { password: string }) => { value={strength === 'strong' ? 100 : strength === 'medium' ? 50 : 0} /> <Box display="flex" alignItems="center"> - <LockOutlined sx={{ fontSize: 15, color: getTextColor(strength) }} /> + <LockOutlined sx={{ fontSize: 15, color: getTextColor(strength) }} /> <Typography variant="caption" sx={{ ml: 0.5, color: getTextColor(strength) }}> {getText(strength)} </Typography> </Box> </Stack> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/welcome/components/render-page.tsx b/nym-wallet/src/pages/welcome/components/render-page.tsx index 2087b40aa8..4d9458ca44 100644 --- a/nym-wallet/src/pages/welcome/components/render-page.tsx +++ b/nym-wallet/src/pages/welcome/components/render-page.tsx @@ -1,11 +1,11 @@ -import React from 'react' -import { TPages } from '../types' +import React from 'react'; +import { TPages } from '../types'; export const RenderPage = ({ children, page }: { children: React.ReactElement[]; page: TPages }) => ( <> {React.Children.map(children, (Child) => { - if (page === Child?.props.page) return Child - return null + if (page === Child?.props.page) return Child; + return null; })} </> -) +); diff --git a/nym-wallet/src/pages/welcome/components/word-tiles.tsx b/nym-wallet/src/pages/welcome/components/word-tiles.tsx index 1cf5d255c7..4f0f70d807 100644 --- a/nym-wallet/src/pages/welcome/components/word-tiles.tsx +++ b/nym-wallet/src/pages/welcome/components/word-tiles.tsx @@ -1,30 +1,6 @@ -import React from 'react' -import { Box, Card, CardHeader, Grid, Typography, Stack, Fade } from '@mui/material' -import { THiddenMnemonicWord, THiddenMnemonicWords, TMnemonicWords } from '../types' - -export const WordTiles = ({ - mnemonicWords, - showIndex, - onClick, -}: { - mnemonicWords?: TMnemonicWords - showIndex?: boolean - onClick?: ({ name, index }: { name: string; index: number }) => void -}) => { - if (mnemonicWords) { - return ( - <Grid container spacing={3} justifyContent="center"> - {mnemonicWords.map(({ name, index, disabled }) => ( - <Grid item xs={2} key={index} onClick={() => onClick?.({ name, index })}> - <WordTile mnemonicWord={name} index={showIndex ? index : undefined} onClick={!!onClick} disabled={disabled}/> - </Grid> - ))} - </Grid> - ) - } - - return null -} +import React from 'react'; +import { Box, Card, CardHeader, Grid, Typography, Stack, Fade } from '@mui/material'; +import { THiddenMnemonicWord, THiddenMnemonicWords, TMnemonicWords } from '../types'; export const WordTile = ({ mnemonicWord, @@ -32,10 +8,10 @@ export const WordTile = ({ disabled, onClick, }: { - mnemonicWord: string - index?: number - disabled?: boolean - onClick?: boolean + mnemonicWord: string; + index?: number; + disabled?: boolean; + onClick?: boolean; }) => ( <Card variant="outlined" @@ -51,14 +27,56 @@ export const WordTile = ({ titleTypographyProps={{ sx: { fontWeight: 700 }, variant: 'body1', textAlign: index ? 'left' : 'center' }} avatar={ index && ( - <Typography variant="caption" color={'#3A4053'}> + <Typography variant="caption" color="#3A4053"> {index} </Typography> ) } /> </Card> -) +); + +export const WordTiles = ({ + mnemonicWords, + showIndex, + onClick, +}: { + mnemonicWords?: TMnemonicWords; + showIndex?: boolean; + onClick?: ({ name, index }: { name: string; index: number }) => void; +}) => { + if (mnemonicWords) { + return ( + <Grid container spacing={3} justifyContent="center"> + {mnemonicWords.map(({ name, index, disabled }) => ( + <Grid item xs={2} key={index} onClick={() => onClick?.({ name, index })}> + <WordTile + mnemonicWord={name} + index={showIndex ? index : undefined} + onClick={!!onClick} + disabled={disabled} + /> + </Grid> + ))} + </Grid> + ); + } + + return null; +}; + +const HiddenWord = ({ mnemonicWord }: { mnemonicWord: THiddenMnemonicWord }) => ( + <Stack spacing={2} alignItems="center"> + <Box borderBottom="1px solid #3A4053" sx={{ p: 2, width: '100%' }}> + <Fade in={!mnemonicWord.hidden}> + <Box> + <WordTile mnemonicWord={mnemonicWord.name} /> + </Box> + </Fade> + </Box> + <Typography>{mnemonicWord.index}.</Typography> + </Stack> +); export const HiddenWords = ({ mnemonicWords }: { mnemonicWords?: THiddenMnemonicWords }) => { if (mnemonicWords) { @@ -70,22 +88,7 @@ export const HiddenWords = ({ mnemonicWords }: { mnemonicWords?: THiddenMnemonic </Grid> ))} </Grid> - ) + ); } - return null -} - -const HiddenWord = ({ mnemonicWord }: { mnemonicWord: THiddenMnemonicWord }) => { - return ( - <Stack spacing={2} alignItems="center"> - <Box borderBottom="1px solid #3A4053" sx={{ p: 2, width: '100%' }}> - <Fade in={!mnemonicWord.hidden}> - <Box> - <WordTile mnemonicWord={mnemonicWord.name} /> - </Box> - </Fade> - </Box> - <Typography>{mnemonicWord.index}.</Typography> - </Stack> - ) -} + return null; +}; diff --git a/nym-wallet/src/pages/welcome/index.tsx b/nym-wallet/src/pages/welcome/index.tsx index f459d21dbe..4060e72119 100644 --- a/nym-wallet/src/pages/welcome/index.tsx +++ b/nym-wallet/src/pages/welcome/index.tsx @@ -1,26 +1,25 @@ -import React, { useContext, useState } from 'react' -import { Box } from '@mui/system' -import { CircularProgress, Stack } from '@mui/material' -import { WelcomeContent, VerifyMnemonic, MnemonicWords, CreatePassword, ExistingAccount } from './pages' -import { NymLogo } from '../../components' -import { TMnemonicWords, TPages } from './types' -import { RenderPage } from './components' -import { CreateAccountContent } from './_legacy_create-account' -import { ClientContext } from '../../context/main' +import React, { useContext, useState } from 'react'; +import { CircularProgress, Stack, Box } from '@mui/material'; +import { ExistingAccount, WelcomeContent } from './pages'; +import { NymLogo } from '@nymproject/react'; +import { TPages } from './types'; +import { RenderPage } from './components'; +import { CreateAccountContent } from './_legacy_create-account'; +import { ClientContext } from '../../context/main'; -const testMnemonic = - 'futuristic big receptive caption saw hug odd spoon internal dime bike rake helpless left distribution gusty eyes beg enormous word influence trashy pets curl' - -const mnemonicToArray = (mnemonic: string): TMnemonicWords => - mnemonic - .split(' ') - .reduce((a, c: string, index) => [...a, { name: c, index: index + 1, disabled: false }], [] as TMnemonicWords) +// const testMnemonic = +// 'futuristic big receptive caption saw hug odd spoon internal dime bike rake helpless left distribution gusty eyes beg enormous word influence trashy pets curl'; +// +// const mnemonicToArray = (mnemonic: string): TMnemonicWords => +// mnemonic +// .split(' ') +// .reduce((a, c: string, index) => [...a, { name: c, index: index + 1, disabled: false }], [] as TMnemonicWords); export const Welcome = () => { - const [page, setPage] = useState<TPages>('welcome') - const [mnemonicWords, setMnemonicWords] = useState<TMnemonicWords>() + const [page, setPage] = useState<TPages>('welcome'); + // const [mnemonicWords, setMnemonicWords] = useState<TMnemonicWords>(); - const { isLoading } = useContext(ClientContext) + const { isLoading } = useContext(ClientContext); // useEffect(() => { // const mnemonicArray = mnemonicToArray(testMnemonic) @@ -51,7 +50,7 @@ export const Welcome = () => { <CircularProgress size={72} /> ) : ( <Stack spacing={3} alignItems="center" sx={{ width: 1080 }}> - <NymLogo /> + <NymLogo width={75} /> <RenderPage page={page}> <WelcomeContent onUseExisting={() => setPage('existing account')} @@ -72,11 +71,11 @@ export const Welcome = () => { page="verify mnemonic" /> <CreatePassword page="create password" /> */} - <ExistingAccount page="existing account" onPrev={() => setPage('welcome')} /> + <ExistingAccount onPrev={() => setPage('welcome')} page="existing account" /> </RenderPage> </Stack> )} </Box> </Box> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/welcome/pages/create-password.tsx b/nym-wallet/src/pages/welcome/pages/create-password.tsx index d4895542d1..9d1ee759e5 100644 --- a/nym-wallet/src/pages/welcome/pages/create-password.tsx +++ b/nym-wallet/src/pages/welcome/pages/create-password.tsx @@ -1,13 +1,13 @@ -import React, { useState } from 'react' -import { Button, FormControl, Grid, IconButton, Stack, TextField } from '@mui/material' -import { VisibilityOff, Visibility } from '@mui/icons-material' -import { Subtitle, Title, PasswordStrength } from '../components' +import React, { useState } from 'react'; +import { Button, FormControl, Grid, IconButton, Stack, TextField } from '@mui/material'; +import { VisibilityOff, Visibility } from '@mui/icons-material'; +import { Subtitle, Title, PasswordStrength } from '../components'; -export const CreatePassword = ({}: { page: 'create password' }) => { - const [password, setPassword] = useState<string>('') - const [confirmedPassword, setConfirmedPassword] = useState<string>() - const [showPassword, setShowPassword] = useState(false) - const [showConfirmedPassword, setShowConfirmedPassword] = useState(false) +export const CreatePassword = () => { + const [password, setPassword] = useState<string>(''); + const [confirmedPassword, setConfirmedPassword] = useState<string>(); + const [showPassword, setShowPassword] = useState(false); + const [showConfirmedPassword, setShowConfirmedPassword] = useState(false); return ( <> @@ -56,5 +56,5 @@ export const CreatePassword = ({}: { page: 'create password' }) => { </Grid> </Grid> </> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/welcome/pages/existing-account.tsx b/nym-wallet/src/pages/welcome/pages/existing-account.tsx index da5a6dfa67..7cf7db9d12 100644 --- a/nym-wallet/src/pages/welcome/pages/existing-account.tsx +++ b/nym-wallet/src/pages/welcome/pages/existing-account.tsx @@ -1,22 +1,24 @@ -import React, { useContext, useState } from 'react' -import { Alert, Button, Stack, TextField } from '@mui/material' -import { Subtitle } from '../components' -import { ClientContext } from '../../../context/main' +/* eslint-disable react/no-unused-prop-types */ +import React, { useContext, useState } from 'react'; +import { Alert, Button, Stack, TextField } from '@mui/material'; +import { Subtitle } from '../components'; +import { ClientContext } from '../../../context/main'; +import { TPages } from '../types'; -export const ExistingAccount: React.FC<{ page: 'existing account'; onPrev: () => void }> = ({ onPrev }) => { - const [mnemonic, setMnemonic] = useState<string>('') +export const ExistingAccount: React.FC<{ page: TPages; onPrev: () => void }> = ({ onPrev }) => { + const [mnemonic, setMnemonic] = useState<string>(''); - const { logIn, error } = useContext(ClientContext) + const { logIn, error } = useContext(ClientContext); const handleSignIn = async ({ preventDefault }: React.MouseEvent<HTMLElement>) => { - logIn(mnemonic) - } + logIn(mnemonic); + }; const handleSignInOnEnter = ({ key }: React.KeyboardEvent<HTMLDivElement>) => { if (key.toLowerCase() === 'enter') { - logIn(mnemonic) + logIn(mnemonic); } - } + }; return ( <Stack spacing={2} sx={{ width: 400 }} alignItems="center"> @@ -49,5 +51,5 @@ export const ExistingAccount: React.FC<{ page: 'existing account'; onPrev: () => Back </Button> </Stack> - ) -} + ); +}; diff --git a/nym-wallet/src/pages/welcome/pages/index.ts b/nym-wallet/src/pages/welcome/pages/index.ts index eef9adafed..0553bb50f3 100644 --- a/nym-wallet/src/pages/welcome/pages/index.ts +++ b/nym-wallet/src/pages/welcome/pages/index.ts @@ -1,5 +1,5 @@ -export * from './welcome-content' -export * from './mnemonic-words' -export * from './verify-mnemonic' -export * from './create-password' -export * from './existing-account' +export * from './welcome-content'; +export * from './mnemonic-words'; +export * from './verify-mnemonic'; +export * from './create-password'; +export * from './existing-account'; diff --git a/nym-wallet/src/pages/welcome/pages/mnemonic-words.tsx b/nym-wallet/src/pages/welcome/pages/mnemonic-words.tsx index 81dc009b52..efad61b414 100644 --- a/nym-wallet/src/pages/welcome/pages/mnemonic-words.tsx +++ b/nym-wallet/src/pages/welcome/pages/mnemonic-words.tsx @@ -1,37 +1,34 @@ -import React from 'react' -import { Alert, Button, Typography } from '@mui/material' -import { WordTiles } from '../components/word-tiles' -import { TMnemonicWords } from '../types' +import React from 'react'; +import { Alert, Button, Typography } from '@mui/material'; +import { WordTiles } from '../components'; +import { TMnemonicWords } from '../types'; export const MnemonicWords = ({ mnemonicWords, onNext, onPrev, }: { - mnemonicWords?: TMnemonicWords - page: 'create account' - onNext: () => void - onPrev: () => void -}) => { - return ( - <> - <Typography sx={{ color: 'common.white', fontWeight: 600 }}>Write down your mnemonic</Typography> - <Alert icon={false} severity="info" sx={{ bgcolor: '#18263B', color: '#50ABFF', width: 625 }}> - Please store your mnemonic in a safe place. This is the only way to access your wallet! - </Alert> - <WordTiles mnemonicWords={mnemonicWords} showIndex /> - <Button variant="contained" color="primary" disableElevation size="large" onClick={onNext} sx={{ width: 250 }}> - Verify mnemonic - </Button> - <Button - variant="outlined" - disableElevation - size="large" - onClick={onPrev} - sx={{ color: 'common.white', border: '1px solid white', '&:hover': { border: '1px solid white' }, width: 250 }} - > - Back - </Button> - </> - ) -} + mnemonicWords?: TMnemonicWords; + onNext: () => void; + onPrev: () => void; +}) => ( + <> + <Typography sx={{ color: 'common.white', fontWeight: 600 }}>Write down your mnemonic</Typography> + <Alert icon={false} severity="info" sx={{ bgcolor: '#18263B', color: '#50ABFF', width: 625 }}> + Please store your mnemonic in a safe place. This is the only way to access your wallet! + </Alert> + <WordTiles mnemonicWords={mnemonicWords} showIndex /> + <Button variant="contained" color="primary" disableElevation size="large" onClick={onNext} sx={{ width: 250 }}> + Verify mnemonic + </Button> + <Button + variant="outlined" + disableElevation + size="large" + onClick={onPrev} + sx={{ color: 'common.white', border: '1px solid white', '&:hover': { border: '1px solid white' }, width: 250 }} + > + Back + </Button> + </> +); diff --git a/nym-wallet/src/pages/welcome/pages/verify-mnemonic.tsx b/nym-wallet/src/pages/welcome/pages/verify-mnemonic.tsx index e6b3e18a4e..594a593269 100644 --- a/nym-wallet/src/pages/welcome/pages/verify-mnemonic.tsx +++ b/nym-wallet/src/pages/welcome/pages/verify-mnemonic.tsx @@ -1,45 +1,43 @@ -import React, { useEffect, useState } from 'react' -import { Button } from '@mui/material' -import { WordTiles, HiddenWords } from '../components/word-tiles' -import { THiddenMnemonicWords, THiddenMnemonicWord, TMnemonicWord, TMnemonicWords } from '../types' -import { randomNumberBetween } from '../../../utils' -import { Title, Subtitle } from '../components' +import React, { useEffect, useState } from 'react'; +import { Button } from '@mui/material'; +import { HiddenWords, Subtitle, Title, WordTiles } from '../components'; +import { THiddenMnemonicWord, THiddenMnemonicWords, TMnemonicWord, TMnemonicWords } from '../types'; +import { randomNumberBetween } from '../../../utils'; -const numberOfRandomWords = 4 +const numberOfRandomWords = 4; export const VerifyMnemonic = ({ mnemonicWords, onComplete, }: { - page: 'verify mnemonic' - mnemonicWords?: TMnemonicWords - onComplete: () => void + mnemonicWords?: TMnemonicWords; + onComplete: () => void; }) => { - const [randomWords, setRandomWords] = useState<TMnemonicWords>() - const [hiddenRandomWords, setHiddenRandomWords] = useState<THiddenMnemonicWords>() - const [currentSelection, setCurrentSelection] = useState(0) + const [randomWords, setRandomWords] = useState<TMnemonicWords>(); + const [hiddenRandomWords, setHiddenRandomWords] = useState<THiddenMnemonicWords>(); + const [currentSelection, setCurrentSelection] = useState(0); useEffect(() => { if (mnemonicWords) { - const randomWords = getRandomEntriesFromArray<TMnemonicWord>(mnemonicWords, numberOfRandomWords) - const withHiddenProperty = randomWords.map((word) => ({ ...word, hidden: true })) - const shuffled = getRandomEntriesFromArray<THiddenMnemonicWord>(withHiddenProperty, numberOfRandomWords) - setRandomWords(randomWords) - setHiddenRandomWords(shuffled) + const newRandomWords = getRandomEntriesFromArray<TMnemonicWord>(mnemonicWords, numberOfRandomWords); + const withHiddenProperty = newRandomWords.map((word) => ({ ...word, hidden: true })); + const shuffled = getRandomEntriesFromArray<THiddenMnemonicWord>(withHiddenProperty, numberOfRandomWords); + setRandomWords(newRandomWords); + setHiddenRandomWords(shuffled); } - }, [mnemonicWords]) + }, [mnemonicWords]); const revealWord = ({ name }: { name: string }) => { if (name === hiddenRandomWords![currentSelection].name) { setHiddenRandomWords((hiddenWords) => hiddenWords?.map((word) => (word.name === name ? { ...word, hidden: false } : word)), - ) - setRandomWords((randomWords) => - randomWords?.map((word) => (word.name === name ? { ...word, disabled: true } : word)), - ) - setCurrentSelection((current) => current + 1) + ); + setRandomWords((argRandomWords) => + argRandomWords?.map((word) => (word.name === name ? { ...word, disabled: true } : word)), + ); + setCurrentSelection((current) => current + 1); } - } + }; if (randomWords && hiddenRandomWords) { return ( @@ -61,20 +59,20 @@ export const VerifyMnemonic = ({ Next </Button> </> - ) + ); } - return null -} + return null; +}; function getRandomEntriesFromArray<T>(arr: T[], numberOfEntries: number) { - const init = [...arr] - let randomEntries: T[] = [] + const init = [...arr]; + const randomEntries: T[] = []; while (randomEntries.length !== numberOfEntries) { - const rand = randomNumberBetween(0, init.length - 1) - randomEntries.push(init[rand]) - init.splice(rand, 1) + const rand = randomNumberBetween(0, init.length - 1); + randomEntries.push(init[rand]); + init.splice(rand, 1); } - return randomEntries + return randomEntries; } diff --git a/nym-wallet/src/pages/welcome/pages/welcome-content.tsx b/nym-wallet/src/pages/welcome/pages/welcome-content.tsx index 4b854a84d7..dbbfe7a0fd 100644 --- a/nym-wallet/src/pages/welcome/pages/welcome-content.tsx +++ b/nym-wallet/src/pages/welcome/pages/welcome-content.tsx @@ -1,42 +1,42 @@ -import React from 'react' -import { Button, Stack } from '@mui/material' -import { SubtitleSlick, Title } from '../components' +/* eslint-disable react/no-unused-prop-types */ +import React from 'react'; +import { Button, Stack } from '@mui/material'; +import { SubtitleSlick, Title } from '../components'; +import { TPages } from '../types'; export const WelcomeContent: React.FC<{ - page: 'welcome' - onUseExisting: () => void - onCreateAccountComplete: () => void -}> = ({ onUseExisting, onCreateAccountComplete }) => { - return ( - <> - <Title title="Welcome to NYM" /> - <SubtitleSlick subtitle="Next generation of privacy" /> - <Stack spacing={3} sx={{ width: 300 }}> - <Button - fullWidth - variant="contained" - color="primary" - disableElevation - size="large" - onClick={onCreateAccountComplete} - > - Create Account - </Button> - <Button - fullWidth - variant="outlined" - size="large" - sx={{ - color: 'common.white', - border: '1px solid white', - '&:hover': { border: '1px solid white', '&:hover': { background: 'none' } }, - }} - onClick={onUseExisting} - disableRipple - > - Sign in - </Button> - </Stack> - </> - ) -} + page: TPages; + onUseExisting: () => void; + onCreateAccountComplete: () => void; +}> = ({ onUseExisting, onCreateAccountComplete }) => ( + <> + <Title title="Welcome to NYM" /> + <SubtitleSlick subtitle="Next generation of privacy" /> + <Stack spacing={3} sx={{ width: 300 }}> + <Button + fullWidth + variant="contained" + color="primary" + disableElevation + size="large" + onClick={onCreateAccountComplete} + > + Create Account + </Button> + <Button + fullWidth + variant="outlined" + size="large" + sx={{ + color: 'common.white', + border: '1px solid white', + '&:hover': { border: '1px solid white', '&:hover': { background: 'none' } }, + }} + onClick={onUseExisting} + disableRipple + > + Sign in + </Button> + </Stack> + </> +); diff --git a/nym-wallet/src/pages/welcome/types.ts b/nym-wallet/src/pages/welcome/types.ts index a13e9f61ba..2da128d2bc 100644 --- a/nym-wallet/src/pages/welcome/types.ts +++ b/nym-wallet/src/pages/welcome/types.ts @@ -5,15 +5,15 @@ export type TPages = | 'create password' | 'existing account' | 'select network' - | 'legacy create account' + | 'legacy create account'; export type TMnemonicWord = { - name: string - index: number - disabled: boolean -} -export type TMnemonicWords = TMnemonicWord[] + name: string; + index: number; + disabled: boolean; +}; +export type TMnemonicWords = TMnemonicWord[]; -export type THiddenMnemonicWord = { hidden: boolean } & TMnemonicWord +export type THiddenMnemonicWord = { hidden: boolean } & TMnemonicWord; -export type THiddenMnemonicWords = THiddenMnemonicWord[] +export type THiddenMnemonicWords = THiddenMnemonicWord[]; diff --git a/nym-wallet/src/requests/account.ts b/nym-wallet/src/requests/account.ts index 0706877b2b..d4114de91f 100644 --- a/nym-wallet/src/requests/account.ts +++ b/nym-wallet/src/requests/account.ts @@ -1,9 +1,9 @@ -import { invoke } from '@tauri-apps/api' -import { Account, TCreateAccount } from '../types' +import { invoke } from '@tauri-apps/api'; +import { Account, TCreateAccount } from '../types'; -export const createAccount = async (): Promise<TCreateAccount> => await invoke('create_new_account') +export const createAccount = async (): Promise<TCreateAccount> => invoke('create_new_account'); export const signInWithMnemonic = async (mnemonic: string): Promise<Account> => - await invoke('connect_with_mnemonic', { mnemonic }) + invoke('connect_with_mnemonic', { mnemonic }); -export const signOut = async () => await invoke('logout') +export const signOut = async () => invoke('logout'); diff --git a/nym-wallet/src/requests/actions.ts b/nym-wallet/src/requests/actions.ts index 474b840af7..4e69a89744 100644 --- a/nym-wallet/src/requests/actions.ts +++ b/nym-wallet/src/requests/actions.ts @@ -1,38 +1,38 @@ -import { invoke } from '@tauri-apps/api' -import { Coin, DelegationResult, EnumNodeType, Gateway, MixNode, TauriTxResult, TBondArgs } from '../types' +import { invoke } from '@tauri-apps/api'; +import { Coin, DelegationResult, EnumNodeType, Gateway, MixNode, TauriTxResult, TBondArgs } from '../types'; export const bond = async ({ type, data, pledge, ownerSignature }: TBondArgs): Promise<any> => - await invoke(`bond_${type}`, { [type]: data, ownerSignature, pledge }) + await invoke(`bond_${type}`, { [type]: data, ownerSignature, pledge }); -export const unbond = async (type: EnumNodeType) => await invoke(`unbond_${type}`) +export const unbond = async (type: EnumNodeType) => invoke(`unbond_${type}`); export const delegate = async ({ type, identity, amount, }: { - type: EnumNodeType - identity: string - amount: Coin -}): Promise<DelegationResult> => await invoke(`delegate_to_${type}`, { identity, amount }) + type: EnumNodeType; + identity: string; + amount: Coin; +}): Promise<DelegationResult> => invoke(`delegate_to_${type}`, { identity, amount }); export const undelegate = async ({ type, identity, }: { - type: EnumNodeType - identity: string + type: EnumNodeType; + identity: string; }): Promise<DelegationResult | undefined> => { try { - return await invoke(`undelegate_from_${type}`, { identity }) + return await invoke(`undelegate_from_${type}`, { identity }); } catch (e) { - console.log(e) - return undefined + console.log(e); + return undefined; } -} +}; export const send = async (args: { amount: Coin; address: string; memo: string }): Promise<TauriTxResult> => - await invoke('send', args) + invoke('send', args); export const updateMixnode = async (profitMarginPercent: number) => - await invoke('update_mixnode', { profitMarginPercent }) + await invoke('update_mixnode', { profitMarginPercent }); diff --git a/nym-wallet/src/requests/coin.ts b/nym-wallet/src/requests/coin.ts index 26f579b441..de23e2a902 100644 --- a/nym-wallet/src/requests/coin.ts +++ b/nym-wallet/src/requests/coin.ts @@ -1,6 +1,6 @@ -import { invoke } from '@tauri-apps/api' -import { Coin } from '../types' +import { invoke } from '@tauri-apps/api'; +import { Coin } from '../types'; -export const minorToMajor = async (amount: string): Promise<Coin> => await invoke('minor_to_major', { amount }) +export const minorToMajor = async (amount: string): Promise<Coin> => invoke('minor_to_major', { amount }); -export const majorToMinor = async (amount: string): Promise<Coin> => await invoke('major_to_minor', { amount }) +export const majorToMinor = async (amount: string): Promise<Coin> => invoke('major_to_minor', { amount }); diff --git a/nym-wallet/src/requests/contract.ts b/nym-wallet/src/requests/contract.ts index 41aef4b692..52f79be147 100644 --- a/nym-wallet/src/requests/contract.ts +++ b/nym-wallet/src/requests/contract.ts @@ -1,7 +1,7 @@ -import { invoke } from '@tauri-apps/api' -import { TauriContractStateParams } from '../types' +import { invoke } from '@tauri-apps/api'; +import { TauriContractStateParams } from '../types'; -export const getContractParams = async (): Promise<TauriContractStateParams> => await invoke('get_contract_settings') +export const getContractParams = async (): Promise<TauriContractStateParams> => invoke('get_contract_settings'); export const setContractParams = async (params: TauriContractStateParams): Promise<TauriContractStateParams> => - await invoke('update_contract_settings', { params }) + invoke('update_contract_settings', { params }); diff --git a/nym-wallet/src/requests/index.ts b/nym-wallet/src/requests/index.ts index f342dc3765..6ee1acc50b 100644 --- a/nym-wallet/src/requests/index.ts +++ b/nym-wallet/src/requests/index.ts @@ -1,7 +1,7 @@ -export * from './account' -export * from './actions' -export * from './coin' -export * from './contract' -export * from './vesting' -export * from './network' -export * from './queries' \ No newline at end of file +export * from './account'; +export * from './actions'; +export * from './coin'; +export * from './contract'; +export * from './vesting'; +export * from './network'; +export * from './queries'; diff --git a/nym-wallet/src/requests/network.ts b/nym-wallet/src/requests/network.ts index 29c2e0923c..d260c2d923 100644 --- a/nym-wallet/src/requests/network.ts +++ b/nym-wallet/src/requests/network.ts @@ -1,4 +1,4 @@ -import { invoke } from '@tauri-apps/api' -import { Account, Network } from '../types' +import { invoke } from '@tauri-apps/api'; +import { Account, Network } from '../types'; -export const selectNetwork = async (network: Network): Promise<Account> => await invoke('switch_network', { network }) +export const selectNetwork = async (network: Network): Promise<Account> => invoke('switch_network', { network }); diff --git a/nym-wallet/src/requests/queries.ts b/nym-wallet/src/requests/queries.ts index 789ddc4f8e..d8cf3e54d5 100644 --- a/nym-wallet/src/requests/queries.ts +++ b/nym-wallet/src/requests/queries.ts @@ -1,4 +1,4 @@ -import { invoke } from '@tauri-apps/api' +import { invoke } from '@tauri-apps/api'; import { Balance, Coin, @@ -9,36 +9,35 @@ import { StakeSaturationResponse, TMixnodeBondDetails, TPagedDelegations, -} from '../types' +} from '../types'; export const getReverseMixDelegations = async (): Promise<TPagedDelegations> => - await invoke('get_reverse_mix_delegations_paged') + invoke('get_reverse_mix_delegations_paged'); export const getReverseGatewayDelegations = async (): Promise<TPagedDelegations> => - await invoke('get_reverse_gateway_delegations_paged') + invoke('get_reverse_gateway_delegations_paged'); -export const getMixnodeBondDetails = async (): Promise<TMixnodeBondDetails | null> => - await invoke('mixnode_bond_details') +export const getMixnodeBondDetails = async (): Promise<TMixnodeBondDetails | null> => invoke('mixnode_bond_details'); export const getMixnodeStakeSaturation = async (identity: string): Promise<StakeSaturationResponse> => - await invoke('mixnode_stake_saturation', { identity }) + invoke('mixnode_stake_saturation', { identity }); export const getMixnodeRewardEstimation = async (identity: string): Promise<RewardEstimationResponse> => - await invoke('mixnode_reward_estimation', { identity }) + invoke('mixnode_reward_estimation', { identity }); export const getMixnodeStatus = async (identity: string): Promise<MixnodeStatusResponse> => - await invoke('mixnode_status', { identity }) + invoke('mixnode_status', { identity }); -export const checkMixnodeOwnership = async (): Promise<boolean> => await invoke('owns_mixnode') +export const checkMixnodeOwnership = async (): Promise<boolean> => invoke('owns_mixnode'); -export const checkGatewayOwnership = async (): Promise<boolean> => await invoke('owns_gateway') +export const checkGatewayOwnership = async (): Promise<boolean> => invoke('owns_gateway'); // NOTE: this uses OUTDATED defaults that might have no resemblance with the reality // as for the actual transaction, the gas cost is being simulated beforehand export const getGasFee = async (operation: Operation): Promise<Coin> => - await invoke('outdated_get_approximate_fee', { operation }) + invoke('outdated_get_approximate_fee', { operation }); export const getInclusionProbability = async (identity: string): Promise<InclusionProbabilityResponse> => - await invoke('mixnode_inclusion_probability', { identity }) + invoke('mixnode_inclusion_probability', { identity }); -export const userBalance = async (): Promise<Balance> => await invoke('get_balance') +export const userBalance = async (): Promise<Balance> => invoke('get_balance'); diff --git a/nym-wallet/src/requests/vesting.ts b/nym-wallet/src/requests/vesting.ts index 63e5cb8aa2..ac96257776 100644 --- a/nym-wallet/src/requests/vesting.ts +++ b/nym-wallet/src/requests/vesting.ts @@ -1,6 +1,6 @@ -import { invoke } from '@tauri-apps/api' -import { VestingAccountInfo } from 'src/types/rust/vestingaccountinfo' -import { majorToMinor, minorToMajor } from '.' +import { invoke } from '@tauri-apps/api'; +import { VestingAccountInfo } from 'src/types/rust/vestingaccountinfo'; +import { majorToMinor, minorToMajor } from '.'; import { Coin, DelegationResult, @@ -10,40 +10,40 @@ import { OriginalVestingResponse, Period, PledgeData, -} from '../types' +} from '../types'; export const getLockedCoins = async (): Promise<Coin> => { - const res: Coin = await invoke('locked_coins') - return await minorToMajor(res.amount) -} + const res: Coin = await invoke('locked_coins'); + return await minorToMajor(res.amount); +}; export const getSpendableCoins = async (vestingAccountAddress?: string): Promise<Coin> => { - const res: Coin = await invoke('spendable_coins', { vestingAccountAddress }) - return await minorToMajor(res.amount) -} + const res: Coin = await invoke('spendable_coins', { vestingAccountAddress }); + return minorToMajor(res.amount); +}; export const getVestingCoins = async (vestingAccountAddress: string): Promise<Coin> => { - const res: Coin = await invoke('vesting_coins', { vestingAccountAddress }) - return await minorToMajor(res.amount) -} + const res: Coin = await invoke('vesting_coins', { vestingAccountAddress }); + return minorToMajor(res.amount); +}; export const getVestedCoins = async (vestingAccountAddress: string): Promise<Coin> => { - const res: Coin = await invoke('vested_coins', { vestingAccountAddress }) - return await minorToMajor(res.amount) -} + const res: Coin = await invoke('vested_coins', { vestingAccountAddress }); + return minorToMajor(res.amount); +}; export const getOriginalVesting = async (vestingAccountAddress: string): Promise<OriginalVestingResponse> => { - const res: OriginalVestingResponse = await invoke('original_vesting', { vestingAccountAddress }) - const majorValue = await minorToMajor(res.amount.amount) - return { ...res, amount: majorValue } -} + const res: OriginalVestingResponse = await invoke('original_vesting', { vestingAccountAddress }); + const majorValue = await minorToMajor(res.amount.amount); + return { ...res, amount: majorValue }; +}; export const withdrawVestedCoins = async (amount: string) => { - const minor = await majorToMinor(amount) - await invoke('withdraw_vested_coins', { amount: { amount: minor.amount, denom: 'Minor' } }) -} + const minor = await majorToMinor(amount); + await invoke('withdraw_vested_coins', { amount: { amount: minor.amount, denom: 'Minor' } }); +}; export const getCurrentVestingPeriod = async (address: string): Promise<Period> => - await invoke('get_current_vesting_period', { address }) + invoke('get_current_vesting_period', { address }); export const vestingBond = async ({ type, @@ -51,45 +51,45 @@ export const vestingBond = async ({ pledge, ownerSignature, }: { - type: EnumNodeType - data: MixNode | Gateway - pledge: Coin - ownerSignature: string -}): Promise<any> => await invoke(`vesting_bond_${type}`, { [type]: data, ownerSignature, pledge }) + type: EnumNodeType; + data: MixNode | Gateway; + pledge: Coin; + ownerSignature: string; +}): Promise<any> => await invoke(`vesting_bond_${type}`, { [type]: data, ownerSignature, pledge }); -export const vestingUnbond = async (type: EnumNodeType) => await invoke(`vesting_unbond_${type}`) +export const vestingUnbond = async (type: EnumNodeType) => await invoke(`vesting_unbond_${type}`); export const vestingDelegateToMixnode = async ({ identity, amount, }: { - identity: string - amount: Coin -}): Promise<DelegationResult> => await invoke('vesting_delegate_to_mixnode', { identity, amount }) + identity: string; + amount: Coin; +}): Promise<DelegationResult> => invoke('vesting_delegate_to_mixnode', { identity, amount }); export const vestingUnelegateFromMixnode = async (identity: string): Promise<DelegationResult> => - await invoke('vesting_undelegate_from_mixnode', { identity }) + await invoke('vesting_undelegate_from_mixnode', { identity }); export const getVestingAccountInfo = async (address: string): Promise<VestingAccountInfo> => - await invoke('get_account_info', { address }) + await invoke('get_account_info', { address }); export const getVestingPledgeInfo = async ({ address, type, }: { - address?: string - type: EnumNodeType + address?: string; + type: EnumNodeType; }): Promise<PledgeData | undefined> => { try { - return await invoke(`vesting_get_${type}_pledge`, { address }) + return await invoke(`vesting_get_${type}_pledge`, { address }); } catch (e) { - return undefined + return undefined; } -} +}; export const vestingUpdateMixnode = async (profitMarginPercent: number) => - await invoke('vesting_update_mixnode', { profitMarginPercent }) + await invoke('vesting_update_mixnode', { profitMarginPercent }); export const vestingDelegatedFree = async (vestingAccountAddress: string) => { - await invoke('delegated_free', { vestingAccountAddress }) -} + await invoke('delegated_free', { vestingAccountAddress }); +}; diff --git a/nym-wallet/src/routes/index.tsx b/nym-wallet/src/routes/index.tsx index 41ceff7d8c..039e3a447d 100644 --- a/nym-wallet/src/routes/index.tsx +++ b/nym-wallet/src/routes/index.tsx @@ -1,7 +1,7 @@ -import React from 'react' -import { Switch, Route } from 'react-router-dom' -import { Balance } from '../pages/balance' -import { Bond, Delegate, InternalDocs, Receive, Send, Unbond, Undelegate } from '../pages' +import React from 'react'; +import { Switch, Route } from 'react-router-dom'; +import { Balance } from '../pages/balance'; +import { Bond, Delegate, InternalDocs, Receive, Send, Unbond, Undelegate } from '../pages'; export const Routes = () => ( <Switch> @@ -30,4 +30,4 @@ export const Routes = () => ( <InternalDocs /> </Route> </Switch> -) +); diff --git a/nym-wallet/src/svg-icons/bond.tsx b/nym-wallet/src/svg-icons/bond.tsx index 6870c7cfe7..784a853dcf 100644 --- a/nym-wallet/src/svg-icons/bond.tsx +++ b/nym-wallet/src/svg-icons/bond.tsx @@ -1,24 +1,22 @@ -import React from 'react' -import { SvgIcon, SvgIconProps } from '@mui/material' +import React from 'react'; +import { SvgIcon, SvgIconProps } from '@mui/material'; -export const Bond = (props: SvgIconProps) => { - return ( - <SvgIcon {...props}> - <path - fillRule="evenodd" - clipRule="evenodd" - d="M16 17C14.8954 17 14 16.1046 14 15L14 9C14 7.89543 14.8954 7 16 7L22 7C23.1046 7 24 7.89543 24 9L24 15C24 16.1046 23.1046 17 22 17L16 17ZM16 9L16 15L22 15L22 9L16 9Z" - /> - <path - fillRule="evenodd" - clipRule="evenodd" - d="M2 17C0.89543 17 -1.00647e-07 16.1046 -2.24801e-07 15L-8.99206e-07 9C-1.02336e-06 7.89543 0.895429 7 2 7L8 7C9.10457 7 10 7.89543 10 9L10 15C10 16.1046 9.10457 17 8 17L2 17ZM2 9L2 15L8 15L8 9L2 9Z" - /> - <path - fillRule="evenodd" - clipRule="evenodd" - d="M6 12C6 11.4477 6.44772 11 7 11H17C17.5523 11 18 11.4477 18 12C18 12.5523 17.5523 13 17 13H7C6.44772 13 6 12.5523 6 12Z" - /> - </SvgIcon> - ) -} +export const Bond = (props: SvgIconProps) => ( + <SvgIcon {...props}> + <path + fillRule="evenodd" + clipRule="evenodd" + d="M16 17C14.8954 17 14 16.1046 14 15L14 9C14 7.89543 14.8954 7 16 7L22 7C23.1046 7 24 7.89543 24 9L24 15C24 16.1046 23.1046 17 22 17L16 17ZM16 9L16 15L22 15L22 9L16 9Z" + /> + <path + fillRule="evenodd" + clipRule="evenodd" + d="M2 17C0.89543 17 -1.00647e-07 16.1046 -2.24801e-07 15L-8.99206e-07 9C-1.02336e-06 7.89543 0.895429 7 2 7L8 7C9.10457 7 10 7.89543 10 9L10 15C10 16.1046 9.10457 17 8 17L2 17ZM2 9L2 15L8 15L8 9L2 9Z" + /> + <path + fillRule="evenodd" + clipRule="evenodd" + d="M6 12C6 11.4477 6.44772 11 7 11H17C17.5523 11 18 11.4477 18 12C18 12.5523 17.5523 13 17 13H7C6.44772 13 6 12.5523 6 12Z" + /> + </SvgIcon> +); diff --git a/nym-wallet/src/svg-icons/delegate.tsx b/nym-wallet/src/svg-icons/delegate.tsx index 03a80ed9c0..4aaaaea4f5 100644 --- a/nym-wallet/src/svg-icons/delegate.tsx +++ b/nym-wallet/src/svg-icons/delegate.tsx @@ -1,14 +1,12 @@ -import React from 'react' -import { SvgIcon, SvgIconProps } from '@mui/material' +import React from 'react'; +import { SvgIcon, SvgIconProps } from '@mui/material'; -export const Delegate = (props: SvgIconProps) => { - return ( - <SvgIcon {...props}> - <path d="M4 12V15H6V12H4ZM16 7L14.59 5.59L13 7.17V2H11V7.19L9.39 5.61L8 7L12 11L16 7ZM4 17H20V15H4V17Z" /> - <path d="M20 21C20 21.5523 19.5523 22 19 22H5C4.44772 22 4 21.5523 4 21V20H20V21Z" /> - <rect x="18" y="12" width="2" height="3" /> - <rect x="18" y="17" width="2" height="3" /> - <rect x="4" y="17" width="2" height="3" /> - </SvgIcon> - ) -} +export const Delegate = (props: SvgIconProps) => ( + <SvgIcon {...props}> + <path d="M4 12V15H6V12H4ZM16 7L14.59 5.59L13 7.17V2H11V7.19L9.39 5.61L8 7L12 11L16 7ZM4 17H20V15H4V17Z" /> + <path d="M20 21C20 21.5523 19.5523 22 19 22H5C4.44772 22 4 21.5523 4 21V20H20V21Z" /> + <rect x="18" y="12" width="2" height="3" /> + <rect x="18" y="17" width="2" height="3" /> + <rect x="4" y="17" width="2" height="3" /> + </SvgIcon> +); diff --git a/nym-wallet/src/svg-icons/index.ts b/nym-wallet/src/svg-icons/index.ts index b13c4591ba..2671250474 100644 --- a/nym-wallet/src/svg-icons/index.ts +++ b/nym-wallet/src/svg-icons/index.ts @@ -1,4 +1,4 @@ -export * from './delegate' -export * from './undelegate' -export * from './bond' -export * from './unbond' +export * from './delegate'; +export * from './undelegate'; +export * from './bond'; +export * from './unbond'; diff --git a/nym-wallet/src/svg-icons/node.tsx b/nym-wallet/src/svg-icons/node.tsx index dcaa794d86..e0ae33eb34 100644 --- a/nym-wallet/src/svg-icons/node.tsx +++ b/nym-wallet/src/svg-icons/node.tsx @@ -1,15 +1,13 @@ -import React from 'react' -import { SvgIcon, SvgIconProps } from '@mui/material' +import React from 'react'; +import { SvgIcon, SvgIconProps } from '@mui/material'; -export const Node = (props: SvgIconProps) => { - return ( - <SvgIcon {...props}> - <path - fillRule="evenodd" - clipRule="evenodd" - d="M18.9536 6.99307L12 3.05788L5.04641 6.99304L11.5144 10.5864C11.8164 10.7542 12.1837 10.7542 12.4857 10.5864L18.9536 6.99307ZM19.9005 8.75493L13.457 12.3347C13.3093 12.4167 13.1564 12.4854 13 12.5407V20.3762L19.9005 16.4711V8.75493ZM11 12.5407C10.8436 12.4854 10.6908 12.4167 10.5431 12.3347L4.09946 8.75488V16.4711L11 20.3762V12.5407ZM13.0497 1.2757C12.4002 0.908099 11.5998 0.908099 10.9503 1.2757L3.04973 5.74676C2.40015 6.11437 2 6.79373 2 7.52894V16.4711C2 17.2063 2.40015 17.8856 3.04973 18.2532L10.9503 22.7243C11.5998 23.0919 12.4002 23.0919 13.0497 22.7243L20.9503 18.2532C21.5998 17.8856 22 17.2063 22 16.4711V7.52894C22 6.79373 21.5998 6.11437 20.9503 5.74676L13.0497 1.2757Z" - fill={props.color} - /> - </SvgIcon> - ) -} +export const Node: React.FC<SvgIconProps> = ({ color, ...props }) => ( + <SvgIcon {...props}> + <path + fillRule="evenodd" + clipRule="evenodd" + d="M18.9536 6.99307L12 3.05788L5.04641 6.99304L11.5144 10.5864C11.8164 10.7542 12.1837 10.7542 12.4857 10.5864L18.9536 6.99307ZM19.9005 8.75493L13.457 12.3347C13.3093 12.4167 13.1564 12.4854 13 12.5407V20.3762L19.9005 16.4711V8.75493ZM11 12.5407C10.8436 12.4854 10.6908 12.4167 10.5431 12.3347L4.09946 8.75488V16.4711L11 20.3762V12.5407ZM13.0497 1.2757C12.4002 0.908099 11.5998 0.908099 10.9503 1.2757L3.04973 5.74676C2.40015 6.11437 2 6.79373 2 7.52894V16.4711C2 17.2063 2.40015 17.8856 3.04973 18.2532L10.9503 22.7243C11.5998 23.0919 12.4002 23.0919 13.0497 22.7243L20.9503 18.2532C21.5998 17.8856 22 17.2063 22 16.4711V7.52894C22 6.79373 21.5998 6.11437 20.9503 5.74676L13.0497 1.2757Z" + fill={color} + /> + </SvgIcon> +); diff --git a/nym-wallet/src/svg-icons/unbond.tsx b/nym-wallet/src/svg-icons/unbond.tsx index ccd58b0b8b..39a154a40f 100644 --- a/nym-wallet/src/svg-icons/unbond.tsx +++ b/nym-wallet/src/svg-icons/unbond.tsx @@ -1,19 +1,17 @@ -import React from 'react' -import { SvgIcon, SvgIconProps } from '@mui/material' +import React from 'react'; +import { SvgIcon, SvgIconProps } from '@mui/material'; -export const Unbond = (props: SvgIconProps) => { - return ( - <SvgIcon {...props}> - <path - fillRule="evenodd" - clipRule="evenodd" - d="M16 17C14.8954 17 14 16.1046 14 15L14 9C14 7.89543 14.8954 7 16 7L22 7C23.1046 7 24 7.89543 24 9L24 15C24 16.1046 23.1046 17 22 17L16 17ZM16 9L16 15L22 15L22 9L16 9Z" - /> - <path - fillRule="evenodd" - clipRule="evenodd" - d="M2 17C0.89543 17 -1.00647e-07 16.1046 -2.24801e-07 15L-8.99206e-07 9C-1.02336e-06 7.89543 0.895429 7 2 7L8 7C9.10457 7 10 7.89543 10 9L10 15C10 16.1046 9.10457 17 8 17L2 17ZM2 9L2 15L8 15L8 9L2 9Z" - /> - </SvgIcon> - ) -} +export const Unbond = (props: SvgIconProps) => ( + <SvgIcon {...props}> + <path + fillRule="evenodd" + clipRule="evenodd" + d="M16 17C14.8954 17 14 16.1046 14 15L14 9C14 7.89543 14.8954 7 16 7L22 7C23.1046 7 24 7.89543 24 9L24 15C24 16.1046 23.1046 17 22 17L16 17ZM16 9L16 15L22 15L22 9L16 9Z" + /> + <path + fillRule="evenodd" + clipRule="evenodd" + d="M2 17C0.89543 17 -1.00647e-07 16.1046 -2.24801e-07 15L-8.99206e-07 9C-1.02336e-06 7.89543 0.895429 7 2 7L8 7C9.10457 7 10 7.89543 10 9L10 15C10 16.1046 9.10457 17 8 17L2 17ZM2 9L2 15L8 15L8 9L2 9Z" + /> + </SvgIcon> +); diff --git a/nym-wallet/src/svg-icons/undelegate.tsx b/nym-wallet/src/svg-icons/undelegate.tsx index 0599b3f207..48ba08128e 100644 --- a/nym-wallet/src/svg-icons/undelegate.tsx +++ b/nym-wallet/src/svg-icons/undelegate.tsx @@ -1,15 +1,13 @@ -import React from 'react' -import { SvgIcon, SvgIconProps } from '@mui/material' +import React from 'react'; +import { SvgIcon, SvgIconProps } from '@mui/material'; -export const Undelegate = (props: SvgIconProps) => { - return ( - <SvgIcon {...props}> - <path d="M4 12V15H6V12H4ZM4 17H20V15H4V17Z" /> - <path d="M20 21C20 21.5523 19.5523 22 19 22H5C4.44772 22 4 21.5523 4 21V20H20V21Z" /> - <rect x="18" y="12" width="2" height="3" /> - <rect x="18" y="17" width="2" height="3" /> - <rect x="4" y="17" width="2" height="3" /> - <path d="M9.41 7.41L8 6L12 2L16 6L14.61 7.39L13 5.81L13 11L11 11L11 5.83L9.41 7.41Z" /> - </SvgIcon> - ) -} +export const Undelegate = (props: SvgIconProps) => ( + <SvgIcon {...props}> + <path d="M4 12V15H6V12H4ZM4 17H20V15H4V17Z" /> + <path d="M20 21C20 21.5523 19.5523 22 19 22H5C4.44772 22 4 21.5523 4 21V20H20V21Z" /> + <rect x="18" y="12" width="2" height="3" /> + <rect x="18" y="17" width="2" height="3" /> + <rect x="4" y="17" width="2" height="3" /> + <path d="M9.41 7.41L8 6L12 2L16 6L14.61 7.39L13 5.81L13 11L11 11L11 5.83L9.41 7.41Z" /> + </SvgIcon> +); diff --git a/nym-wallet/src/theme/index.tsx b/nym-wallet/src/theme/index.tsx index dcb5619986..5a701dbabf 100644 --- a/nym-wallet/src/theme/index.tsx +++ b/nym-wallet/src/theme/index.tsx @@ -1,29 +1,29 @@ -import React, { useContext } from 'react' -import { createTheme, ThemeProvider } from '@mui/material/styles' -import { CssBaseline } from '@mui/material' -import { getDesignTokens } from './theme' -import { ClientContext } from '../context/main' +import React, { useContext } from 'react'; +import { createTheme, ThemeProvider } from '@mui/material/styles'; +import { CssBaseline } from '@mui/material'; +import { getDesignTokens } from './theme'; +import { ClientContext } from '../context/main'; /** * Provides the theme for the Network Explorer by reacting to the light/dark mode choice stored in the app context. */ export const NymWalletTheme: React.FC = ({ children }) => { - const { mode } = useContext(ClientContext) - const theme = React.useMemo(() => createTheme(getDesignTokens(mode)), [mode]) + const { mode } = useContext(ClientContext); + const theme = React.useMemo(() => createTheme(getDesignTokens(mode)), [mode]); return ( <ThemeProvider theme={theme}> <CssBaseline /> {children} </ThemeProvider> - ) -} + ); +}; export const WelcomeTheme: React.FC = ({ children }) => { - const theme = createTheme(getDesignTokens('dark')) + const theme = createTheme(getDesignTokens('dark')); return ( <ThemeProvider theme={theme}> <CssBaseline /> {children} </ThemeProvider> - ) -} + ); +}; diff --git a/nym-wallet/src/theme/mui-theme.d.ts b/nym-wallet/src/theme/mui-theme.d.ts index 86599b10e9..f94302c092 100644 --- a/nym-wallet/src/theme/mui-theme.d.ts +++ b/nym-wallet/src/theme/mui-theme.d.ts @@ -1,6 +1,6 @@ /* eslint-disable no-shadow,@typescript-eslint/no-unused-vars,@typescript-eslint/no-empty-interface */ -import { Theme, ThemeOptions, Palette, PaletteOptions } from '@mui/material/styles' -import { PaletteMode } from '@mui/material' +import { Theme, ThemeOptions, Palette, PaletteOptions } from '@mui/material/styles'; +import { PaletteMode } from '@mui/material'; /** * If you are unfamiliar with Material UI theming, please read the following first: @@ -28,43 +28,43 @@ declare module '@mui/material/styles' { * This interface defines a palette used across Nym for branding */ interface NymPalette { - highlight: string - success: string - info: string - fee: string - background: { light: string; dark: string } + highlight: string; + success: string; + info: string; + fee: string; + background: { light: string; dark: string }; text: { - light: string - dark: string - } + light: string; + dark: string; + }; } interface NymPaletteVariant { - mode: PaletteMode + mode: PaletteMode; background: { - main: string - paper: string - } + main: string; + paper: string; + }; text: { - main: string - } + main: string; + }; topNav: { - background: string - } + background: string; + }; } /** * A palette definition only for the Nym Wallet that extends the Nym palette */ interface NymWalletPalette { - nymWallet: {} + nymWallet: {}; } interface NymPaletteAndNymWalletPalette { - nym: NymPalette & NymWalletPalette + nym: NymPalette & NymWalletPalette; } - type NymPaletteAndNymWalletPaletteOptions = Partial<NymPaletteAndNymWalletPalette> + type NymPaletteAndNymWalletPaletteOptions = Partial<NymPaletteAndNymWalletPalette>; /** * Add anything not palette related to the theme here diff --git a/nym-wallet/src/theme/theme.tsx b/nym-wallet/src/theme/theme.tsx index b6b0d70024..add15b3491 100644 --- a/nym-wallet/src/theme/theme.tsx +++ b/nym-wallet/src/theme/theme.tsx @@ -1,4 +1,4 @@ -import { PaletteMode } from '@mui/material' +import { PaletteMode } from '@mui/material'; import { PaletteOptions, NymPalette, @@ -6,7 +6,7 @@ import { ThemeOptions, createTheme, NymPaletteVariant, -} from '@mui/material/styles' +} from '@mui/material/styles'; //----------------------------------------------------------------------------------------------- // Nym palette type definitions @@ -29,7 +29,7 @@ const nymPalette: NymPalette = { light: '#F2F2F2', dark: '#121726', }, -} +}; const darkMode: NymPaletteVariant = { mode: 'dark', @@ -43,7 +43,7 @@ const darkMode: NymPaletteVariant = { topNav: { background: '#111826', }, -} +}; const lightMode: NymPaletteVariant = { mode: 'light', @@ -57,7 +57,7 @@ const lightMode: NymPaletteVariant = { topNav: { background: '#111826', }, -} +}; /** * Nym palette specific to the Nym Wallet @@ -65,9 +65,9 @@ const lightMode: NymPaletteVariant = { * IMPORTANT: do not export this constant, always use the MUI `useTheme` hook to get the correct * colours for dark/light mode. */ -const nymWalletPalette = (variant: NymPaletteVariant): NymWalletPalette => ({ +const nymWalletPalette = (_variant: NymPaletteVariant): NymWalletPalette => ({ nymWallet: {}, -}) +}); //----------------------------------------------------------------------------------------------- // Nym palettes for light and dark mode @@ -94,7 +94,7 @@ const variantToMUIPalette = (variant: NymPaletteVariant): PaletteOptions => ({ default: variant.background.main, paper: variant.background.paper, }, -}) +}); /** * Returns the Network Explorer palette for light mode. @@ -105,7 +105,7 @@ const createLightModePalette = (): PaletteOptions => ({ ...nymWalletPalette(lightMode), }, ...variantToMUIPalette(lightMode), -}) +}); /** * Returns the Network Explorer palette for dark mode. @@ -116,7 +116,7 @@ const createDarkModePalette = (): PaletteOptions => ({ ...nymWalletPalette(darkMode), }, ...variantToMUIPalette(darkMode), -}) +}); /** * IMPORANT: if you need to get the default MUI theme, use the following @@ -157,7 +157,7 @@ export const getDesignTokens = (mode: PaletteMode): ThemeOptions => { mode, ...(mode === 'light' ? createLightModePalette() : createDarkModePalette()), }, - }) + }); // then customise theme and components return { @@ -217,5 +217,5 @@ export const getDesignTokens = (mode: PaletteMode): ThemeOptions => { }, }, palette, - } -} + }; +}; diff --git a/nym-wallet/src/types/corenodestatusresponse.ts b/nym-wallet/src/types/corenodestatusresponse.ts index 2a743b37a9..44ac51adbe 100644 --- a/nym-wallet/src/types/corenodestatusresponse.ts +++ b/nym-wallet/src/types/corenodestatusresponse.ts @@ -1,4 +1,4 @@ export interface CoreNodeStatusResponse { identity: string; count: number; -} \ No newline at end of file +} diff --git a/nym-wallet/src/types/global.ts b/nym-wallet/src/types/global.ts index f08653cb0d..0fd22f8803 100644 --- a/nym-wallet/src/types/global.ts +++ b/nym-wallet/src/types/global.ts @@ -1,4 +1,4 @@ -import { Coin, Denom, Gateway, MixNode, PledgeData } from '.' +import { Coin, Denom, Gateway, MixNode, PledgeData } from '.'; export enum EnumNodeType { mixnode = 'mixnode', @@ -6,71 +6,71 @@ export enum EnumNodeType { } export type TNodeOwnership = { - hasOwnership: boolean - nodeType?: EnumNodeType - vestingPledge?: PledgeData -} + hasOwnership: boolean; + nodeType?: EnumNodeType; + vestingPledge?: PledgeData; +}; export type TClientDetails = { account: { - client_address: string - contract_address: string - demon: Denom - } -} + client_address: string; + contract_address: string; + demon: Denom; + }; +}; export type TSignInWithMnemonic = { - denom: string -} & TClientDetails + denom: string; +} & TClientDetails; export type TCreateAccount = { - mnemonic: string -} & TSignInWithMnemonic + mnemonic: string; +} & TSignInWithMnemonic; export type TFee = { - [EnumNodeType.mixnode]: Coin - [EnumNodeType.gateway]?: Coin -} + [EnumNodeType.mixnode]: Coin; + [EnumNodeType.gateway]?: Coin; +}; export type TDelegation = { - owner: string - node_identity: string - amount: Coin - block_height: number - proxy: string // proxy address used to delegate the funds on behalf of anouther address -} + owner: string; + node_identity: string; + amount: Coin; + block_height: number; + proxy: string; // proxy address used to delegate the funds on behalf of anouther address +}; export type TPagedDelegations = { - delegations: TDelegation[] - start_next_after: string -} + delegations: TDelegation[]; + start_next_after: string; +}; export type TMixnodeBondDetails = { - pledge_amount: Coin - total_delegation: Coin - owner: string - layer: string - block_height: number - mix_node: MixNode - proxy: any -} + pledge_amount: Coin; + total_delegation: Coin; + owner: string; + layer: string; + block_height: number; + mix_node: MixNode; + proxy: any; +}; export type TBondArgs = { - type: EnumNodeType - data: MixNode | Gateway - pledge: Coin - ownerSignature: string -} + type: EnumNodeType; + data: MixNode | Gateway; + pledge: Coin; + ownerSignature: string; +}; export type TDelegateArgs = { - type: EnumNodeType - identity: string - amount: Coin -} + type: EnumNodeType; + identity: string; + amount: Coin; +}; export type TCurrency = { - minor: 'UNYM' | 'UNYMT' - major: 'NYM' | 'NYMT' -} + minor: 'UNYM' | 'UNYMT'; + major: 'NYM' | 'NYMT'; +}; -export type Period = 'Before' | { In: number } | 'After' +export type Period = 'Before' | { In: number } | 'After'; diff --git a/nym-wallet/src/types/index.ts b/nym-wallet/src/types/index.ts index c0f4287d79..f567dad25f 100644 --- a/nym-wallet/src/types/index.ts +++ b/nym-wallet/src/types/index.ts @@ -1,2 +1,2 @@ -export * from './rust' -export * from './global' +export * from './rust'; +export * from './global'; diff --git a/nym-wallet/src/types/rust/account.ts b/nym-wallet/src/types/rust/account.ts index c621c7b339..9d10a5505b 100644 --- a/nym-wallet/src/types/rust/account.ts +++ b/nym-wallet/src/types/rust/account.ts @@ -1,3 +1,7 @@ -import type { Denom } from "./denom"; +import type { Denom } from './denom'; -export interface Account { contract_address: string, client_address: string, denom: Denom, } \ No newline at end of file +export interface Account { + contract_address: string; + client_address: string; + denom: Denom; +} diff --git a/nym-wallet/src/types/rust/balance.ts b/nym-wallet/src/types/rust/balance.ts index ea260995cf..8e00f8b92e 100644 --- a/nym-wallet/src/types/rust/balance.ts +++ b/nym-wallet/src/types/rust/balance.ts @@ -1,3 +1,6 @@ -import type { Coin } from "./coin"; +import type { Coin } from './coin'; -export interface Balance { coin: Coin, printable_balance: string, } \ No newline at end of file +export interface Balance { + coin: Coin; + printable_balance: string; +} diff --git a/nym-wallet/src/types/rust/coin.ts b/nym-wallet/src/types/rust/coin.ts index fd5b6ef4e8..7036ab5889 100644 --- a/nym-wallet/src/types/rust/coin.ts +++ b/nym-wallet/src/types/rust/coin.ts @@ -1,3 +1,6 @@ -import type { Denom } from "./denom"; +import type { Denom } from './denom'; -export interface Coin { amount: string, denom: Denom, } \ No newline at end of file +export interface Coin { + amount: string; + denom: Denom; +} diff --git a/nym-wallet/src/types/rust/corenodestatusresponse.ts b/nym-wallet/src/types/rust/corenodestatusresponse.ts index 4314f52db9..44ac51adbe 100644 --- a/nym-wallet/src/types/rust/corenodestatusresponse.ts +++ b/nym-wallet/src/types/rust/corenodestatusresponse.ts @@ -1,2 +1,4 @@ - -export interface CoreNodeStatusResponse { identity: string, count: number, } \ No newline at end of file +export interface CoreNodeStatusResponse { + identity: string; + count: number; +} diff --git a/nym-wallet/src/types/rust/createdaccount.ts b/nym-wallet/src/types/rust/createdaccount.ts index c2cb9ec483..e75585c4a2 100644 --- a/nym-wallet/src/types/rust/createdaccount.ts +++ b/nym-wallet/src/types/rust/createdaccount.ts @@ -1,3 +1,6 @@ -import type { Account } from "./account"; +import type { Account } from './account'; -export interface CreatedAccount { account: Account, mnemonic: string, } \ No newline at end of file +export interface CreatedAccount { + account: Account; + mnemonic: string; +} diff --git a/nym-wallet/src/types/rust/delegationresult.ts b/nym-wallet/src/types/rust/delegationresult.ts index 778fdd2dca..5f09b66e82 100644 --- a/nym-wallet/src/types/rust/delegationresult.ts +++ b/nym-wallet/src/types/rust/delegationresult.ts @@ -1,3 +1,7 @@ -import type { Coin } from "./coin"; +import type { Coin } from './coin'; -export interface DelegationResult { source_address: string, target_address: string, amount: Coin | null, } \ No newline at end of file +export interface DelegationResult { + source_address: string; + target_address: string; + amount: Coin | null; +} diff --git a/nym-wallet/src/types/rust/denom.ts b/nym-wallet/src/types/rust/denom.ts index 8120eafdd0..5c7fca48c1 100644 --- a/nym-wallet/src/types/rust/denom.ts +++ b/nym-wallet/src/types/rust/denom.ts @@ -1,2 +1 @@ - -export type Denom = "Major" | "Minor"; \ No newline at end of file +export type Denom = 'Major' | 'Minor'; diff --git a/nym-wallet/src/types/rust/gateway.ts b/nym-wallet/src/types/rust/gateway.ts index 24b3b7eb58..1dbba0e5ed 100644 --- a/nym-wallet/src/types/rust/gateway.ts +++ b/nym-wallet/src/types/rust/gateway.ts @@ -1,2 +1,9 @@ - -export interface Gateway { host: string, mix_port: number, clients_port: number, location: string, sphinx_key: string, identity_key: string, version: string, } \ No newline at end of file +export interface Gateway { + host: string; + mix_port: number; + clients_port: number; + location: string; + sphinx_key: string; + identity_key: string; + version: string; +} diff --git a/nym-wallet/src/types/rust/inclusionprobabilityresponse.ts b/nym-wallet/src/types/rust/inclusionprobabilityresponse.ts index 8d5a4dfb94..ec83a70b04 100644 --- a/nym-wallet/src/types/rust/inclusionprobabilityresponse.ts +++ b/nym-wallet/src/types/rust/inclusionprobabilityresponse.ts @@ -1,2 +1,4 @@ - -export interface InclusionProbabilityResponse { in_active: number, in_reserve: number, } \ No newline at end of file +export interface InclusionProbabilityResponse { + in_active: number; + in_reserve: number; +} diff --git a/nym-wallet/src/types/rust/index.ts b/nym-wallet/src/types/rust/index.ts index f9db99806d..31f0b85833 100644 --- a/nym-wallet/src/types/rust/index.ts +++ b/nym-wallet/src/types/rust/index.ts @@ -1,24 +1,22 @@ -export * from './account' -export * from './balance' -export * from './coin' -export * from './delegationresult' -export * from './denom' -export * from './gateway' -export * from './inclusionprobabilityresponse' -export * from './mixnode' -export * from './mixnodestatus' -export * from './mixnodestatus' -export * from './mixnodestatusresponse' -export * from './mixnodestatusresponse' -export * from './network' -export * from './operation' -export * from './originalvestingresponse' -export * from './rewardedsetnodestatus' -export * from './rewardestimationresponse' -export * from './stakesaturationresponse' -export * from './stateparams' -export * from './tauritxresult' -export * from './transactiondetails' -export * from './vestingaccountinfo' -export * from './pledgedata' -export * from './vestingperiod' +export * from './account'; +export * from './balance'; +export * from './coin'; +export * from './delegationresult'; +export * from './denom'; +export * from './gateway'; +export * from './inclusionprobabilityresponse'; +export * from './mixnode'; +export * from './mixnodestatus'; +export * from './mixnodestatusresponse'; +export * from './network'; +export * from './operation'; +export * from './originalvestingresponse'; +export * from './rewardedsetnodestatus'; +export * from './rewardestimationresponse'; +export * from './stakesaturationresponse'; +export * from './stateparams'; +export * from './tauritxresult'; +export * from './transactiondetails'; +export * from './vestingaccountinfo'; +export * from './pledgedata'; +export * from './vestingperiod'; diff --git a/nym-wallet/src/types/rust/mixnode.ts b/nym-wallet/src/types/rust/mixnode.ts index 6b6d783dda..d1c3a9574b 100644 --- a/nym-wallet/src/types/rust/mixnode.ts +++ b/nym-wallet/src/types/rust/mixnode.ts @@ -1,2 +1,10 @@ - -export interface MixNode { host: string, mix_port: number, verloc_port: number, http_api_port: number, sphinx_key: string, identity_key: string, version: string, profit_margin_percent: number, } \ No newline at end of file +export interface MixNode { + host: string; + mix_port: number; + verloc_port: number; + http_api_port: number; + sphinx_key: string; + identity_key: string; + version: string; + profit_margin_percent: number; +} diff --git a/nym-wallet/src/types/rust/mixnodestatus.ts b/nym-wallet/src/types/rust/mixnodestatus.ts index a7b76b836f..da89c7e8a7 100644 --- a/nym-wallet/src/types/rust/mixnodestatus.ts +++ b/nym-wallet/src/types/rust/mixnodestatus.ts @@ -1,2 +1 @@ - -export type MixnodeStatus = "active" | "standby" | "inactive" | "not_found"; \ No newline at end of file +export type MixnodeStatus = 'active' | 'standby' | 'inactive' | 'not_found'; diff --git a/nym-wallet/src/types/rust/mixnodestatusresponse.ts b/nym-wallet/src/types/rust/mixnodestatusresponse.ts index 837b322eba..9c2dd4f9a1 100644 --- a/nym-wallet/src/types/rust/mixnodestatusresponse.ts +++ b/nym-wallet/src/types/rust/mixnodestatusresponse.ts @@ -1,3 +1,5 @@ -import type { MixnodeStatus } from "./mixnodestatus"; +import type { MixnodeStatus } from './mixnodestatus'; -export interface MixnodeStatusResponse { status: MixnodeStatus, } \ No newline at end of file +export interface MixnodeStatusResponse { + status: MixnodeStatus; +} diff --git a/nym-wallet/src/types/rust/network.ts b/nym-wallet/src/types/rust/network.ts index fd31bccafa..f8615cd992 100644 --- a/nym-wallet/src/types/rust/network.ts +++ b/nym-wallet/src/types/rust/network.ts @@ -1,2 +1 @@ - -export type Network = "QA" | "SANDBOX" | "MAINNET"; \ No newline at end of file +export type Network = 'QA' | 'SANDBOX' | 'MAINNET'; diff --git a/nym-wallet/src/types/rust/operation.ts b/nym-wallet/src/types/rust/operation.ts index 8474a064fe..405b5dbb0b 100644 --- a/nym-wallet/src/types/rust/operation.ts +++ b/nym-wallet/src/types/rust/operation.ts @@ -1,2 +1,34 @@ - -export type Operation = "Upload" | "Init" | "Migrate" | "ChangeAdmin" | "Send" | "BondMixnode" | "BondMixnodeOnBehalf" | "UnbondMixnode" | "UnbondMixnodeOnBehalf" | "UpdateMixnodeConfig" | "DelegateToMixnode" | "DelegateToMixnodeOnBehalf" | "UndelegateFromMixnode" | "UndelegateFromMixnodeOnBehalf" | "BondGateway" | "BondGatewayOnBehalf" | "UnbondGateway" | "UnbondGatewayOnBehalf" | "UpdateContractSettings" | "BeginMixnodeRewarding" | "FinishMixnodeRewarding" | "TrackUnbondGateway" | "TrackUnbondMixnode" | "WithdrawVestedCoins" | "TrackUndelegation" | "CreatePeriodicVestingAccount" | "AdvanceCurrentInterval" | "WriteRewardedSet" | "ClearRewardedSet" | "UpdateMixnetAddress"; \ No newline at end of file +export type Operation = + | 'Upload' + | 'Init' + | 'Migrate' + | 'ChangeAdmin' + | 'Send' + | 'BondMixnode' + | 'BondMixnodeOnBehalf' + | 'UnbondMixnode' + | 'UnbondMixnodeOnBehalf' + | 'UpdateMixnodeConfig' + | 'DelegateToMixnode' + | 'DelegateToMixnodeOnBehalf' + | 'UndelegateFromMixnode' + | 'UndelegateFromMixnodeOnBehalf' + | 'BondGateway' + | 'BondGatewayOnBehalf' + | 'UnbondGateway' + | 'UnbondGatewayOnBehalf' + | 'UpdateContractSettings' + | 'BeginMixnodeRewarding' + | 'FinishMixnodeRewarding' + | 'TrackUnbondGateway' + | 'TrackUnbondMixnode' + | 'WithdrawVestedCoins' + | 'TrackUndelegation' + | 'CreatePeriodicVestingAccount' + | 'AdvanceCurrentInterval' + | 'AdvanceCurrentEpoch' + | 'WriteRewardedSet' + | 'ClearRewardedSet' + | 'UpdateMixnetAddress' + | 'CheckpointMixnodes' + | 'ReconcileDelegations'; diff --git a/nym-wallet/src/types/rust/originalvestingresponse.ts b/nym-wallet/src/types/rust/originalvestingresponse.ts index d8c581443c..cb57d5b456 100644 --- a/nym-wallet/src/types/rust/originalvestingresponse.ts +++ b/nym-wallet/src/types/rust/originalvestingresponse.ts @@ -1,3 +1,7 @@ -import type { Coin } from "./coin"; +import type { Coin } from './coin'; -export interface OriginalVestingResponse { amount: Coin, number_of_periods: number, period_duration: bigint, } \ No newline at end of file +export interface OriginalVestingResponse { + amount: Coin; + number_of_periods: number; + period_duration: bigint; +} diff --git a/nym-wallet/src/types/rust/period.ts b/nym-wallet/src/types/rust/period.ts index 809b6c2d87..05d9890d5f 100644 --- a/nym-wallet/src/types/rust/period.ts +++ b/nym-wallet/src/types/rust/period.ts @@ -1,2 +1 @@ - -export type Period = "Before" | { In: number } | "After"; \ No newline at end of file +export type Period = 'Before' | { In: number } | 'After'; diff --git a/nym-wallet/src/types/rust/pledgedata.ts b/nym-wallet/src/types/rust/pledgedata.ts index c1312bdc91..996a999329 100644 --- a/nym-wallet/src/types/rust/pledgedata.ts +++ b/nym-wallet/src/types/rust/pledgedata.ts @@ -1,3 +1,6 @@ -import type { Coin } from "./coin"; +import type { Coin } from './coin'; -export interface PledgeData { amount: Coin, block_time: bigint, } \ No newline at end of file +export interface PledgeData { + amount: Coin; + block_time: bigint; +} diff --git a/nym-wallet/src/types/rust/rewardedsetnodestatus.ts b/nym-wallet/src/types/rust/rewardedsetnodestatus.ts index 3f0bb8e3e6..8ddd13d047 100644 --- a/nym-wallet/src/types/rust/rewardedsetnodestatus.ts +++ b/nym-wallet/src/types/rust/rewardedsetnodestatus.ts @@ -1,2 +1 @@ - -export type RewardedSetNodeStatus = "Active" | "Standby"; \ No newline at end of file +export type RewardedSetNodeStatus = 'Active' | 'Standby'; diff --git a/nym-wallet/src/types/rust/rewardestimationresponse.ts b/nym-wallet/src/types/rust/rewardestimationresponse.ts index a1bf4657b4..6ca4481acc 100644 --- a/nym-wallet/src/types/rust/rewardestimationresponse.ts +++ b/nym-wallet/src/types/rust/rewardestimationresponse.ts @@ -1,2 +1,9 @@ - -export interface RewardEstimationResponse { estimated_total_node_reward: bigint, estimated_operator_reward: bigint, estimated_delegators_reward: bigint, current_interval_start: bigint, current_interval_end: bigint, current_interval_uptime: number, as_at: bigint, } \ No newline at end of file +export interface RewardEstimationResponse { + estimated_total_node_reward: bigint; + estimated_operator_reward: bigint; + estimated_delegators_reward: bigint; + current_interval_start: bigint; + current_interval_end: bigint; + current_interval_uptime: number; + as_at: bigint; +} diff --git a/nym-wallet/src/types/rust/stakesaturationresponse.ts b/nym-wallet/src/types/rust/stakesaturationresponse.ts index 7f651f89cc..8f399885a4 100644 --- a/nym-wallet/src/types/rust/stakesaturationresponse.ts +++ b/nym-wallet/src/types/rust/stakesaturationresponse.ts @@ -1,2 +1,4 @@ - -export interface StakeSaturationResponse { saturation: number, as_at: bigint, } \ No newline at end of file +export interface StakeSaturationResponse { + saturation: number; + as_at: bigint; +} diff --git a/nym-wallet/src/types/rust/stateparams.ts b/nym-wallet/src/types/rust/stateparams.ts index 22f6653c0e..68c3e018e9 100644 --- a/nym-wallet/src/types/rust/stateparams.ts +++ b/nym-wallet/src/types/rust/stateparams.ts @@ -1,2 +1,6 @@ - -export interface TauriContractStateParams { minimum_mixnode_pledge: string, minimum_gateway_pledge: string, mixnode_rewarded_set_size: number, mixnode_active_set_size: number, } \ No newline at end of file +export interface TauriContractStateParams { + minimum_mixnode_pledge: string; + minimum_gateway_pledge: string; + mixnode_rewarded_set_size: number; + mixnode_active_set_size: number; +} diff --git a/nym-wallet/src/types/rust/tauritxresult.ts b/nym-wallet/src/types/rust/tauritxresult.ts index 013cc66412..6a9ae8ad60 100644 --- a/nym-wallet/src/types/rust/tauritxresult.ts +++ b/nym-wallet/src/types/rust/tauritxresult.ts @@ -1,3 +1,10 @@ -import type { TransactionDetails } from "./transactiondetails"; +import type { TransactionDetails } from './transactiondetails'; -export interface TauriTxResult { block_height: bigint, code: number, details: TransactionDetails, gas_used: bigint, gas_wanted: bigint, tx_hash: string, } \ No newline at end of file +export interface TauriTxResult { + block_height: bigint; + code: number; + details: TransactionDetails; + gas_used: bigint; + gas_wanted: bigint; + tx_hash: string; +} diff --git a/nym-wallet/src/types/rust/transactiondetails.ts b/nym-wallet/src/types/rust/transactiondetails.ts index b24d2f8944..d375b437f1 100644 --- a/nym-wallet/src/types/rust/transactiondetails.ts +++ b/nym-wallet/src/types/rust/transactiondetails.ts @@ -1,3 +1,7 @@ -import type { Coin } from "./coin"; +import type { Coin } from './coin'; -export interface TransactionDetails { amount: Coin, from_address: string, to_address: string, } \ No newline at end of file +export interface TransactionDetails { + amount: Coin; + from_address: string; + to_address: string; +} diff --git a/nym-wallet/src/types/rust/vestingaccountinfo.ts b/nym-wallet/src/types/rust/vestingaccountinfo.ts index addfc1ef87..17d44a5983 100644 --- a/nym-wallet/src/types/rust/vestingaccountinfo.ts +++ b/nym-wallet/src/types/rust/vestingaccountinfo.ts @@ -1,4 +1,10 @@ -import type { Coin } from "./coin"; -import type { VestingPeriod } from "./vestingperiod"; +import type { Coin } from './coin'; +import type { VestingPeriod } from './vestingperiod'; -export interface VestingAccountInfo { owner_address: string, staking_address: string | null, start_time: bigint, periods: Array<VestingPeriod>, coin: Coin, } \ No newline at end of file +export interface VestingAccountInfo { + owner_address: string; + staking_address: string | null; + start_time: bigint; + periods: Array<VestingPeriod>; + coin: Coin; +} diff --git a/nym-wallet/src/types/rust/vestingperiod.ts b/nym-wallet/src/types/rust/vestingperiod.ts index fb3cf1c7b2..de1089005f 100644 --- a/nym-wallet/src/types/rust/vestingperiod.ts +++ b/nym-wallet/src/types/rust/vestingperiod.ts @@ -1,2 +1,4 @@ - -export interface VestingPeriod { start_time: bigint, period_seconds: bigint, } \ No newline at end of file +export interface VestingPeriod { + start_time: bigint; + period_seconds: bigint; +} diff --git a/nym-wallet/src/typings/jpeg.d.ts b/nym-wallet/src/typings/jpeg.d.ts new file mode 100644 index 0000000000..af2ed72913 --- /dev/null +++ b/nym-wallet/src/typings/jpeg.d.ts @@ -0,0 +1,9 @@ +declare module '*.jpeg' { + const value: any; + export default value; +} + +declare module '*.jpg' { + const value: any; + export default value; +} diff --git a/nym-wallet/src/typings/json.d.ts b/nym-wallet/src/typings/json.d.ts new file mode 100644 index 0000000000..b72dd46ee5 --- /dev/null +++ b/nym-wallet/src/typings/json.d.ts @@ -0,0 +1,4 @@ +declare module '*.json' { + const content: any; + export default content; +} diff --git a/nym-wallet/src/typings/png.d.ts b/nym-wallet/src/typings/png.d.ts new file mode 100644 index 0000000000..dd84df40a4 --- /dev/null +++ b/nym-wallet/src/typings/png.d.ts @@ -0,0 +1,4 @@ +declare module '*.png' { + const content: any; + export default content; +} diff --git a/nym-wallet/src/typings/svg.d.ts b/nym-wallet/src/typings/svg.d.ts new file mode 100644 index 0000000000..091d25e210 --- /dev/null +++ b/nym-wallet/src/typings/svg.d.ts @@ -0,0 +1,4 @@ +declare module '*.svg' { + const content: any; + export default content; +} diff --git a/nym-wallet/src/utils/index.ts b/nym-wallet/src/utils/index.ts index fbb35fc28f..79bac07a25 100644 --- a/nym-wallet/src/utils/index.ts +++ b/nym-wallet/src/utils/index.ts @@ -1,154 +1,146 @@ -import { invoke } from '@tauri-apps/api' -import { appWindow } from '@tauri-apps/api/window' -import bs58 from 'bs58' -import { minor, valid } from 'semver' -import { userBalance, majorToMinor, getLockedCoins } from '../requests' -import { Coin, Network, Period, TCurrency } from '../types' +import { invoke } from '@tauri-apps/api'; +import { appWindow } from '@tauri-apps/api/window'; +import bs58 from 'bs58'; +import { minor, valid } from 'semver'; +import { userBalance, majorToMinor, getLockedCoins } from '../requests'; +import { Coin, Network, TCurrency } from '../types'; export const validateKey = (key: string, bytesLength: number): boolean => { // it must be a valid base58 key try { - const bytes = bs58.decode(key) + const bytes = bs58.decode(key); // of length 32 - return bytes.length === bytesLength + return bytes.length === bytesLength; } catch (e) { - console.error(e) - return false + console.error(e); + return false; } -} +}; + +export const basicRawCoinValueValidation = (rawAmount: string): boolean => { + const amountFloat = parseFloat(rawAmount); + + // it cannot have more than 6 decimal places + if (amountFloat !== parseInt(amountFloat.toFixed(6), Number(10))) { + return false; + } + + // it cannot be larger than the total supply + if (amountFloat > 1_000_000_000_000_000) { + return false; + } + + // it can't be lower than one micro coin + return amountFloat >= 0.000001; +}; export const validateAmount = async (amount: string, minimum: string): Promise<boolean> => { // tests basic coin value requirements, like no more than 6 decimal places, value lower than total supply, etc if (!Number(amount)) { - return false + return false; } try { const minorValueStr: Coin = await invoke('major_to_minor', { amount, - }) + }); if (!basicRawCoinValueValidation(minorValueStr.amount)) { - return false + return false; } - const minorValue = parseInt(minorValueStr.amount) + const minorValue = parseInt(minorValueStr.amount, Number(10)); - return minorValue >= parseInt(minimum) + return minorValue >= parseInt(minimum, Number(10)); } catch (e) { - console.log(e) - return false + console.error(e); + return false; } // this conversion seems really iffy but I'm not sure how to better approach it -} - -export const basicRawCoinValueValidation = (rawAmount: string): boolean => { - const amountFloat = parseFloat(rawAmount) - - // it cannot have more than 6 decimal places - if (amountFloat !== parseInt(amountFloat.toFixed(6))) { - return false - } - - // it cannot be larger than the total supply - if (amountFloat > 1_000_000_000_000_000) { - return false - } - - // it can't be lower than one micro coin - return amountFloat >= 0.000001 -} +}; export const isValidHostname = (value: string) => { // regex for ipv4 and ipv6 and hhostname- source http://jsfiddle.net/DanielD/8S4nq/ const hostnameRegex = - /((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))|(^\s*((?=.{1,255}$)(?=.*[A-Za-z].*)[0-9A-Za-z](?:(?:[0-9A-Za-z]|\b-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|\b-){0,61}[0-9A-Za-z])?)*)\s*$)/ + /((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))|(^\s*((?=.{1,255}$)(?=.*[A-Za-z].*)[0-9A-Za-z](?:(?:[0-9A-Za-z]|\b-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|\b-){0,61}[0-9A-Za-z])?)*)\s*$)/; - return hostnameRegex.test(value) -} + return hostnameRegex.test(value); +}; export const validateVersion = (version: string): boolean => { try { - const minorVersion = minor(version) - const validVersion = valid(version) - return validVersion !== null && minorVersion >= 11 + const minorVersion = minor(version); + const validVersion = valid(version); + return validVersion !== null && minorVersion >= 11; } catch (e) { - return false + return false; } -} +}; -export const validateLocation = (location: string): boolean => { +export const validateLocation = (location: string): boolean => // right now only perform the stupid check of whether the user copy-pasted the tooltip... (with or without brackets) - return !location.trim().includes('physical location of your node') -} + !location.trim().includes('physical location of your node'); -export const validateRawPort = (rawPort: number): boolean => !isNaN(rawPort) && rawPort >= 1 && rawPort <= 65535 +export const validateRawPort = (rawPort: number): boolean => !Number.isNaN(rawPort) && rawPort >= 1 && rawPort <= 65535; -export const truncate = (text: string, trim: number) => text.substring(0, trim) + '...' +export const truncate = (text: string, trim: number) => `${text.substring(0, trim)}...`; -export const isGreaterThan = (a: number, b: number) => a > b +export const isGreaterThan = (a: number, b: number) => a > b; -export const checkHasEnoughFunds = async (allocationValue: string) => { +export const checkHasEnoughFunds = async (allocationValue: string): Promise<boolean> => { try { - const walletValue = await userBalance() - const minorValue = await majorToMinor(allocationValue) - const remainingBalance = +walletValue.coin.amount - +minorValue.amount - return remainingBalance >= 0 + const walletValue = await userBalance(); + const minorValue = await majorToMinor(allocationValue); + const remainingBalance = +walletValue.coin.amount - +minorValue.amount; + return remainingBalance >= 0; } catch (e) { - console.log(e) + console.log(e); } -} + return false; +}; export const checkHasEnoughLockedTokens = async (allocationValue: string) => { try { - const lockedTokens = await getLockedCoins() - const remainingBalance = +lockedTokens.amount - +allocationValue - console.log(remainingBalance) - return remainingBalance >= 0 + const lockedTokens = await getLockedCoins(); + const remainingBalance = +lockedTokens.amount - +allocationValue; + return remainingBalance >= 0; } catch (e) { - console.log(e) + console.error(e); } -} + return false; +}; export const randomNumberBetween = (min: number, max: number) => { - min = Math.ceil(min) - max = Math.floor(max) - return Math.floor(Math.random() * (max - min + 1) + min) -} - -export const currencyMap = (network?: Network) => { - let currency = { - minor: 'UNYM', - major: 'NYM', - } as TCurrency + const minCeil = Math.ceil(min); + const maxFloor = Math.floor(max); + return Math.floor(Math.random() * (maxFloor - minCeil + 1) + minCeil); +}; +export const currencyMap = (network?: Network): TCurrency => { switch (network) { case 'MAINNET': - currency.minor = 'UNYM' - currency.major = 'NYM' - break - case 'SANDBOX': - currency.minor = 'UNYMT' - currency.major = 'NYMT' - break - case 'QA': - currency.minor = 'UNYMT' - currency.major = 'NYMT' - break + return { + minor: 'UNYM', + major: 'NYM', + }; + default: + return { + minor: 'UNYMT', + major: 'NYMT', + }; } +}; - return currency -} - -export const splice = (start: number, deleteCount: number, address?: string) => { +export const splice = (start: number, deleteCount: number, address?: string): string => { if (address) { - const array = address.split('') - array.splice(start, deleteCount, '...') - return array.join('') + const array = address.split(''); + array.splice(start, deleteCount, '...'); + return array.join(''); } -} + return ''; +}; export const maximizeWindow = async () => { - await appWindow.maximize() -} + await appWindow.maximize(); +}; diff --git a/nym-wallet/tsconfig.eslint.json b/nym-wallet/tsconfig.eslint.json new file mode 100644 index 0000000000..836be28a14 --- /dev/null +++ b/nym-wallet/tsconfig.eslint.json @@ -0,0 +1,20 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "jsx": "react-jsx", + "noEmit": true + }, + "include": [ + ".storybook/*.js", + "webpack.*.js", + "src/**/*.js", + "src/**/*.jsx", + "src/**/*.ts", + "src/**/*.tsx", + "src/**/*.stories.*", + ], + "exclude": [ + "node_modules", + "dist" + ] +} diff --git a/nym-wallet/tsconfig.json b/nym-wallet/tsconfig.json index b3aa27c13b..5ac8a1b33e 100644 --- a/nym-wallet/tsconfig.json +++ b/nym-wallet/tsconfig.json @@ -14,7 +14,10 @@ "isolatedModules": false, "jsx": "react-jsx", "sourceMap": true, - "baseUrl": "." + "baseUrl": ".", + "paths": { + "@assets/*": ["../assets/*"] + } }, - "exclude": ["node_modules", "dist", "jest.config.js", "webpack.config.js", "webpack.prod.js", "webpack.common.js"] + "exclude": ["node_modules", "dist", "jest.config.js", "webpack.config.js", "webpack.prod.js", "webpack.common.js", "target"] } diff --git a/nym-wallet/webpack.common.js b/nym-wallet/webpack.common.js index 817d186e5a..0e6b071aaa 100644 --- a/nym-wallet/webpack.common.js +++ b/nym-wallet/webpack.common.js @@ -1,45 +1,18 @@ -const HtmlWebpackPlugin = require('html-webpack-plugin') -const FaviconsWebpackPlugin = require('favicons-webpack-plugin') -const Dotenv = require('dotenv-webpack') -var path = require('path') +const path = require('path'); +const { mergeWithRules } = require('webpack-merge'); +const { webpackCommon } = require('@nymproject/webpack'); -module.exports = { - entry: path.resolve(__dirname, '/src/index'), - plugins: [ - new HtmlWebpackPlugin({ - template: path.resolve(__dirname, 'public/index.html'), - filename: 'index.html', - }), - new FaviconsWebpackPlugin(path.resolve(__dirname, 'public/favicon.png')), - new Dotenv(), - ], +module.exports = mergeWithRules({ module: { - rules: [ - { - test: /\.(ts|tsx)$/, - exclude: /node_modules/, - use: ['babel-loader'], - }, - { - test: /\.css$/i, - use: ['style-loader', 'css-loader'], - }, - { - test: /\.(png|jpe?g|gif)$/i, - use: [ - { - loader: 'file-loader', - }, - ], - }, - { - test: /\.svg$/i, - issuer: /\.[jt]sx?$/, - use: ['@svgr/webpack'], - }, - ], + rules: { + test: 'match', + use: 'replace', + }, }, - resolve: { - extensions: ['*', '.js', '.jsx', '.ts', '.tsx'], +})(webpackCommon(__dirname, 'public/index.html'), { + entry: path.resolve(__dirname, 'src/index.tsx'), + output: { + path: path.resolve(__dirname, 'dist'), + publicPath: '/', }, -} +}); diff --git a/nym-wallet/webpack.dev.js b/nym-wallet/webpack.dev.js index 77221d48fb..d44c28ca69 100644 --- a/nym-wallet/webpack.dev.js +++ b/nym-wallet/webpack.dev.js @@ -1,10 +1,59 @@ -const common = require('./webpack.common') -const { merge } = require('webpack-merge') -var path = require('path') +const { mergeWithRules } = require('webpack-merge'); +const webpack = require('webpack'); +const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin'); +const ReactRefreshTypeScript = require('react-refresh-typescript'); +const commonConfig = require('./webpack.common'); -module.exports = merge(common, { +module.exports = mergeWithRules({ + module: { + rules: { + test: 'match', + use: 'replace', + }, + }, +})(commonConfig, { mode: 'development', - entry: path.resolve(__dirname, '/src/index'), + devtool: 'inline-source-map', + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/, + options: { + getCustomTransformers: () => ({ + before: [ReactRefreshTypeScript()], + }), + // `ts-loader` does not work with HMR unless `transpileOnly` is used. + // If you need type checking, `ForkTsCheckerWebpackPlugin` is an alternative. + transpileOnly: true, + }, + }, + ], + }, + plugins: [ + new ReactRefreshWebpackPlugin(), + + // this can be included automatically by the dev server, however build mode fails if missing + new webpack.HotModuleReplacementPlugin(), + ], + + // recommended for faster rebuild + optimization: { + runtimeChunk: true, + removeAvailableModules: false, + removeEmptyChunks: false, + splitChunks: false, + }, + + cache: { + type: 'filesystem', + buildDependencies: { + // restart on config change + config: ['./webpack.dev.js'], + }, + }, + devServer: { port: 9000, compress: true, @@ -14,4 +63,4 @@ module.exports = merge(common, { overlay: false, }, }, -}) +}); diff --git a/nym-wallet/webpack.prod.js b/nym-wallet/webpack.prod.js index a916a61499..40e7bc95d7 100644 --- a/nym-wallet/webpack.prod.js +++ b/nym-wallet/webpack.prod.js @@ -1,6 +1,6 @@ -var path = require('path') -const common = require('./webpack.common') -const { default: merge } = require('webpack-merge') +const path = require('path'); +const { default: merge } = require('webpack-merge'); +const common = require('./webpack.common'); module.exports = merge(common, { mode: 'production', @@ -8,4 +8,4 @@ module.exports = merge(common, { __dirname: false, }, entry: path.resolve(__dirname, './src/index'), -}) +}); diff --git a/nym-wallet/yarn.lock b/nym-wallet/yarn.lock deleted file mode 100644 index dde3b0ba9e..0000000000 --- a/nym-wallet/yarn.lock +++ /dev/null @@ -1,6618 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" - integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== - dependencies: - "@babel/highlight" "^7.16.0" - -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.0", "@babel/compat-data@^7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" - integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== - -"@babel/core@^7.15.0", "@babel/core@^7.15.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" - integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/generator" "^7.16.0" - "@babel/helper-compilation-targets" "^7.16.0" - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helpers" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/generator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" - integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== - dependencies: - "@babel/types" "^7.16.0" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d" - integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz#f1a686b92da794020c26582eb852e9accd0d7882" - integrity sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.0", "@babel/helper-compilation-targets@^7.16.3": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" - integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== - dependencies: - "@babel/compat-data" "^7.16.0" - "@babel/helper-validator-option" "^7.14.5" - browserslist "^4.17.5" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz#090d4d166b342a03a9fec37ef4fd5aeb9c7c6a4b" - integrity sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-member-expression-to-functions" "^7.16.0" - "@babel/helper-optimise-call-expression" "^7.16.0" - "@babel/helper-replace-supers" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - -"@babel/helper-create-regexp-features-plugin@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz#06b2348ce37fccc4f5e18dcd8d75053f2a7c44ff" - integrity sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - regexpu-core "^4.7.1" - -"@babel/helper-define-polyfill-provider@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz#c5b10cf4b324ff840140bb07e05b8564af2ae971" - integrity sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg== - dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-explode-assignable-expression@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz#753017337a15f46f9c09f674cff10cee9b9d7778" - integrity sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-function-name@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" - integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog== - dependencies: - "@babel/helper-get-function-arity" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-get-function-arity@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" - integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-hoist-variables@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" - integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-member-expression-to-functions@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" - integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" - integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-module-transforms@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" - integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== - dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-replace-supers" "^7.16.0" - "@babel/helper-simple-access" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/helper-validator-identifier" "^7.15.7" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-optimise-call-expression@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" - integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" - integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== - -"@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz#5d7902f61349ff6b963e07f06a389ce139fbfe6e" - integrity sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-wrap-function" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-replace-supers@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" - integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.16.0" - "@babel/helper-optimise-call-expression" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-simple-access@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" - integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" - integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-split-export-declaration@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" - integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-validator-identifier@^7.15.7": - version "7.15.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" - integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== - -"@babel/helper-validator-option@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" - integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== - -"@babel/helper-wrap-function@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz#b3cf318afce774dfe75b86767cd6d68f3482e57c" - integrity sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g== - dependencies: - "@babel/helper-function-name" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helpers@^7.16.0": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" - integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== - dependencies: - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.3" - "@babel/types" "^7.16.0" - -"@babel/highlight@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" - integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== - dependencies: - "@babel/helper-validator-identifier" "^7.15.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.16.0", "@babel/parser@^7.16.3": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" - integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2": - version "7.16.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz#2977fca9b212db153c195674e57cfab807733183" - integrity sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz#358972eaab006f5eb0826183b0c93cbcaf13e1e2" - integrity sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.0" - -"@babel/plugin-proposal-async-generator-functions@^7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz#e606eb6015fec6fa5978c940f315eae4e300b081" - integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.16.4" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz#c029618267ddebc7280fa286e0f8ca2a278a2d1a" - integrity sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-proposal-class-static-block@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz#5296942c564d8144c83eea347d0aa8a0b89170e7" - integrity sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-dynamic-import@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz#783eca61d50526202f9b296095453977e88659f1" - integrity sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz#9c01dee40b9d6b847b656aaf4a3976a71740f222" - integrity sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz#cae35a95ed1d2a7fa29c4dc41540b84a72e9ab25" - integrity sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz#a711b8ceb3ffddd3ef88d3a49e86dbd3cc7db3fd" - integrity sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz#44e1cce08fe2427482cf446a91bb451528ed0596" - integrity sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz#5d418e4fbbf8b9b7d03125d3a52730433a373734" - integrity sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz#5fb32f6d924d6e6712810362a60e12a2609872e6" - integrity sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg== - dependencies: - "@babel/compat-data" "^7.16.0" - "@babel/helper-compilation-targets" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.16.0" - -"@babel/plugin-proposal-optional-catch-binding@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz#5910085811ab4c28b00d6ebffa4ab0274d1e5f16" - integrity sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz#56dbc3970825683608e9efb55ea82c2a2d6c8dc0" - integrity sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz#b4dafb9c717e4301c5776b30d080d6383c89aff6" - integrity sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-proposal-private-property-in-object@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz#69e935b2c5c79d2488112d886f0c4e2790fee76f" - integrity sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.16.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz#890482dfc5ea378e42e19a71e709728cabf18612" - integrity sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@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-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@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-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-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.12.13", "@babel/plugin-syntax-jsx@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz#f9624394317365a9a88c82358d3f8471154698f1" - integrity sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - 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.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": - 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.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.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.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-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz#2feeb13d9334cc582ea9111d3506f773174179bb" - integrity sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-arrow-functions@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz#951706f8b449c834ed07bd474c0924c944b95a8e" - integrity sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-async-to-generator@^7.14.5", "@babel/plugin-transform-async-to-generator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604" - integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw== - dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.16.0" - -"@babel/plugin-transform-block-scoped-functions@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz#c618763233ad02847805abcac4c345ce9de7145d" - integrity sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-block-scoping@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz#bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16" - integrity sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-classes@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz#54cf5ff0b2242c6573d753cd4bfc7077a8b282f5" - integrity sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-optimise-call-expression" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz#e0c385507d21e1b0b076d66bed6d5231b85110b7" - integrity sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-destructuring@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz#ad3d7e74584ad5ea4eadb1e6642146c590dee33c" - integrity sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-dotall-regex@^7.16.0", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz#50bab00c1084b6162d0a58a818031cf57798e06f" - integrity sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-duplicate-keys@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz#8bc2e21813e3e89e5e5bf3b60aa5fc458575a176" - integrity sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-exponentiation-operator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz#a180cd2881e3533cef9d3901e48dad0fbeff4be4" - integrity sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-for-of@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz#f7abaced155260e2461359bbc7c7248aca5e6bd2" - integrity sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-function-name@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz#02e3699c284c6262236599f751065c5d5f1f400e" - integrity sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg== - dependencies: - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-literals@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz#79711e670ffceb31bd298229d50f3621f7980cac" - integrity sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-member-expression-literals@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz#5251b4cce01eaf8314403d21aedb269d79f5e64b" - integrity sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-modules-amd@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz#09abd41e18dcf4fd479c598c1cef7bd39eb1337e" - integrity sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw== - dependencies: - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz#add58e638c8ddc4875bd9a9ecb5c594613f6c922" - integrity sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ== - dependencies: - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-simple-access" "^7.16.0" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz#a92cf240afeb605f4ca16670453024425e421ea4" - integrity sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg== - dependencies: - "@babel/helper-hoist-variables" "^7.16.0" - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-identifier" "^7.15.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz#195f26c2ad6d6a391b70880effce18ce625e06a7" - integrity sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg== - dependencies: - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz#d3db61cc5d5b97986559967cd5ea83e5c32096ca" - integrity sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.0" - -"@babel/plugin-transform-new-target@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz#af823ab576f752215a49937779a41ca65825ab35" - integrity sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-object-super@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz#fb20d5806dc6491a06296ac14ea8e8d6fedda72b" - integrity sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.16.0" - -"@babel/plugin-transform-parameters@^7.16.0", "@babel/plugin-transform-parameters@^7.16.3": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15" - integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-property-literals@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz#a95c552189a96a00059f6776dc4e00e3690c78d1" - integrity sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-react-constant-elements@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.16.0.tgz#1483b894b8e6ef0709d260532fbd4db9fc27a0e6" - integrity sha512-OgtklS+p9t1X37eWA4XdvvbZG/3gqzX569gqmo3q4/Ui6qjfTQmOs5UTSrfdD9nVByHhX6Gbm/Pyc4KbwUXGWA== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-react-display-name@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.0.tgz#9a0ad8aa8e8790883a7bd2736f66229a58125676" - integrity sha512-FJFdJAqaCpndL+pIf0aeD/qlQwT7QXOvR6Cc8JPvNhKJBi2zc/DPc4g05Y3fbD/0iWAMQFGij4+Xw+4L/BMpTg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-react-jsx-development@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.0.tgz#1cb52874678d23ab11d0d16488d54730807303ef" - integrity sha512-qq65iSqBRq0Hr3wq57YG2AmW0H6wgTnIzpffTphrUWUgLCOK+zf1f7G0vuOiXrp7dU1qq+fQBoqZ3wCDAkhFzw== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.16.0" - -"@babel/plugin-transform-react-jsx@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.0.tgz#55b797d4960c3de04e07ad1c0476e2bc6a4889f1" - integrity sha512-rqDgIbukZ44pqq7NIRPGPGNklshPkvlmvqjdx3OZcGPk4zGIenYkxDTvl3LsSL8gqcc3ZzGmXPE6hR/u/voNOw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-jsx" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/plugin-transform-react-pure-annotations@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.0.tgz#23db6ddf558d8abde41b8ad9d59f48ad5532ccab" - integrity sha512-NC/Bj2MG+t8Ef5Pdpo34Ay74X4Rt804h5y81PwOpfPtmAK3i6CizmQqwyBQzIepz1Yt8wNr2Z2L7Lu3qBMfZMA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-regenerator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4" - integrity sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz#fff4b9dcb19e12619394bda172d14f2d04c0379c" - integrity sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-shorthand-properties@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz#090372e3141f7cc324ed70b3daf5379df2fa384d" - integrity sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-spread@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz#d21ca099bbd53ab307a8621e019a7bd0f40cdcfb" - integrity sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - -"@babel/plugin-transform-sticky-regex@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz#c35ea31a02d86be485f6aa510184b677a91738fd" - integrity sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-template-literals@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz#a8eced3a8e7b8e2d40ec4ec4548a45912630d302" - integrity sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-typeof-symbol@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz#8b19a244c6f8c9d668dca6a6f754ad6ead1128f2" - integrity sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-typescript@^7.16.0": - version "7.16.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.1.tgz#cc0670b2822b0338355bc1b3d2246a42b8166409" - integrity sha512-NO4XoryBng06jjw/qWEU2LhcLJr1tWkhpMam/H4eas/CDKMX/b2/Ylb6EI256Y7+FVPCawwSM1rrJNOpDiz+Lg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-typescript" "^7.16.0" - -"@babel/plugin-transform-unicode-escapes@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz#1a354064b4c45663a32334f46fa0cf6100b5b1f3" - integrity sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-unicode-regex@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz#293b80950177c8c85aede87cef280259fb995402" - integrity sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/preset-env@^7.15.0", "@babel/preset-env@^7.15.6": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.4.tgz#4f6ec33b2a3fe72d6bfdcdf3859500232563a2e3" - integrity sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-compilation-targets" "^7.16.3" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.2" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-async-generator-functions" "^7.16.4" - "@babel/plugin-proposal-class-properties" "^7.16.0" - "@babel/plugin-proposal-class-static-block" "^7.16.0" - "@babel/plugin-proposal-dynamic-import" "^7.16.0" - "@babel/plugin-proposal-export-namespace-from" "^7.16.0" - "@babel/plugin-proposal-json-strings" "^7.16.0" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" - "@babel/plugin-proposal-numeric-separator" "^7.16.0" - "@babel/plugin-proposal-object-rest-spread" "^7.16.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-private-methods" "^7.16.0" - "@babel/plugin-proposal-private-property-in-object" "^7.16.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.0" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.16.0" - "@babel/plugin-transform-async-to-generator" "^7.16.0" - "@babel/plugin-transform-block-scoped-functions" "^7.16.0" - "@babel/plugin-transform-block-scoping" "^7.16.0" - "@babel/plugin-transform-classes" "^7.16.0" - "@babel/plugin-transform-computed-properties" "^7.16.0" - "@babel/plugin-transform-destructuring" "^7.16.0" - "@babel/plugin-transform-dotall-regex" "^7.16.0" - "@babel/plugin-transform-duplicate-keys" "^7.16.0" - "@babel/plugin-transform-exponentiation-operator" "^7.16.0" - "@babel/plugin-transform-for-of" "^7.16.0" - "@babel/plugin-transform-function-name" "^7.16.0" - "@babel/plugin-transform-literals" "^7.16.0" - "@babel/plugin-transform-member-expression-literals" "^7.16.0" - "@babel/plugin-transform-modules-amd" "^7.16.0" - "@babel/plugin-transform-modules-commonjs" "^7.16.0" - "@babel/plugin-transform-modules-systemjs" "^7.16.0" - "@babel/plugin-transform-modules-umd" "^7.16.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.0" - "@babel/plugin-transform-new-target" "^7.16.0" - "@babel/plugin-transform-object-super" "^7.16.0" - "@babel/plugin-transform-parameters" "^7.16.3" - "@babel/plugin-transform-property-literals" "^7.16.0" - "@babel/plugin-transform-regenerator" "^7.16.0" - "@babel/plugin-transform-reserved-words" "^7.16.0" - "@babel/plugin-transform-shorthand-properties" "^7.16.0" - "@babel/plugin-transform-spread" "^7.16.0" - "@babel/plugin-transform-sticky-regex" "^7.16.0" - "@babel/plugin-transform-template-literals" "^7.16.0" - "@babel/plugin-transform-typeof-symbol" "^7.16.0" - "@babel/plugin-transform-unicode-escapes" "^7.16.0" - "@babel/plugin-transform-unicode-regex" "^7.16.0" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.0" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.4.0" - babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.19.1" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== - 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-react@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.0.tgz#f71d3e8dff5218478011df037fad52660ee6d82a" - integrity sha512-d31IFW2bLRB28uL1WoElyro8RH5l6531XfxMtCeCmp6RVAF1uTfxxUA0LH1tXl+psZdwfmIbwoG4U5VwgbhtLw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-transform-react-display-name" "^7.16.0" - "@babel/plugin-transform-react-jsx" "^7.16.0" - "@babel/plugin-transform-react-jsx-development" "^7.16.0" - "@babel/plugin-transform-react-pure-annotations" "^7.16.0" - -"@babel/preset-typescript@^7.15.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.16.0.tgz#b0b4f105b855fb3d631ec036cdc9d1ffd1fa5eac" - integrity sha512-txegdrZYgO9DlPbv+9QOVpMnKbOtezsLHWsnsRF4AjbSIsVaujrq1qg8HK0mxQpWv0jnejt0yEoW1uWpvbrDTg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-transform-typescript" "^7.16.0" - -"@babel/runtime@^7.1.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" - integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" - integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" - integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/generator" "^7.16.0" - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-hoist-variables" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/parser" "^7.16.3" - "@babel/types" "^7.16.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.15.6", "@babel/types@^7.16.0", "@babel/types@^7.4.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" - integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== - dependencies: - "@babel/helper-validator-identifier" "^7.15.7" - to-fast-properties "^2.0.0" - -"@discoveryjs/json-ext@^0.5.0": - version "0.5.5" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz#9283c9ce5b289a3c4f61c12757469e59377f81f3" - integrity sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA== - -"@emotion/babel-plugin@^11.3.0": - version "11.3.0" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.3.0.tgz#3a16850ba04d8d9651f07f3fb674b3436a4fb9d7" - integrity sha512-UZKwBV2rADuhRp+ZOGgNWg2eYgbzKzQXfQPtJbu/PLy8onurxlNCLvxMQEvlr1/GudguPI5IU9qIY1+2z1M5bA== - dependencies: - "@babel/helper-module-imports" "^7.12.13" - "@babel/plugin-syntax-jsx" "^7.12.13" - "@babel/runtime" "^7.13.10" - "@emotion/hash" "^0.8.0" - "@emotion/memoize" "^0.7.5" - "@emotion/serialize" "^1.0.2" - babel-plugin-macros "^2.6.1" - convert-source-map "^1.5.0" - escape-string-regexp "^4.0.0" - find-root "^1.1.0" - source-map "^0.5.7" - stylis "^4.0.3" - -"@emotion/cache@^11.6.0": - version "11.6.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.6.0.tgz#65fbdbbe4382f1991d8b20853c38e63ecccec9a1" - integrity sha512-ElbsWY1KMwEowkv42vGo0UPuLgtPYfIs9BxxVrmvsaJVvktknsHYYlx5NQ5g6zLDcOTyamlDc7FkRg2TAcQDKQ== - dependencies: - "@emotion/memoize" "^0.7.4" - "@emotion/sheet" "^1.1.0" - "@emotion/utils" "^1.0.0" - "@emotion/weak-memoize" "^0.2.5" - stylis "^4.0.10" - -"@emotion/hash@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" - integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== - -"@emotion/is-prop-valid@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.1.1.tgz#cbd843d409dfaad90f9404e7c0404c55eae8c134" - integrity sha512-bW1Tos67CZkOURLc0OalnfxtSXQJMrAMV0jZTVGJUPSOd4qgjF3+tTD5CwJM13PHA8cltGW1WGbbvV9NpvUZPw== - dependencies: - "@emotion/memoize" "^0.7.4" - -"@emotion/memoize@^0.7.4", "@emotion/memoize@^0.7.5": - version "0.7.5" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.5.tgz#2c40f81449a4e554e9fc6396910ed4843ec2be50" - integrity sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ== - -"@emotion/react@^11.7.0": - version "11.7.0" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.7.0.tgz#b179da970ac0e8415de3ac165deadf8d9c4bf89f" - integrity sha512-WL93hf9+/2s3cA1JVJlz8+Uy6p6QWukqQFOm2OZO5ki51hfucHMOmbSjiyC3t2Y4RI8XUmBoepoc/24ny/VBbA== - dependencies: - "@babel/runtime" "^7.13.10" - "@emotion/cache" "^11.6.0" - "@emotion/serialize" "^1.0.2" - "@emotion/sheet" "^1.1.0" - "@emotion/utils" "^1.0.0" - "@emotion/weak-memoize" "^0.2.5" - hoist-non-react-statics "^3.3.1" - -"@emotion/serialize@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.0.2.tgz#77cb21a0571c9f68eb66087754a65fa97bfcd965" - integrity sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A== - dependencies: - "@emotion/hash" "^0.8.0" - "@emotion/memoize" "^0.7.4" - "@emotion/unitless" "^0.7.5" - "@emotion/utils" "^1.0.0" - csstype "^3.0.2" - -"@emotion/sheet@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.1.0.tgz#56d99c41f0a1cda2726a05aa6a20afd4c63e58d2" - integrity sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g== - -"@emotion/styled@^11.6.0": - version "11.6.0" - resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.6.0.tgz#9230d1a7bcb2ebf83c6a579f4c80e0664132d81d" - integrity sha512-mxVtVyIOTmCAkFbwIp+nCjTXJNgcz4VWkOYQro87jE2QBTydnkiYusMrRGFtzuruiGK4dDaNORk4gH049iiQuw== - dependencies: - "@babel/runtime" "^7.13.10" - "@emotion/babel-plugin" "^11.3.0" - "@emotion/is-prop-valid" "^1.1.1" - "@emotion/serialize" "^1.0.2" - "@emotion/utils" "^1.0.0" - -"@emotion/unitless@^0.7.5": - version "0.7.5" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" - integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== - -"@emotion/utils@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.0.0.tgz#abe06a83160b10570816c913990245813a2fd6af" - integrity sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA== - -"@emotion/weak-memoize@^0.2.5": - version "0.2.5" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" - integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== - -"@hookform/resolvers@^2.8.0": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@hookform/resolvers/-/resolvers-2.8.3.tgz#d362360f6057bcca7318ad22d49e5f0c47290e27" - integrity sha512-9G6/vCUNvg3O4MeAK4l749syOz/2r1DF/Pq3Njuk3sI4ObHoRyV0nxio5NrNLGC+7N1Ixu9vJ/loNhaUNXTX6A== - -"@jimp/bmp@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/bmp/-/bmp-0.16.1.tgz#6e2da655b2ba22e721df0795423f34e92ef13768" - integrity sha512-iwyNYQeBawrdg/f24x3pQ5rEx+/GwjZcCXd3Kgc+ZUd+Ivia7sIqBsOnDaMZdKCBPlfW364ekexnlOqyVa0NWg== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - bmp-js "^0.1.0" - -"@jimp/core@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/core/-/core-0.16.1.tgz#68c4288f6ef7f31a0f6b859ba3fb28dae930d39d" - integrity sha512-la7kQia31V6kQ4q1kI/uLimu8FXx7imWVajDGtwUG8fzePLWDFJyZl0fdIXVCL1JW2nBcRHidUot6jvlRDi2+g== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - any-base "^1.1.0" - buffer "^5.2.0" - exif-parser "^0.1.12" - file-type "^9.0.0" - load-bmfont "^1.3.1" - mkdirp "^0.5.1" - phin "^2.9.1" - pixelmatch "^4.0.2" - tinycolor2 "^1.4.1" - -"@jimp/custom@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/custom/-/custom-0.16.1.tgz#28b659c59e20a1d75a0c46067bd3f4bd302cf9c5" - integrity sha512-DNUAHNSiUI/j9hmbatD6WN/EBIyeq4AO0frl5ETtt51VN1SvE4t4v83ZA/V6ikxEf3hxLju4tQ5Pc3zmZkN/3A== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/core" "^0.16.1" - -"@jimp/gif@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/gif/-/gif-0.16.1.tgz#d1f7c3a58f4666482750933af8b8f4666414f3ca" - integrity sha512-r/1+GzIW1D5zrP4tNrfW+3y4vqD935WBXSc8X/wm23QTY9aJO9Lw6PEdzpYCEY+SOklIFKaJYUAq/Nvgm/9ryw== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - gifwrap "^0.9.2" - omggif "^1.0.9" - -"@jimp/jpeg@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/jpeg/-/jpeg-0.16.1.tgz#3b7bb08a4173f2f6d81f3049b251df3ee2ac8175" - integrity sha512-8352zrdlCCLFdZ/J+JjBslDvml+fS3Z8gttdml0We759PnnZGqrnPRhkOEOJbNUlE+dD4ckLeIe6NPxlS/7U+w== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - jpeg-js "0.4.2" - -"@jimp/plugin-blit@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-blit/-/plugin-blit-0.16.1.tgz#09ea919f9d326de3b9c2826fe4155da37dde8edb" - integrity sha512-fKFNARm32RoLSokJ8WZXHHH2CGzz6ire2n1Jh6u+XQLhk9TweT1DcLHIXwQMh8oR12KgjbgsMGvrMVlVknmOAg== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-blur@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-blur/-/plugin-blur-0.16.1.tgz#e614fa002797dcd662e705d4cea376e7db968bf5" - integrity sha512-1WhuLGGj9MypFKRcPvmW45ht7nXkOKu+lg3n2VBzIB7r4kKNVchuI59bXaCYQumOLEqVK7JdB4glaDAbCQCLyw== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-circle@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-circle/-/plugin-circle-0.16.1.tgz#20e3194a67ca29740aba2630fd4d0a89afa27491" - integrity sha512-JK7yi1CIU7/XL8hdahjcbGA3V7c+F+Iw+mhMQhLEi7Q0tCnZ69YJBTamMiNg3fWPVfMuvWJJKOBRVpwNTuaZRg== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-color@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-color/-/plugin-color-0.16.1.tgz#0f298ba74dee818b663834cd80d53e56f3755233" - integrity sha512-9yQttBAO5SEFj7S6nJK54f+1BnuBG4c28q+iyzm1JjtnehjqMg6Ljw4gCSDCvoCQ3jBSYHN66pmwTV74SU1B7A== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - tinycolor2 "^1.4.1" - -"@jimp/plugin-contain@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-contain/-/plugin-contain-0.16.1.tgz#3c5f5c495fd9bb08a970739d83694934f58123f2" - integrity sha512-44F3dUIjBDHN+Ym/vEfg+jtjMjAqd2uw9nssN67/n4FdpuZUVs7E7wadKY1RRNuJO+WgcD5aDQcsvurXMETQTg== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-cover@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-cover/-/plugin-cover-0.16.1.tgz#0e8caec16a40abe15b1b32e5383a603a3306dc41" - integrity sha512-YztWCIldBAVo0zxcQXR+a/uk3/TtYnpKU2CanOPJ7baIuDlWPsG+YE4xTsswZZc12H9Kl7CiziEbDtvF9kwA/Q== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-crop@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-crop/-/plugin-crop-0.16.1.tgz#b362497c873043fe47ba881ab08604bf7226f50f" - integrity sha512-UQdva9oQzCVadkyo3T5Tv2CUZbf0klm2cD4cWMlASuTOYgaGaFHhT9st+kmfvXjKL8q3STkBu/zUPV6PbuV3ew== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-displace@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-displace/-/plugin-displace-0.16.1.tgz#4dd9db518c3e78de9d723f86a234bf98922afe8d" - integrity sha512-iVAWuz2+G6Heu8gVZksUz+4hQYpR4R0R/RtBzpWEl8ItBe7O6QjORAkhxzg+WdYLL2A/Yd4ekTpvK0/qW8hTVw== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-dither@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-dither/-/plugin-dither-0.16.1.tgz#b47de2c0bb09608bed228b41c3cd01a85ec2d45b" - integrity sha512-tADKVd+HDC9EhJRUDwMvzBXPz4GLoU6s5P7xkVq46tskExYSptgj5713J5Thj3NMgH9Rsqu22jNg1H/7tr3V9Q== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-fisheye@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-fisheye/-/plugin-fisheye-0.16.1.tgz#f625047b6cdbe1b83b89e9030fd025ab19cdb1a4" - integrity sha512-BWHnc5hVobviTyIRHhIy9VxI1ACf4CeSuCfURB6JZm87YuyvgQh5aX5UDKtOz/3haMHXBLP61ZBxlNpMD8CG4A== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-flip@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-flip/-/plugin-flip-0.16.1.tgz#7a99ea22bde802641017ed0f2615870c144329bb" - integrity sha512-KdxTf0zErfZ8DyHkImDTnQBuHby+a5YFdoKI/G3GpBl3qxLBvC+PWkS2F/iN3H7wszP7/TKxTEvWL927pypT0w== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-gaussian@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.16.1.tgz#0845e314085ccd52e34fad9a83949bc0d81a68e8" - integrity sha512-u9n4wjskh3N1mSqketbL6tVcLU2S5TEaFPR40K6TDv4phPLZALi1Of7reUmYpVm8mBDHt1I6kGhuCJiWvzfGyg== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-invert@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-invert/-/plugin-invert-0.16.1.tgz#7e6f5a15707256f3778d06921675bbcf18545c97" - integrity sha512-2DKuyVXANH8WDpW9NG+PYFbehzJfweZszFYyxcaewaPLN0GxvxVLOGOPP1NuUTcHkOdMFbE0nHDuB7f+sYF/2w== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-mask@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-mask/-/plugin-mask-0.16.1.tgz#e7f2460e05c3cda7af5e76f33ccb0579f66f90df" - integrity sha512-snfiqHlVuj4bSFS0v96vo2PpqCDMe4JB+O++sMo5jF5mvGcGL6AIeLo8cYqPNpdO6BZpBJ8MY5El0Veckhr39Q== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-normalize@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-normalize/-/plugin-normalize-0.16.1.tgz#032dfd88eefbc4dedc8b1b2d243832e4f3af30c8" - integrity sha512-dOQfIOvGLKDKXPU8xXWzaUeB0nvkosHw6Xg1WhS1Z5Q0PazByhaxOQkSKgUryNN/H+X7UdbDvlyh/yHf3ITRaw== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-print@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-print/-/plugin-print-0.16.1.tgz#66b803563f9d109825970714466e6ab9ae639ff6" - integrity sha512-ceWgYN40jbN4cWRxixym+csyVymvrryuKBQ+zoIvN5iE6OyS+2d7Mn4zlNgumSczb9GGyZZESIgVcBDA1ezq0Q== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - load-bmfont "^1.4.0" - -"@jimp/plugin-resize@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-resize/-/plugin-resize-0.16.1.tgz#65e39d848ed13ba2d6c6faf81d5d590396571d10" - integrity sha512-u4JBLdRI7dargC04p2Ha24kofQBk3vhaf0q8FwSYgnCRwxfvh2RxvhJZk9H7Q91JZp6wgjz/SjvEAYjGCEgAwQ== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-rotate@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-rotate/-/plugin-rotate-0.16.1.tgz#53fb5d51a4b3d05af9c91c2a8fffe5d7a1a47c8c" - integrity sha512-ZUU415gDQ0VjYutmVgAYYxC9Og9ixu2jAGMCU54mSMfuIlmohYfwARQmI7h4QB84M76c9hVLdONWjuo+rip/zg== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-scale@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-scale/-/plugin-scale-0.16.1.tgz#89f6ba59feed3429847ed226aebda33a240cc647" - integrity sha512-jM2QlgThIDIc4rcyughD5O7sOYezxdafg/2Xtd1csfK3z6fba3asxDwthqPZAgitrLgiKBDp6XfzC07Y/CefUw== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-shadow@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-shadow/-/plugin-shadow-0.16.1.tgz#a7af892a740febf41211e10a5467c3c5c521a04c" - integrity sha512-MeD2Is17oKzXLnsphAa1sDstTu6nxscugxAEk3ji0GV1FohCvpHBcec0nAq6/czg4WzqfDts+fcPfC79qWmqrA== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugin-threshold@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugin-threshold/-/plugin-threshold-0.16.1.tgz#34f3078f9965145b7ae26c53a32ad74b1195bbf5" - integrity sha512-iGW8U/wiCSR0+6syrPioVGoSzQFt4Z91SsCRbgNKTAk7D+XQv6OI78jvvYg4o0c2FOlwGhqz147HZV5utoSLxA== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - -"@jimp/plugins@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/plugins/-/plugins-0.16.1.tgz#9f08544c97226d6460a16ced79f57e85bec3257b" - integrity sha512-c+lCqa25b+4q6mJZSetlxhMoYuiltyS+ValLzdwK/47+aYsq+kcJNl+TuxIEKf59yr9+5rkbpsPkZHLF/V7FFA== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/plugin-blit" "^0.16.1" - "@jimp/plugin-blur" "^0.16.1" - "@jimp/plugin-circle" "^0.16.1" - "@jimp/plugin-color" "^0.16.1" - "@jimp/plugin-contain" "^0.16.1" - "@jimp/plugin-cover" "^0.16.1" - "@jimp/plugin-crop" "^0.16.1" - "@jimp/plugin-displace" "^0.16.1" - "@jimp/plugin-dither" "^0.16.1" - "@jimp/plugin-fisheye" "^0.16.1" - "@jimp/plugin-flip" "^0.16.1" - "@jimp/plugin-gaussian" "^0.16.1" - "@jimp/plugin-invert" "^0.16.1" - "@jimp/plugin-mask" "^0.16.1" - "@jimp/plugin-normalize" "^0.16.1" - "@jimp/plugin-print" "^0.16.1" - "@jimp/plugin-resize" "^0.16.1" - "@jimp/plugin-rotate" "^0.16.1" - "@jimp/plugin-scale" "^0.16.1" - "@jimp/plugin-shadow" "^0.16.1" - "@jimp/plugin-threshold" "^0.16.1" - timm "^1.6.1" - -"@jimp/png@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/png/-/png-0.16.1.tgz#f24cfc31529900b13a2dd9d4fdb4460c1e4d814e" - integrity sha512-iyWoCxEBTW0OUWWn6SveD4LePW89kO7ZOy5sCfYeDM/oTPLpR8iMIGvZpZUz1b8kvzFr27vPst4E5rJhGjwsdw== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/utils" "^0.16.1" - pngjs "^3.3.3" - -"@jimp/tiff@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/tiff/-/tiff-0.16.1.tgz#0e8756695687d7574b6bc73efab0acd4260b7a12" - integrity sha512-3K3+xpJS79RmSkAvFMgqY5dhSB+/sxhwTFA9f4AVHUK0oKW+u6r52Z1L0tMXHnpbAdR9EJ+xaAl2D4x19XShkQ== - dependencies: - "@babel/runtime" "^7.7.2" - utif "^2.0.1" - -"@jimp/types@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/types/-/types-0.16.1.tgz#0dbab37b3202315c91010f16c31766d35a2322cc" - integrity sha512-g1w/+NfWqiVW4CaXSJyD28JQqZtm2eyKMWPhBBDCJN9nLCN12/Az0WFF3JUAktzdsEC2KRN2AqB1a2oMZBNgSQ== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/bmp" "^0.16.1" - "@jimp/gif" "^0.16.1" - "@jimp/jpeg" "^0.16.1" - "@jimp/png" "^0.16.1" - "@jimp/tiff" "^0.16.1" - timm "^1.6.1" - -"@jimp/utils@^0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@jimp/utils/-/utils-0.16.1.tgz#2f51e6f14ff8307c4aa83d5e1a277da14a9fe3f7" - integrity sha512-8fULQjB0x4LzUSiSYG6ZtQl355sZjxbv8r9PPAuYHzS9sGiSHJQavNqK/nKnpDsVkU88/vRGcE7t3nMU0dEnVw== - dependencies: - "@babel/runtime" "^7.7.2" - regenerator-runtime "^0.13.3" - -"@mui/base@5.0.0-alpha.58": - version "5.0.0-alpha.58" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.58.tgz#01ab59a028f314e2f9a79f903a8336ac45853652" - integrity sha512-YZorCbbzkokQZUnj+sdjUWIe+jaesuSVpKgwWS2mWdE50v1Ti/qMmevIrOT1lvFAilpj80Bkcg4KtlGWBJ6utQ== - dependencies: - "@babel/runtime" "^7.16.3" - "@emotion/is-prop-valid" "^1.1.1" - "@mui/utils" "^5.2.2" - "@popperjs/core" "^2.4.4" - clsx "^1.1.1" - prop-types "^15.7.2" - react-is "^17.0.2" - -"@mui/icons-material@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.2.0.tgz#6c6135bb2d7891e29d6f9419df402b82dd663517" - integrity sha512-NvyrVaGKpP4R1yFw8BCnE0QcsQ67RtpgxPr4FtH8q60MDYPuPVczLOn5Ash5CFavoDWur/NfM/4DpT54yf3InA== - dependencies: - "@babel/runtime" "^7.16.3" - -"@mui/material@^5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.2.2.tgz#4dfbc9186a83e16a9dcdcc10e4a70ecaf641b1a3" - integrity sha512-vqmZq+v59CT4V84WcvYkYldnjC6uRddYx0TJqgl2h5YRbbPYCGVVywVvg9cBwxy4j5xI3F2WH6z7WGkHqkJIQA== - dependencies: - "@babel/runtime" "^7.16.3" - "@mui/base" "5.0.0-alpha.58" - "@mui/system" "^5.2.2" - "@mui/types" "^7.1.0" - "@mui/utils" "^5.2.2" - "@types/react-transition-group" "^4.4.4" - clsx "^1.1.1" - csstype "^3.0.10" - hoist-non-react-statics "^3.3.2" - prop-types "^15.7.2" - react-is "^17.0.2" - react-transition-group "^4.4.2" - -"@mui/private-theming@^5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.2.2.tgz#ede801bc4b6939aedf5900edcece981fde8fa210" - integrity sha512-BfTjZ5ao6KY4Sg11lgaVuQ9uUq8unaM2u9/RKDD12If0B2Vp/AhRSe7i5OTd+wErmK2guTX0kPSraGZzwDEIVg== - dependencies: - "@babel/runtime" "^7.16.3" - "@mui/utils" "^5.2.2" - prop-types "^15.7.2" - -"@mui/styled-engine@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.2.0.tgz#5c97e2b1b6c4c2d9991f07517ed862972d362b85" - integrity sha512-NZ4pWYQcM5wreUfiXRd7IMFRF+Nq1vMzsIdXtXNjgctJTKHunrofasoBqv+cqevO+hqT75ezSbNHyaXzOXp6Mg== - dependencies: - "@babel/runtime" "^7.16.3" - "@emotion/cache" "^11.6.0" - prop-types "^15.7.2" - -"@mui/styles@^5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@mui/styles/-/styles-5.2.2.tgz#34c9ba1d6d5a0b9399fbd0c6e85b8f2dcfe54fbd" - integrity sha512-Hfg/3nAU+25RVzpgB0xyE1JjrOCI4rjujrJ0K4tS7M/U4NKZQrmtinc5ldvCaZUlxb51bZGs5V1MGn2dLKZVNQ== - dependencies: - "@babel/runtime" "^7.16.3" - "@emotion/hash" "^0.8.0" - "@mui/private-theming" "^5.2.2" - "@mui/types" "^7.1.0" - "@mui/utils" "^5.2.2" - clsx "^1.1.1" - csstype "^3.0.10" - hoist-non-react-statics "^3.3.2" - jss "^10.8.2" - jss-plugin-camel-case "^10.8.2" - jss-plugin-default-unit "^10.8.2" - jss-plugin-global "^10.8.2" - jss-plugin-nested "^10.8.2" - jss-plugin-props-sort "^10.8.2" - jss-plugin-rule-value-function "^10.8.2" - jss-plugin-vendor-prefixer "^10.8.2" - prop-types "^15.7.2" - -"@mui/system@^5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.2.2.tgz#81ef74f0c269d18b99a2d0253833d6554bbf5198" - integrity sha512-221tPOcZC8A89GOt6LH9YPTj2Iqf880iqrHd7AHT/HznBKOlLrnWD83pCuLPyX2jeFz4OzhvmGbdt5a74UEgaA== - dependencies: - "@babel/runtime" "^7.16.3" - "@mui/private-theming" "^5.2.2" - "@mui/styled-engine" "^5.2.0" - "@mui/types" "^7.1.0" - "@mui/utils" "^5.2.2" - clsx "^1.1.1" - csstype "^3.0.10" - prop-types "^15.7.2" - -"@mui/types@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.1.0.tgz#5ed928c5a41cfbf9a4be82ea3bbdc47bcc9610d5" - integrity sha512-Hh7ALdq/GjfIwLvqH3XftuY3bcKhupktTm+S6qRIDGOtPtRuq2L21VWzOK4p7kblirK0XgGVH5BLwa6u8z/6QQ== - -"@mui/utils@^5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.2.2.tgz#972aab7d2564e77c06e0c3c11e7b1aec6e37c927" - integrity sha512-0u9ImUfpCfTxmvQTfUzTSS+jKWMX15MBZeZCRQZ0f7o9Yi8BlrLj33lMx0mFBkUSYdTXnqL4yfOn7RBzV01HMQ== - dependencies: - "@babel/runtime" "^7.16.3" - "@types/prop-types" "^15.7.4" - "@types/react-is" "^16.7.1 || ^17.0.0" - prop-types "^15.7.2" - react-is "^17.0.2" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@popperjs/core@^2.4.4": - version "2.10.2" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.10.2.tgz#0798c03351f0dea1a5a4cabddf26a55a7cbee590" - integrity sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ== - -"@svgr/babel-plugin-add-jsx-attribute@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.0.0.tgz#bd6d1ff32a31b82b601e73672a789cc41e84fe18" - integrity sha512-MdPdhdWLtQsjd29Wa4pABdhWbaRMACdM1h31BY+c6FghTZqNGT7pEYdBoaGeKtdTOBC/XNFQaKVj+r/Ei2ryWA== - -"@svgr/babel-plugin-remove-jsx-attribute@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.0.0.tgz#58654908beebfa069681a83332544b17e5237e89" - integrity sha512-aVdtfx9jlaaxc3unA6l+M9YRnKIZjOhQPthLKqmTXC8UVkBLDRGwPKo+r8n3VZN8B34+yVajzPTZ+ptTSuZZCw== - -"@svgr/babel-plugin-remove-jsx-empty-expression@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.0.0.tgz#d06dd6e8a8f603f92f9979bb9990a1f85a4f57ba" - integrity sha512-Ccj42ApsePD451AZJJf1QzTD1B/BOU392URJTeXFxSK709i0KUsGtbwyiqsKu7vsYxpTM0IA5clAKDyf9RCZyA== - -"@svgr/babel-plugin-replace-jsx-attribute-value@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.0.0.tgz#0b85837577b02c31c09c758a12932820f5245cee" - integrity sha512-88V26WGyt1Sfd1emBYmBJRWMmgarrExpKNVmI9vVozha4kqs6FzQJ/Kp5+EYli1apgX44518/0+t9+NU36lThQ== - -"@svgr/babel-plugin-svg-dynamic-title@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.0.0.tgz#28236ec26f7ab9d486a487d36ae52d58ba15676f" - integrity sha512-F7YXNLfGze+xv0KMQxrl2vkNbI9kzT9oDK55/kUuymh1ACyXkMV+VZWX1zEhSTfEKh7VkHVZGmVtHg8eTZ6PRg== - -"@svgr/babel-plugin-svg-em-dimensions@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.0.0.tgz#40267c5dea1b43c4f83a0eb6169e08b43d8bafce" - integrity sha512-+rghFXxdIqJNLQK08kwPBD3Z22/0b2tEZ9lKiL/yTfuyj1wW8HUXu4bo/XkogATIYuXSghVQOOCwURXzHGKyZA== - -"@svgr/babel-plugin-transform-react-native-svg@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.0.0.tgz#eb688d0a5f539e34d268d8a516e81f5d7fede7c9" - integrity sha512-VaphyHZ+xIKv5v0K0HCzyfAaLhPGJXSk2HkpYfXIOKb7DjLBv0soHDxNv6X0vr2titsxE7klb++u7iOf7TSrFQ== - -"@svgr/babel-plugin-transform-svg-component@^6.1.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.1.0.tgz#39f92954f7611c269a4ca6906d19e66cdc12babe" - integrity sha512-1zacrn08K5RyV2NtXahOZ5Im/+aB1Y0LVh6QpzwgQV05sY7H5Npq+OcW/UqXbfB2Ua/WnHsFossFQqigCjarYg== - -"@svgr/babel-preset@^6.1.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-6.1.0.tgz#b8a6b0019537bcd75b3e23fd33c180476c1ef446" - integrity sha512-f9XrTqcwhHLVkjvXBw6QJVxuIfmW22z8iTdGqGvUGGxWoeRV2EzSHstWMBgIVd7t+TmkerqowRvBYiT0OEx3cw== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^6.0.0" - "@svgr/babel-plugin-remove-jsx-attribute" "^6.0.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^6.0.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.0.0" - "@svgr/babel-plugin-svg-dynamic-title" "^6.0.0" - "@svgr/babel-plugin-svg-em-dimensions" "^6.0.0" - "@svgr/babel-plugin-transform-react-native-svg" "^6.0.0" - "@svgr/babel-plugin-transform-svg-component" "^6.1.0" - -"@svgr/core@^6.1.1": - version "6.1.1" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-6.1.1.tgz#04a7c0ce9fab2f8671ab1d99199778cc869091b6" - integrity sha512-/NP+24cQmcEdJYptoFWO34SHkNx2x4KOGAMcnTpzOPQifvb1ecupWNEPeHBDY18utd0OMpl2kWf0ZnyN5VsVlg== - dependencies: - "@svgr/plugin-jsx" "^6.1.0" - camelcase "^6.2.0" - cosmiconfig "^7.0.1" - -"@svgr/hast-util-to-babel-ast@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.0.0.tgz#423329ad866b6c169009cc82b5e28ffee80c857c" - integrity sha512-S+TxtCdDyRGafH1VG1t/uPZ87aOYOHzWL8kqz4FoSZcIbzWA6rnOmjNViNiDzqmEpzp2PW5o5mZfvC9DiVZhTQ== - dependencies: - "@babel/types" "^7.15.6" - entities "^3.0.1" - -"@svgr/plugin-jsx@^6.1.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-6.1.0.tgz#2ba2d3cbb02d4f6e988fdfe5615baa04b8d0524b" - integrity sha512-grAeVnwjr4eyzzscX6d5dK202nQcKGt5STry3BrCNuw8RZkMVFYumjH/qLnInO2ugc0ESSo8eCkb+30vXVxSTg== - dependencies: - "@babel/core" "^7.15.5" - "@svgr/babel-preset" "^6.1.0" - "@svgr/hast-util-to-babel-ast" "^6.0.0" - svg-parser "^2.0.2" - -"@svgr/plugin-svgo@^6.1.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-6.1.0.tgz#30af6b64326a2c104c493de7c9b3ddda266c4e2e" - integrity sha512-NQtYlvPg6yk3wxm1EeeI3kNh/NoSxwW/Zjkvy3vf4CJJHKryB3TnkLsY8Z5hDOERT3Hadksh9RyZnSszEG7q5w== - dependencies: - cosmiconfig "^7.0.1" - deepmerge "^4.2.2" - svgo "^2.5.0" - -"@svgr/webpack@^6.1.1": - version "6.1.1" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-6.1.1.tgz#73b64f545f1f36644106694c72eb46f305d46305" - integrity sha512-22Ba6/9u/7UHnnwWQBDEIy3GrKbacMHUfS1+0XO1sjiEwQFV+eoJnnwnNX5PVS3pEx0srIKhaCCs9RtUrsM8+w== - dependencies: - "@babel/core" "^7.15.5" - "@babel/plugin-transform-react-constant-elements" "^7.14.5" - "@babel/preset-env" "^7.15.6" - "@babel/preset-react" "^7.14.5" - "@babel/preset-typescript" "^7.15.0" - "@svgr/core" "^6.1.1" - "@svgr/plugin-jsx" "^6.1.0" - "@svgr/plugin-svgo" "^6.1.0" - -"@tauri-apps/api@^1.0.0-rc.1": - version "1.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/api/-/api-1.0.0-rc.1.tgz#ce26a0fe30d8980a4682d50015eec28ed4a23c1e" - integrity sha512-VBUOmfT8ea02JB/Qr+FHeaLnug5BRA7ro2pX47q0GZCbZsU9b+iPnOXl0ShJwT0melR7B6iamyhDwkHStMVfQA== - dependencies: - type-fest "2.11.2" - -"@tauri-apps/cli-darwin-arm64@1.0.0-rc.5": - version "1.0.0-rc.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.0.0-rc.5.tgz#9374be8c96afa1cf77b5647bc81fe1a05006757d" - integrity sha512-X+3EIAUGfoL8uE6PBADZC8FcUISe4JPQCxXgaVv6ehoZGoCh/pFJF7AvBGTQxbnvngqM7Xce4Lmh63Io2/5ggw== - -"@tauri-apps/cli-darwin-x64@1.0.0-rc.5": - version "1.0.0-rc.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.0.0-rc.5.tgz#4db1dd56a228bfafe5b3f64c7661abbe5606e804" - integrity sha512-fEpgOdAvKdq9C5/yip8RnwP1VS+nRrtKdzzplu4jY6njDVH/Vom8mg+EfXkCY5RveCaoskJMFgUvt10IGeZHBA== - -"@tauri-apps/cli-linux-arm-gnueabihf@1.0.0-rc.5": - version "1.0.0-rc.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.0.0-rc.5.tgz#0f1ff84c534908a54fbe63b45004abc6d4f03f4d" - integrity sha512-V7sWSBrpLyvkQxpkHIM8JltYqQhiTpThySDjO8POtrTqkRwM5BXORcCYhxTAKCedecfYK/RNUJ6Q0t7+3jS6DQ== - -"@tauri-apps/cli-linux-arm64-gnu@1.0.0-rc.5": - version "1.0.0-rc.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.0.0-rc.5.tgz#c5d2f1dd962d80a1958261229778b410b86254d4" - integrity sha512-HhM+2FInxtUAI/41LF4fDEzmhLQUq6DOoo7fLN94vgWlhsPyWZoDGP9pA043XbO86+4OX5JZUW1SnTVXMwEaMA== - -"@tauri-apps/cli-linux-arm64-musl@1.0.0-rc.5": - version "1.0.0-rc.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.0.0-rc.5.tgz#f485db9ca5402f5d2c4585801a3aaa4519bd67e8" - integrity sha512-DhHdKOhf3+peA/sM0c9CpxK89cp8GVwOB5osFW55fxBZbD0mJFeL2SzjkgfGFqFu6Ci/ZiibQGfEp8XTC8OsYA== - -"@tauri-apps/cli-linux-x64-gnu@1.0.0-rc.5": - version "1.0.0-rc.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.0.0-rc.5.tgz#e468939585bc98e80ec827d0a3d8ba06a7cc38e8" - integrity sha512-pZzsOHRGG/mdcn7fF/yOIOdeVzGxZUtZqvlGSd90ZM9Ps3//uYGCBHoNTbeSwp/V6+D0KVDaSCbm9lYlHoXcdA== - -"@tauri-apps/cli-linux-x64-musl@1.0.0-rc.5": - version "1.0.0-rc.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.0.0-rc.5.tgz#a1308e93850555f2b6c97b5d7cdbbb9afaa803e2" - integrity sha512-COwWCbOhEjBlzGRGTa0ESO4/AiC0cBZ2UEPExRn++S+kWSPJ2vsyMdCLu3hiMy1ABSIRcQ4Vc68M1iVkLhOHHw== - -"@tauri-apps/cli-win32-x64-msvc@1.0.0-rc.5": - version "1.0.0-rc.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.0.0-rc.5.tgz#d15c95143d9123d10c510e28ba90df5349b68ecd" - integrity sha512-zzizUmPWvnWjj+IUCk36kVjS9j1Bg5JmnwOW5QdX26+a64q5vocmVimCgrfZ5STw3sDFXE++S55ghpzhhH5o+g== - -"@tauri-apps/cli@^1.0.0-rc.5": - version "1.0.0-rc.5" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli/-/cli-1.0.0-rc.5.tgz#db8ca22c9f55f5400d1c6addd78ee1df5dc15a29" - integrity sha512-Q3D0R5YdZRA5EcL206hwwKCyXpet2mRDcfaRTU/IXwF73bS4AMja+JdAGfO2cyHuSvXd+b//Cgbei2zCG8M6hw== - optionalDependencies: - "@tauri-apps/cli-darwin-arm64" "1.0.0-rc.5" - "@tauri-apps/cli-darwin-x64" "1.0.0-rc.5" - "@tauri-apps/cli-linux-arm-gnueabihf" "1.0.0-rc.5" - "@tauri-apps/cli-linux-arm64-gnu" "1.0.0-rc.5" - "@tauri-apps/cli-linux-arm64-musl" "1.0.0-rc.5" - "@tauri-apps/cli-linux-x64-gnu" "1.0.0-rc.5" - "@tauri-apps/cli-linux-x64-musl" "1.0.0-rc.5" - "@tauri-apps/cli-win32-x64-msvc" "1.0.0-rc.5" - -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - -"@types/bs58@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/bs58/-/bs58-4.0.1.tgz#3d51222aab067786d3bc3740a84a7f5a0effaa37" - integrity sha512-yfAgiWgVLjFCmRv8zAcOIHywYATEwiTVccTLnRp6UxTNavT55M9d/uhK3T03St/+8/z/wW+CRjGKUNmEqoHHCA== - dependencies: - base-x "^3.0.6" - -"@types/eslint-scope@^3.7.0": - version "3.7.1" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.1.tgz#8dc390a7b4f9dd9f1284629efce982e41612116e" - integrity sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "8.2.0" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.2.0.tgz#afd0519223c29c347087542cbaee2fedc0873b16" - integrity sha512-74hbvsnc+7TEDa1z5YLSe4/q8hGYB3USNvCuzHUJrjPV6hXaq8IXcngCrHkuvFt0+8rFz7xYXrHgNayIX0UZvQ== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^0.0.50": - version "0.0.50" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" - integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== - -"@types/favicons@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@types/favicons/-/favicons-5.5.0.tgz#c1cb3d2a14955eedf479f3cc51948630c56e3a64" - integrity sha512-s76OlRaBfqtGu2ZBobnZv2NETfqsQUVfKKlOkKNGo4ArBsqiblodKsnQ3j29hCCgmpQacEfLxealV96za+tzVQ== - dependencies: - "@types/node" "*" - -"@types/history@*": - version "4.7.9" - resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.9.tgz#1cfb6d60ef3822c589f18e70f8b12f9a28ce8724" - integrity sha512-MUc6zSmU3tEVnkQ78q0peeEjKWPUADMlC/t++2bI8WnAG2tvYRPIgHG8lWkXwqc8MsUF6Z2MOf+Mh5sazOmhiQ== - -"@types/html-minifier-terser@^6.0.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" - integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== - -"@types/http-proxy@^1.17.5": - version "1.17.7" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.7.tgz#30ea85cc2c868368352a37f0d0d3581e24834c6f" - integrity sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w== - dependencies: - "@types/node" "*" - -"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.9" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== - -"@types/lodash@^4.14.175": - version "4.14.177" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.177.tgz#f70c0d19c30fab101cad46b52be60363c43c4578" - integrity sha512-0fDwydE2clKe9MNfvXHBHF9WEahRuj+msTuQqOmAApNORFvhMYZKNGGJdCzuhheVjMps/ti0Ak/iJPACMaevvw== - -"@types/node@*": - version "16.11.10" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.10.tgz#2e3ad0a680d96367103d3e670d41c2fed3da61ae" - integrity sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA== - -"@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/prop-types@*", "@types/prop-types@^15.7.4": - version "15.7.4" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" - integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== - -"@types/qrcode.react@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/qrcode.react/-/qrcode.react-1.0.2.tgz#f892432cc41b5dac52e3ca8873b717c8bfea6002" - integrity sha512-I9Oq5Cjlkgy3Tw7krCnCXLw2/zMhizkTere49OOcta23tkvH0xBTP0yInimTh0gstLRtb8Ki9NZVujE5UI6ffQ== - dependencies: - "@types/react" "*" - -"@types/react-dom@^17.0.9": - version "17.0.11" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.11.tgz#e1eadc3c5e86bdb5f7684e00274ae228e7bcc466" - integrity sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q== - dependencies: - "@types/react" "*" - -"@types/react-is@^16.7.1 || ^17.0.0": - version "17.0.3" - resolved "https://registry.yarnpkg.com/@types/react-is/-/react-is-17.0.3.tgz#2d855ba575f2fc8d17ef9861f084acc4b90a137a" - integrity sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw== - dependencies: - "@types/react" "*" - -"@types/react-router-dom@^5.1.8": - version "5.3.2" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.2.tgz#ebd8e145cf056db5c66eb1dac63c72f52e8542ee" - integrity sha512-ELEYRUie2czuJzaZ5+ziIp9Hhw+juEw8b7C11YNA4QdLCVbQ3qLi2l4aq8XnlqM7V31LZX8dxUuFUCrzHm6sqQ== - dependencies: - "@types/history" "*" - "@types/react" "*" - "@types/react-router" "*" - -"@types/react-router@*": - version "5.1.17" - resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.17.tgz#087091006213b11042f39570e5cd414863693968" - integrity sha512-RNSXOyb3VyRs/EOGmjBhhGKTbnN6fHWvy5FNLzWfOWOGjgVUKqJZXfpKzLmgoU8h6Hj8mpALj/mbXQASOb92wQ== - dependencies: - "@types/history" "*" - "@types/react" "*" - -"@types/react-transition-group@^4.4.4": - version "4.4.4" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.4.tgz#acd4cceaa2be6b757db61ed7b432e103242d163e" - integrity sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug== - dependencies: - "@types/react" "*" - -"@types/react@*": - version "17.0.37" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.37.tgz#6884d0aa402605935c397ae689deed115caad959" - integrity sha512-2FS1oTqBGcH/s0E+CjrCCR9+JMpsu9b69RTFO+40ua43ZqP5MmQ4iUde/dMjWR909KxZwmOQIFq6AV6NjEG5xg== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/retry@^0.12.0": - version "0.12.1" - resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065" - integrity sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== - -"@types/scheduler@*": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" - integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== - -"@types/semver@^7.3.8": - version "7.3.9" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.9.tgz#152c6c20a7688c30b967ec1841d31ace569863fc" - integrity sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ== - -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== - -"@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== - -"@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== - -"@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== - -"@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - -"@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@xtuc/long" "4.2.2" - -"@webpack-cli/configtest@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.0.tgz#8342bef0badfb7dfd3b576f2574ab80c725be043" - integrity sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg== - -"@webpack-cli/info@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.0.tgz#b9179c3227ab09cbbb149aa733475fcf99430223" - integrity sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw== - dependencies: - envinfo "^7.7.3" - -"@webpack-cli/serve@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.0.tgz#2c275aa05c895eccebbfc34cfb223c6e8bd591a2" - integrity sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA== - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" - -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== - -acorn@^8.4.1: - version "8.6.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895" - integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw== - -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-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -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-keywords@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: - 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@^8.0.0, ajv@^8.8.0: - version "8.8.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.2.tgz#01b4fef2007a28bf75f0b7fc009f62679de4abbb" - integrity sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-html-community@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -any-base@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/any-base/-/any-base-1.1.0.tgz#ae101a62bc08a597b4c9ab5b7089d456630549fe" - integrity sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg== - -anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@~1.1.2: - version "1.1.7" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" - integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= - -array-flatten@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-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== - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -async@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -author-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/author-regex/-/author-regex-1.0.0.tgz#d08885be6b9bbf9439fe087c76287245f0a81450" - integrity sha1-0IiFvmubv5Q5/gh8dihyRfCoFFA= - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -babel-loader@^8.2.2: - version "8.2.3" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" - integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^1.4.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-plugin-dynamic-import-node@^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-macros@^2.6.1: - version "2.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== - dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" - -babel-plugin-polyfill-corejs2@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd" - integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA== - dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.0" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" - integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" - core-js-compat "^3.18.0" - -babel-plugin-polyfill-regenerator@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be" - integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^3.0.2, base-x@^3.0.6: - version "3.0.9" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" - integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== - dependencies: - safe-buffer "^5.0.1" - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -bignumber.js@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-2.4.0.tgz#838a992da9f9d737e0f4b2db0be62bb09dd0c5e8" - integrity sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg= - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -bmp-js@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.0.1.tgz#5ad0147099d13a9f38aa7b99af1d6e78666ed37f" - integrity sha1-WtAUcJnROp84qnuZrx1ueGZu038= - -bmp-js@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.0.3.tgz#64113e9c7cf1202b376ed607bf30626ebe57b18a" - integrity sha1-ZBE+nHzxICs3btYHvzBibr5XsYo= - -bmp-js@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.1.0.tgz#e05a63f796a6c1ff25f4771ec7adadc148c07233" - integrity sha1-4Fpj95amwf8l9Hcex62twUjAcjM= - -body-parser@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== - dependencies: - bytes "3.1.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.7.2" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" - -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^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" - -browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.17.6: - version "4.18.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" - integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== - dependencies: - caniuse-lite "^1.0.30001280" - electron-to-chromium "^1.3.896" - escalade "^3.1.1" - node-releases "^2.0.1" - picocolors "^1.0.0" - -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" - -buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== - -buffer-alloc@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== - dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" - -buffer-equal@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" - integrity sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs= - -buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" - integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== - -buffer@^5.2.0, buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" - integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== - -caniuse-lite@^1.0.30001280: - version "1.0.30001282" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz#38c781ee0a90ccfe1fe7fefd00e43f5ffdcb96fd" - integrity sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^2.0.0, chalk@^2.4.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chokidar@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" - integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -clean-css@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.2.2.tgz#d3a7c6ee2511011e051719838bdcf8314dc4548d" - integrity sha512-/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w== - dependencies: - source-map "~0.6.0" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= - -clone@^2.1.1, clone@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -cloneable-readable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" - integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" - -clsx@^1.1.0, clsx@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" - integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -color-convert@^1.9.0, color-convert@^1.9.3: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312" - integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^3.1.3: - version "3.2.1" - resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" - integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== - dependencies: - color-convert "^1.9.3" - color-string "^1.6.0" - -colorette@^2.0.10, colorette@^2.0.14: - version "2.0.16" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" - integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== - -colors@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^7.0.0, commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -connect-history-api-fallback@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - dependencies: - safe-buffer "5.1.2" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -convert-source-map@^1.5.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== - -core-js-compat@^3.18.0, core-js-compat@^3.19.1: - version "3.19.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.1.tgz#fe598f1a9bf37310d77c3813968e9f7c7bb99476" - integrity sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g== - dependencies: - browserslist "^4.17.6" - semver "7.0.0" - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -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" - -cosmiconfig@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -css-loader@^6.2.0: - version "6.5.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.5.1.tgz#0c43d4fbe0d97f699c91e9818cb585759091d1b1" - integrity sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ== - dependencies: - icss-utils "^5.1.0" - postcss "^8.2.15" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.1.0" - semver "^7.3.5" - -css-select@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" - integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== - dependencies: - boolbase "^1.0.0" - css-what "^5.0.0" - domhandler "^4.2.0" - domutils "^2.6.0" - nth-check "^2.0.0" - -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-vendor@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.8.tgz#e47f91d3bd3117d49180a3c935e62e3d9f7f449d" - integrity sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ== - dependencies: - "@babel/runtime" "^7.8.3" - is-in-browser "^1.0.2" - -css-what@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" - integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -csso@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - -csstype@^3.0.10, csstype@^3.0.2: - version "3.0.10" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5" - integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -date-fns@^2.28.0: - version "2.28.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" - integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.1.1: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.1.0, debug@^4.1.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== - dependencies: - ms "2.1.2" - -decompress-response@^4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986" - integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw== - dependencies: - mimic-response "^2.0.0" - -deep-equal@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== - dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -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@^6.0.0: - version "6.0.3" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" - integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== - dependencies: - execa "^5.0.0" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -del@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952" - integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ== - dependencies: - globby "^11.0.1" - graceful-fs "^4.2.4" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.2" - p-map "^4.0.0" - rimraf "^3.0.2" - slash "^3.0.0" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detect-libc@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - -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" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= - -dns-packet@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" - integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= - dependencies: - buffer-indexof "^1.0.0" - -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-helpers@^5.0.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" - integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== - dependencies: - "@babel/runtime" "^7.8.7" - csstype "^3.0.2" - -dom-serializer@^1.0.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" - integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -dom-walk@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" - integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" - integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== - -domhandler@^4.0.0, domhandler@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f" - integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w== - dependencies: - domelementtype "^2.2.0" - -domutils@^2.5.2, domutils@^2.6.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dotenv-defaults@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz#6b3ec2e4319aafb70940abda72d3856770ee77ac" - integrity sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg== - dependencies: - dotenv "^8.2.0" - -dotenv-webpack@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-7.0.3.tgz#f50ec3c7083a69ec6076e110566720003b7b107b" - integrity sha512-O0O9pOEwrk+n1zzR3T2uuXRlw64QxHSPeNN1GaiNBloQFNaCUL9V8jxSVz4jlXXFP/CIqK8YecWf8BAvsSgMjw== - dependencies: - dotenv-defaults "^2.0.2" - -dotenv@^8.2.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" - integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -electron-to-chromium@^1.3.896: - version "1.4.0" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.0.tgz#7456192519838f881e35e4038bf4ad2c36353e63" - integrity sha512-+oXCt6SaIu8EmFTPx8wNGSB0tHQ5biDscnlf6Uxuz17e9CjzMRtGk9B8705aMPnj0iWr3iC74WuIkngCsLElmA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emojis-list@^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" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^5.8.3: - version "5.8.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" - integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -entities@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" - integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== - -envinfo@^7.7.3: - version "7.8.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" - integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" - is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es6-promise@^3.0.2: - version "3.3.1" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" - integrity sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM= - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -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.3.0" - estraverse "^4.1.1" - -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.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exif-parser@^0.1.12, exif-parser@^0.1.9: - version "0.1.12" - resolved "https://registry.yarnpkg.com/exif-parser/-/exif-parser-0.1.12.tgz#58a9d2d72c02c1f6f02a0ef4a9166272b7760922" - integrity sha1-WKnS1ywCwfbwKg70qRZicrd2CSI= - -expand-template@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" - integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== - -express@^4.17.1: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== - dependencies: - accepts "~1.3.7" - array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" - content-type "~1.0.4" - cookie "0.4.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" - range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.1.1: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fastest-levenshtein@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" - integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== - -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== - dependencies: - reusify "^1.0.4" - -favicons-webpack-plugin@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/favicons-webpack-plugin/-/favicons-webpack-plugin-5.0.2.tgz#0837a753ee4485785fa2cec1c3b83472f9ff60ce" - integrity sha512-D/A+Ze0x57+YZBU69hK/lR3NI636qQnKduWyQm0THGl1y3jt16whPHHsi8yjsuXvetv84Eh/I/yYJbAMC2iQxg== - dependencies: - "@types/favicons" "5.5.0" - find-root "^1.1.0" - parse-author "^2.0.0" - parse5 "^6.0.1" - optionalDependencies: - html-webpack-plugin ">=5.0.0" - -favicons@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/favicons/-/favicons-6.2.2.tgz#8d9316647cfe202afda9020f0c47ec2d8f64eaad" - integrity sha512-qhvFqbhlXA/JYIDYuxTrE4uT9rcpTCrWvF3UG0GxBoLl/XgFBBTrZkQvASrkMebSwDCJ9kKGypRWIbvoRZLBsw== - dependencies: - clone "^2.1.2" - colors "^1.4.0" - image-size "^0.8.3" - jimp "^0.16.1" - jsontoxml "^1.0.1" - lodash.defaultsdeep "^4.6.1" - require-directory "^2.1.1" - sharp "^0.28.2" - through2 "^4.0.2" - tinycolor2 "^1.4.2" - to-ico "^1.1.5" - vinyl "^2.2.1" - xml2js "^0.4.23" - -faye-websocket@^0.11.3: - version "0.11.4" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - -file-loader@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -file-type@^3.1.0, file-type@^3.8.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" - integrity sha1-JXoHg4TR24CHvESdEH1SpSZyuek= - -file-type@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-9.0.0.tgz#a68d5ad07f486414dfb2c8866f73161946714a18" - integrity sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw== - -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" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-cache-dir@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-root@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" - integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== - -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -follow-redirects@^1.0.0: - version "1.14.8" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc" - integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA== - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-monkey@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" - integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-stream@^2.0.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" - integrity sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4= - dependencies: - object-assign "^4.0.1" - pinkie-promise "^2.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -gifwrap@^0.9.2: - version "0.9.2" - resolved "https://registry.yarnpkg.com/gifwrap/-/gifwrap-0.9.2.tgz#348e286e67d7cf57942172e1e6f05a71cee78489" - integrity sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA== - dependencies: - image-q "^1.1.1" - omggif "^1.0.10" - -github-from-package@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" - integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.1.3: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global@~4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" - integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== - dependencies: - min-document "^2.19.0" - process "^0.11.10" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globby@^11.0.1: - version "11.0.4" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" - integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== - 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" - -graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6: - version "4.2.8" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" - integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -history@^4.9.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" - integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== - dependencies: - "@babel/runtime" "^7.1.2" - loose-envify "^1.2.0" - resolve-pathname "^3.0.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - value-equal "^1.0.1" - -hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-entities@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.2.tgz#760b404685cb1d794e4f4b744332e3b00dcfe488" - integrity sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ== - -html-minifier-terser@^6.0.2: - version "6.1.0" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" - integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== - dependencies: - camel-case "^4.1.2" - clean-css "^5.2.2" - commander "^8.3.0" - he "^1.2.0" - param-case "^3.0.4" - relateurl "^0.2.7" - terser "^5.10.0" - -html-webpack-plugin@>=5.0.0, html-webpack-plugin@^5.3.2: - version "5.5.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz#c3911936f57681c1f9f4d8b68c158cd9dfe52f50" - integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw== - dependencies: - "@types/html-minifier-terser" "^6.0.0" - html-minifier-terser "^6.0.2" - lodash "^4.17.21" - pretty-error "^4.0.0" - tapable "^2.0.0" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= - -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-parser-js@>=0.5.1: - version "0.5.3" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" - integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== - -http-proxy-middleware@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz#7ef3417a479fb7666a571e09966c66a39bd2c15f" - integrity sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg== - dependencies: - "@types/http-proxy" "^1.17.5" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -hyphenate-style-name@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" - integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.1.4: - version "5.1.9" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.9.tgz#9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb" - integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ== - -image-q@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/image-q/-/image-q-1.1.1.tgz#fc84099664460b90ca862d9300b6bfbbbfbf8056" - integrity sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY= - -image-size@^0.5.0: - version "0.5.5" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" - integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= - -image-size@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.8.3.tgz#f0b568857e034f29baffd37013587f2c0cad8b46" - integrity sha512-SMtq1AJ+aqHB45c3FsB4ERK0UCiA2d3H1uq8s+8T0Pf8A3W4teyBQyaFaktH6xvZqh+npwlKU7i4fJo0r7TYTg== - dependencies: - queue "6.0.1" - -import-fresh@^3.1.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" - integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -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== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -ini@~1.3.0: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -internal-ip@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-6.2.0.tgz#d5541e79716e406b74ac6b07b856ef18dc1621c1" - integrity sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg== - dependencies: - default-gateway "^6.0.0" - ipaddr.js "^1.9.1" - is-ip "^3.1.0" - p-event "^4.2.0" - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -interpret@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" - integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== - -ip-regex@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd" - integrity sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0= - -ip-regex@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" - integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== - -ip@^1.1.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - -ipaddr.js@1.9.1, ipaddr.js@^1.9.1: - 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== - -ipaddr.js@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" - integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -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-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-core-module@^2.2.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" - integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== - dependencies: - has "^1.0.3" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-function@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" - integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-in-browser@^1.0.2, is-in-browser@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" - integrity sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU= - -is-ip@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8" - integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q== - dependencies: - ip-regex "^4.0.0" - -is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== - dependencies: - has-tostringtag "^1.0.0" - -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-path-cwd@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-inside@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" - integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== - -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-regex@^1.0.4, is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-weakref@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" - integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ== - dependencies: - call-bind "^1.0.0" - -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" - -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: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -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= - -jest-worker@^27.0.6: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.3.1.tgz#0def7feae5b8042be38479799aeb7b5facac24b2" - integrity sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jimp@^0.16.1: - version "0.16.1" - resolved "https://registry.yarnpkg.com/jimp/-/jimp-0.16.1.tgz#192f851a30e5ca11112a3d0aa53137659a78ca7a" - integrity sha512-+EKVxbR36Td7Hfd23wKGIeEyHbxShZDX6L8uJkgVW3ESA9GiTEPK08tG1XI2r/0w5Ch0HyJF5kPqF9K7EmGjaw== - dependencies: - "@babel/runtime" "^7.7.2" - "@jimp/custom" "^0.16.1" - "@jimp/plugins" "^0.16.1" - "@jimp/types" "^0.16.1" - regenerator-runtime "^0.13.3" - -jimp@^0.2.21: - version "0.2.28" - resolved "https://registry.yarnpkg.com/jimp/-/jimp-0.2.28.tgz#dd529a937190f42957a7937d1acc3a7762996ea2" - integrity sha1-3VKak3GQ9ClXp5N9Gsw6d2KZbqI= - dependencies: - bignumber.js "^2.1.0" - bmp-js "0.0.3" - es6-promise "^3.0.2" - exif-parser "^0.1.9" - file-type "^3.1.0" - jpeg-js "^0.2.0" - load-bmfont "^1.2.3" - mime "^1.3.4" - mkdirp "0.5.1" - pixelmatch "^4.0.0" - pngjs "^3.0.0" - read-chunk "^1.0.1" - request "^2.65.0" - stream-to-buffer "^0.1.0" - tinycolor2 "^1.1.2" - url-regex "^3.0.0" - -jpeg-js@0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.2.tgz#8b345b1ae4abde64c2da2fe67ea216a114ac279d" - integrity sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw== - -jpeg-js@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.1.2.tgz#135b992c0575c985cfa0f494a3227ed238583ece" - integrity sha1-E1uZLAV1yYXPoPSUoyJ+0jhYPs4= - -jpeg-js@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.2.0.tgz#53e448ec9d263e683266467e9442d2c5a2ef5482" - integrity sha1-U+RI7J0mPmgyZkZ+lELSxaLvVII= - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-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" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -jsontoxml@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/jsontoxml/-/jsontoxml-1.0.1.tgz#07fff7f6bfbfa1097d779aec7f041b5046075e70" - integrity sha512-dtKGq0K8EWQBRqcAaePSgKR4Hyjfsz/LkurHSV3Cxk4H+h2fWDeaN2jzABz+ZmOJylgXS7FGeWmbZ6jgYUMdJQ== - -jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -jss-plugin-camel-case@^10.8.2: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.8.2.tgz#8d7f915c8115afaff8cbde08faf610ec9892fba6" - integrity sha512-2INyxR+1UdNuKf4v9It3tNfPvf7IPrtkiwzofeKuMd5D58/dxDJVUQYRVg/n460rTlHUfsEQx43hDrcxi9dSPA== - dependencies: - "@babel/runtime" "^7.3.1" - hyphenate-style-name "^1.0.3" - jss "10.8.2" - -jss-plugin-default-unit@^10.8.2: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.8.2.tgz#c66f12e02e0815d911b85c02c2a979ee7b4ce69a" - integrity sha512-UZ7cwT9NFYSG+SEy7noRU50s4zifulFdjkUNKE+u6mW7vFP960+RglWjTgMfh79G6OENZmaYnjHV/gcKV4nSxg== - dependencies: - "@babel/runtime" "^7.3.1" - jss "10.8.2" - -jss-plugin-global@^10.8.2: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.8.2.tgz#1a35632a693cf50113bcc5ffe6b51969df79c4ec" - integrity sha512-UaYMSPsYZ7s/ECGoj4KoHC2jwQd5iQ7K+FFGnCAILdQrv7hPmvM2Ydg45ThT/sH46DqktCRV2SqjRuxeBH8nRA== - dependencies: - "@babel/runtime" "^7.3.1" - jss "10.8.2" - -jss-plugin-nested@^10.8.2: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.8.2.tgz#79f3c7f75ea6a36ae72fe52e777035bb24d230c7" - integrity sha512-acRvuPJOb930fuYmhkJaa994EADpt8TxI63Iyg96C8FJ9T2xRyU5T6R1IYKRwUiqZo+2Sr7fdGzRTDD4uBZaMA== - dependencies: - "@babel/runtime" "^7.3.1" - jss "10.8.2" - tiny-warning "^1.0.2" - -jss-plugin-props-sort@^10.8.2: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.8.2.tgz#e25a7471868652c394562b6dc5433dcaea7dff6f" - integrity sha512-wqdcjayKRWBZnNpLUrXvsWqh+5J5YToAQ+8HNBNw0kZxVvCDwzhK2Nx6AKs7p+5/MbAh2PLgNW5Ym/ysbVAuqQ== - dependencies: - "@babel/runtime" "^7.3.1" - jss "10.8.2" - -jss-plugin-rule-value-function@^10.8.2: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.8.2.tgz#55354b55f1b2968a15976729968f767f02d64049" - integrity sha512-bW0EKAs+0HXpb6BKJhrn94IDdiWb0CnSluTkh0rGEgyzY/nmD1uV/Wf6KGlesGOZ9gmJzQy+9FFdxIUID1c9Ug== - dependencies: - "@babel/runtime" "^7.3.1" - jss "10.8.2" - tiny-warning "^1.0.2" - -jss-plugin-vendor-prefixer@^10.8.2: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.8.2.tgz#ebb4a482642f34091e454901e21176441dd5f475" - integrity sha512-DeGv18QsSiYLSVIEB2+l0af6OToUe0JB+trpzUxyqD2QRC/5AzzDrCrYffO5AHZ81QbffYvSN/pkfZaTWpRXlg== - dependencies: - "@babel/runtime" "^7.3.1" - css-vendor "^2.0.8" - jss "10.8.2" - -jss@10.8.2, jss@^10.8.2: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss/-/jss-10.8.2.tgz#4b2a30b094b924629a64928236017a52c7c97505" - integrity sha512-FkoUNxI329CKQ9OQC8L72MBF9KPf5q8mIupAJ5twU7G7XREW7ahb+7jFfrjZ4iy1qvhx1HwIWUIvkZBDnKkEdQ== - dependencies: - "@babel/runtime" "^7.3.1" - csstype "^3.0.2" - is-in-browser "^1.1.3" - tiny-warning "^1.0.2" - -kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -load-bmfont@^1.2.3, load-bmfont@^1.3.1, load-bmfont@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.4.1.tgz#c0f5f4711a1e2ccff725a7b6078087ccfcddd3e9" - integrity sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA== - dependencies: - buffer-equal "0.0.1" - mime "^1.3.4" - parse-bmfont-ascii "^1.0.3" - parse-bmfont-binary "^1.0.5" - parse-bmfont-xml "^1.1.4" - phin "^2.9.1" - xhr "^2.0.1" - xtend "^4.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -loader-runner@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" - integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== - -loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -loader-utils@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" - integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash-es@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" - integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - -lodash.defaultsdeep@^4.6.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" - integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== - -lodash@^4.17.14, lodash@^4.17.20, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -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" - -make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -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= - -memfs@^3.2.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.0.tgz#8bc12062b973be6b295d4340595736a656f0a257" - integrity sha512-o/RfP0J1d03YwsAxyHxAYs2kyJp55AFkMazlFAZFR2I2IXkxiUTXRabJ6RmNNCQ83LAD2jy52Khj0m3OffpNdA== - dependencies: - fs-monkey "1.0.3" - -memorystream@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" - integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.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" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -mime-db@1.51.0, "mime-db@>= 1.43.0 < 2": - version "1.51.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== - -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.34" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== - dependencies: - mime-db "1.51.0" - -mime@1.6.0, mime@^1.3.4: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -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== - -mimic-response@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43" - integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== - -min-document@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" - integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= - dependencies: - dom-walk "^0.1.0" - -mini-create-react-context@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" - integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== - dependencies: - "@babel/runtime" "^7.12.1" - tiny-warning "^1.0.3" - -minimalistic-assert@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@^1.2.0, minimist@^1.2.3, 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== - -mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - -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.1, mkdirp@^0.5.5: - 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" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - -nanoclone@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4" - integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA== - -nanoid@^3.1.30: - version "3.2.0" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" - integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== - -napi-build-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" - integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== - -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-abi@^2.21.0: - version "2.30.1" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz#c437d4b1fe0e285aaf290d45b45d4d7afedac4cf" - integrity sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w== - dependencies: - semver "^5.4.1" - -node-addon-api@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" - integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== - -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-releases@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" - integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== - -normalize-package-data@^2.3.2: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^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== - -notistack@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/notistack/-/notistack-2.0.3.tgz#9007550e5cbc14df84d1d54e7a55ac0948eb59e8" - integrity sha512-krmVFtTO9kEY1Pa4NrbyexrjiRcV6TqBM2xLx8nuDea1g96Z/OZfkvVLmYKkTvoSJ3jyQntWK16z86ssW5kt4A== - dependencies: - clsx "^1.1.0" - hoist-non-react-statics "^3.3.0" - -npm-run-all@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" - integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== - dependencies: - ansi-styles "^3.2.1" - chalk "^2.4.1" - cross-spawn "^6.0.5" - memorystream "^0.3.1" - minimatch "^3.0.4" - pidtree "^0.3.0" - read-pkg "^3.0.0" - shell-quote "^1.6.1" - string.prototype.padend "^3.0.0" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npmlog@^4.0.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -nth-check@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" - integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== - dependencies: - boolbase "^1.0.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.11.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.1.tgz#d4bd7d7de54b9a75599f59a00bd698c1f1c6549b" - integrity sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA== - -object-is@^1.0.1: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.0, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -omggif@^1.0.10, omggif@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/omggif/-/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19" - integrity sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw== - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^8.0.9: - version "8.4.0" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" - integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -p-event@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" - integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== - dependencies: - p-timeout "^3.1.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-limit@^2.2.0: - 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@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-retry@^4.5.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.1.tgz#8fcddd5cdf7a67a0911a9cf2ef0e5df7f602316c" - integrity sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA== - dependencies: - "@types/retry" "^0.12.0" - retry "^0.13.1" - -p-timeout@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" - integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== - dependencies: - p-finally "^1.0.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@^1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -param-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-author@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/parse-author/-/parse-author-2.0.0.tgz#d3460bf1ddd0dfaeed42da754242e65fb684a81f" - integrity sha1-00YL8d3Q367tQtp1QkLmX7aEqB8= - dependencies: - author-regex "^1.0.0" - -parse-bmfont-ascii@^1.0.3: - version "1.0.6" - resolved "https://registry.yarnpkg.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz#11ac3c3ff58f7c2020ab22769079108d4dfa0285" - integrity sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU= - -parse-bmfont-binary@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz#d038b476d3e9dd9db1e11a0b0e53a22792b69006" - integrity sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY= - -parse-bmfont-xml@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz#015319797e3e12f9e739c4d513872cd2fa35f389" - integrity sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ== - dependencies: - xml-parse-from-string "^1.0.0" - xml2js "^0.4.5" - -parse-headers@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.4.tgz#9eaf2d02bed2d1eff494331ce3df36d7924760bf" - integrity sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw== - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - 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-png@^1.0.0, parse-png@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/parse-png/-/parse-png-1.1.2.tgz#f5c2ad7c7993490986020a284c19aee459711ff2" - integrity sha1-9cKtfHmTSQmGAgooTBmu5FlxH/I= - dependencies: - pngjs "^3.2.0" - -parse5@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - -path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - dependencies: - isarray "0.0.1" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -phin@^2.9.1: - version "2.9.3" - resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c" - integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== - -pidtree@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" - integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pixelmatch@^4.0.0, pixelmatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854" - integrity sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ= - dependencies: - pngjs "^3.0.0" - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pngjs@^3.0.0, pngjs@^3.2.0, pngjs@^3.3.3: - version "3.4.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" - integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== - -portfinder@^1.0.28: - 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.5" - -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== - -postcss-modules-local-by-default@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" - integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.6" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" - integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.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@^8.2.15: - version "8.4.1" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.1.tgz#73051f825509ad1a716ef500108001bf3d1fa8f7" - integrity sha512-WqLs/TTzXdG+/A4ZOOK9WDZiikrRaiA+eoEb/jz2DT9KUhMNHgP7yKPO8vwi62ZCsb703Gwb7BMZwDzI54Y2Ag== - dependencies: - nanoid "^3.1.30" - picocolors "^1.0.0" - source-map-js "^1.0.1" - -prebuild-install@^6.1.2: - version "6.1.4" - resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.1.4.tgz#ae3c0142ad611d58570b89af4986088a4937e00f" - integrity sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ== - dependencies: - detect-libc "^1.0.3" - expand-template "^2.0.3" - github-from-package "0.0.0" - minimist "^1.2.3" - mkdirp-classic "^0.5.3" - napi-build-utils "^1.0.1" - node-abi "^2.21.0" - npmlog "^4.0.1" - pump "^3.0.0" - rc "^1.2.7" - simple-get "^3.0.3" - tar-fs "^2.0.0" - tunnel-agent "^0.6.0" - -pretty-error@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" - integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== - dependencies: - lodash "^4.17.20" - renderkid "^3.0.0" - -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.8.1" - -property-expr@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.4.tgz#37b925478e58965031bb612ec5b3260f8241e910" - integrity sha512-sFPkHQjVKheDNnPvotjQmm3KD3uk1fWKUN7CrpdbwmUx3CrG3QiM8QpTSimvig5vTXmTvjz7+TDvXOI9+4rkcg== - -proxy-addr@~2.0.5: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qr.js@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/qr.js/-/qr.js-0.0.0.tgz#cace86386f59a0db8050fa90d9b6b0e88a1e364f" - integrity sha1-ys6GOG9ZoNuAUPqQ2baw6IoeNk8= - -qrcode.react@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/qrcode.react/-/qrcode.react-1.0.1.tgz#2834bb50e5e275ffe5af6906eff15391fe9e38a5" - integrity sha512-8d3Tackk8IRLXTo67Y+c1rpaiXjoz/Dd2HpcMdW//62/x8J1Nbho14Kh8x974t9prsLHN6XqVgcnRiBGFptQmg== - dependencies: - loose-envify "^1.4.0" - prop-types "^15.6.0" - qr.js "0.0.0" - -qs@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -queue@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.1.tgz#abd5a5b0376912f070a25729e0b6a7d565683791" - integrity sha512-AJBQabRCCNr9ANq8v77RJEv73DPbn55cdTb+Giq4X0AVnNVZvMHlYp7XlQiN+1npCZj1DuSmaA2hYVUUDgxFDg== - dependencies: - inherits "~2.0.3" - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== - dependencies: - bytes "3.1.0" - http-errors "1.7.2" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-dom@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" - integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - scheduler "^0.20.2" - -react-error-boundary@^3.1.3: - version "3.1.4" - resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-3.1.4.tgz#255db92b23197108757a888b01e5b729919abde0" - integrity sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA== - dependencies: - "@babel/runtime" "^7.12.5" - -react-hook-form@^7.14.2: - version "7.20.2" - resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.20.2.tgz#6fe76b680dd54ceb95c9c1a3c6338162081ba2e2" - integrity sha512-J5zkZW0Mf3KuMlk7Tl1tWYXoSjYhfKyEu//NfWTn2xzvv2vnDT5/EE/vHgtNb7kVeYpx6/mHIBd9aOfNnWcOsg== - -react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1: - 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@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -react-router-dom@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.0.tgz#da1bfb535a0e89a712a93b97dd76f47ad1f32363" - integrity sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ== - dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-router "5.2.1" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-router@5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.1.tgz#4d2e4e9d5ae9425091845b8dbc6d9d276239774d" - integrity sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ== - dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - hoist-non-react-statics "^3.1.0" - loose-envify "^1.3.1" - mini-create-react-context "^0.4.0" - path-to-regexp "^1.7.0" - prop-types "^15.6.2" - react-is "^16.6.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-transition-group@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470" - integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg== - dependencies: - "@babel/runtime" "^7.5.5" - dom-helpers "^5.0.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - -react@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" - integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -read-chunk@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-1.0.1.tgz#5f68cab307e663f19993527d9b589cace4661194" - integrity sha1-X2jKswfmY/GZk1J9m1icrORmEZQ= - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -readable-stream@3, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^2.0.1, readable-stream@^2.0.6, readable-stream@^2.3.5: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" - integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== - dependencies: - resolve "^1.9.0" - -regenerate-unicode-properties@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" - integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== - -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" - -regexp.prototype.flags@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" - integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -regexpu-core@^4.7.1: - version "4.8.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" - integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^9.0.0" - regjsgen "^0.5.2" - regjsparser "^0.7.0" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - -regjsgen@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" - integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== - dependencies: - jsesc "~0.5.0" - -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -renderkid@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" - integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^6.0.1" - -replace-ext@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" - integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== - -request@^2.65.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - -resize-img@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/resize-img/-/resize-img-1.1.2.tgz#fad650faf3ef2c53ea63112bc272d95e9d92550e" - integrity sha1-+tZQ+vPvLFPqYxErwnLZXp2SVQ4= - dependencies: - bmp-js "0.0.1" - file-type "^3.8.0" - get-stream "^2.0.0" - jimp "^0.2.21" - jpeg-js "^0.1.1" - parse-png "^1.1.1" - -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@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-pathname@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" - integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== - -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.9.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -retry@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== - -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== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -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.2, safe-buffer@~5.2.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== - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sax@>=0.6.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -scheduler@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" - integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -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" - -schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7" - integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.8.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.0.0" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= - -selfsigned@^1.10.11: - version "1.10.11" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" - integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== - dependencies: - node-forge "^0.10.0" - -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, 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.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.7.2" - mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - -serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - -set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -sharp@^0.28.2: - version "0.28.3" - resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.28.3.tgz#ecd74cefd020bee4891bb137c9850ee2ce277a8b" - integrity sha512-21GEP45Rmr7q2qcmdnjDkNP04Ooh5v0laGS5FDpojOO84D1DJwUijLiSq8XNNM6e8aGXYtoYRh3sVNdm8NodMA== - dependencies: - color "^3.1.3" - detect-libc "^1.0.3" - node-addon-api "^3.2.0" - prebuild-install "^6.1.2" - semver "^7.3.5" - simple-get "^3.1.0" - tar-fs "^2.1.1" - tunnel-agent "^0.6.0" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.6.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" - integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.3: - version "3.0.6" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" - integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== - -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^3.0.3, simple-get@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.1.tgz#cc7ba77cfbe761036fbfce3d021af25fc5584d55" - integrity sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA== - dependencies: - decompress-response "^4.2.0" - once "^1.3.1" - simple-concat "^1.0.0" - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -sockjs@^0.3.21: - version "0.3.21" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" - integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw== - dependencies: - faye-websocket "^0.11.3" - uuid "^3.4.0" - websocket-driver "^0.7.4" - -source-map-js@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.1.tgz#a1741c131e3c77d048252adfa24e23b908670caf" - integrity sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA== - -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.5.0, source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@~0.7.2: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.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" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stream-to-buffer@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz#26799d903ab2025c9bd550ac47171b00f8dd80a9" - integrity sha1-JnmdkDqyAlyb1VCsRxcbAPjdgKk= - dependencies: - stream-to "~0.2.0" - -stream-to@~0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/stream-to/-/stream-to-0.2.2.tgz#84306098d85fdb990b9fa300b1b3ccf55e8ef01d" - integrity sha1-hDBgmNhf25kLn6MAsbPM9V6O8B0= - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2 || 3 || 4": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.padend@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz#997a6de12c92c7cb34dc8a201a6c53d9bd88a5f1" - integrity sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-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-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -style-loader@^3.2.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" - integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== - -stylis@^4.0.10, stylis@^4.0.3: - version "4.0.10" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.10.tgz#446512d1097197ab3f02fb3c258358c3f7a14240" - integrity sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg== - -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== - dependencies: - has-flag "^3.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -svg-parser@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -svgo@^2.5.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" - picocolors "^1.0.0" - stable "^0.1.8" - -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -tar-fs@^2.0.0, tar-fs@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - -tar-stream@^2.1.4: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -terser-webpack-plugin@^5.1.3: - version "5.2.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz#ce65b9880a0c36872555c4874f45bbdb02ee32c9" - integrity sha512-3luOVHku5l0QBeYS8r4CdHYWEGMmIj3H1U64jgkdZzECcSOJAyJ9TjuqcQZvw1Y+4AOBN9SeYJPJmFn2cM4/2g== - dependencies: - jest-worker "^27.0.6" - schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - terser "^5.7.2" - -terser@^5.10.0, terser@^5.7.2: - version "5.10.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" - integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.20" - -through2@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" - integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== - dependencies: - readable-stream "3" - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -timm@^1.6.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/timm/-/timm-1.7.1.tgz#96bab60c7d45b5a10a8a4d0f0117c6b7e5aff76f" - integrity sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw== - -tiny-invariant@^1.0.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.2.0.tgz#a1141f86b672a9148c72e978a19a73b9b94a15a9" - integrity sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg== - -tiny-warning@^1.0.0, tiny-warning@^1.0.2, tiny-warning@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" - integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== - -tinycolor2@^1.1.2, tinycolor2@^1.4.1, tinycolor2@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803" - integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-ico@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/to-ico/-/to-ico-1.1.5.tgz#1d32da5f2c90922edee6b686d610c54527b5a8d5" - integrity sha512-5kIh7m7bkIlqIESEZkL8gAMMzucXKfPe3hX2FoDY5HEAfD9OJU+Qh9b6Enp74w0qRcxVT5ejss66PHKqc3AVkg== - dependencies: - arrify "^1.0.1" - buffer-alloc "^1.1.0" - image-size "^0.5.0" - parse-png "^1.0.0" - resize-img "^1.1.0" - -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" - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - -toposort@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" - integrity sha1-riF2gXXRVZ1IvvNUILL0li8JwzA= - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tslib@^2.0.3: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-fest@2.11.2: - version "2.11.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.11.2.tgz#5534a919858bc517492cd3a53a673835a76d2e71" - integrity sha512-reW2Y2Mpn0QNA/5fvtm5doROLwDPu2zOm5RtY7xQQS05Q7xgC8MOZ3yPNaP9m/s/sNjjFQtHo7VCNqYW2iI+Ig== - -type-is@~1.6.17, type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" - integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-loader@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" - integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== - dependencies: - loader-utils "^2.0.0" - mime-types "^2.1.27" - schema-utils "^3.0.0" - -url-regex@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-3.2.0.tgz#dbad1e0c9e29e105dd0b1f09f6862f7fdb482724" - integrity sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ= - dependencies: - ip-regex "^1.0.1" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -utif@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/utif/-/utif-2.0.1.tgz#9e1582d9bbd20011a6588548ed3266298e711759" - integrity sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg== - dependencies: - pako "^1.0.5" - -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= - -utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@^3.3.2, 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== - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -value-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" - integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vinyl@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" - integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - -watchpack@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.0.tgz#a41bca3da6afaff31e92a433f4c856a0c25ea0c4" - integrity sha512-MnN0Q1OsvB/GGHETrFeZPQaOelWh/7O+EiFlj8sM9GPjtQkis7k01aAxrg/18kTfoIVcLL+haEVFlXDaSRwKRw== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -webpack-cli@^4.8.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.1.tgz#b64be825e2d1b130f285c314caa3b1ba9a4632b3" - integrity sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ== - dependencies: - "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.1.0" - "@webpack-cli/info" "^1.4.0" - "@webpack-cli/serve" "^1.6.0" - colorette "^2.0.14" - commander "^7.0.0" - execa "^5.0.0" - fastest-levenshtein "^1.0.12" - import-local "^3.0.2" - interpret "^2.2.0" - rechoir "^0.7.0" - webpack-merge "^5.7.3" - -webpack-dev-middleware@^5.2.1: - version "5.2.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.2.2.tgz#eb5193faa5479ca1086b9f7bed68b89c731bff62" - integrity sha512-DjZyYrsHhkikAFNvSNKrpnziXukU1EChFAh9j4LAm6ndPLPW8cN0KhM7T+RAiOqsQ6ABfQ8hoKIs9IWMTjov+w== - dependencies: - colorette "^2.0.10" - memfs "^3.2.2" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-server@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.5.0.tgz#614b5112cfa4730a4801bb4ddebb3be5b0d70497" - integrity sha512-Ss4WptsUjYa+3hPI4iYZYEc8FrtnfkaPrm5WTjk9ux5kiCS718836srs0ppKMHRaCHP5mQ6g4JZGcfDdGbCjpQ== - dependencies: - ansi-html-community "^0.0.8" - bonjour "^3.5.0" - chokidar "^3.5.2" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - del "^6.0.0" - express "^4.17.1" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.0" - internal-ip "^6.2.0" - ipaddr.js "^2.0.1" - open "^8.0.9" - p-retry "^4.5.0" - portfinder "^1.0.28" - schema-utils "^3.1.0" - selfsigned "^1.10.11" - serve-index "^1.9.1" - sockjs "^0.3.21" - spdy "^4.0.2" - strip-ansi "^7.0.0" - url "^0.11.0" - webpack-dev-middleware "^5.2.1" - ws "^8.1.0" - -webpack-merge@^5.7.3, webpack-merge@^5.8.0: - version "5.8.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" - integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== - dependencies: - clone-deep "^4.0.1" - wildcard "^2.0.0" - -webpack-sources@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.2.tgz#d88e3741833efec57c4c789b6010db9977545260" - integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw== - -webpack@^5.64.3: - version "5.64.3" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.64.3.tgz#f4792cc3f8528db2c18375fa2cd269f69e0bf69f" - integrity sha512-XF6/IL9Bw2PPQioiR1UYA8Bs4tX3QXJtSelezKECdLFeSFzWoe44zqTzPW5N+xI3fACaRl2/G3sNA4WYHD7Iww== - dependencies: - "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.50" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.3" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.2.0" - webpack-sources "^3.2.2" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - 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.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - -wildcard@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" - integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -ws@^8.1.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.3.0.tgz#7185e252c8973a60d57170175ff55fdbd116070d" - integrity sha512-Gs5EZtpqZzLvmIM59w4igITU57lrtYVFneaa434VROv4thzJyV6UjIL3D42lslWlI+D4KzLYnxSwtfuiO79sNw== - -xhr@^2.0.1: - version "2.6.0" - resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" - integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== - dependencies: - global "~4.4.0" - is-function "^1.0.1" - parse-headers "^2.0.0" - xtend "^4.0.0" - -xml-parse-from-string@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz#a9029e929d3dbcded169f3c6e28238d95a5d5a28" - integrity sha1-qQKekp09vN7RafPG4oI42VpdWig= - -xml2js@^0.4.23, xml2js@^0.4.5: - version "0.4.23" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" - integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== - dependencies: - sax ">=0.6.0" - xmlbuilder "~11.0.0" - -xmlbuilder@~11.0.0: - version "11.0.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" - integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== - -xtend@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -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.10.0, yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yup@^0.32.9: - version "0.32.11" - resolved "https://registry.yarnpkg.com/yup/-/yup-0.32.11.tgz#d67fb83eefa4698607982e63f7ca4c5ed3cf18c5" - integrity sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg== - dependencies: - "@babel/runtime" "^7.15.4" - "@types/lodash" "^4.14.175" - lodash "^4.17.21" - lodash-es "^4.17.21" - nanoclone "^0.2.1" - property-expr "^2.0.4" - toposort "^2.0.2" diff --git a/ts-packages/mui-theme/src/theme/index.tsx b/ts-packages/mui-theme/src/theme/index.tsx index 29e505cbaf..45a872a809 100644 --- a/ts-packages/mui-theme/src/theme/index.tsx +++ b/ts-packages/mui-theme/src/theme/index.tsx @@ -2,6 +2,7 @@ import * as React from 'react'; import { createTheme, ThemeProvider } from '@mui/material/styles'; import { CssBaseline, PaletteMode } from '@mui/material'; import { getDesignTokens } from './theme'; +import { getNetworkExplorerDesignTokens } from './network-explorer'; /** * Provides the theme for the Nym Components by reacting to the light/dark mode choice. @@ -18,5 +19,22 @@ export const NymThemeProvider: React.FC<{ mode: PaletteMode }> = ({ mode, childr ); }; +/** + * Provides the theme with overrides for Network Explorer Components + * + * TODO: remove this provider and theme tokens to unify theme + * + */ +export const NymNetworkExplorerThemeProvider: React.FC<{ mode: PaletteMode }> = ({ mode, children }) => { + const theme = React.useMemo(() => createTheme(getNetworkExplorerDesignTokens(mode)), [mode]); + + return ( + <ThemeProvider theme={theme}> + <CssBaseline /> + {children} + </ThemeProvider> + ); +}; + export type { NymPalette, NymPaletteVariant } from './common'; export type { NymTheme, NymPaletteWithExtensions, NymPaletteWithExtensionsOptions } from './theme'; diff --git a/ts-packages/mui-theme/src/theme/network-explorer.ts b/ts-packages/mui-theme/src/theme/network-explorer.ts index 885ec01150..55f624cd71 100644 --- a/ts-packages/mui-theme/src/theme/network-explorer.ts +++ b/ts-packages/mui-theme/src/theme/network-explorer.ts @@ -1,4 +1,7 @@ import { darkMode, nymPalette, NymPaletteVariant } from './common'; +import { PaletteMode } from '@mui/material'; +import { createTheme, ThemeOptions } from '@mui/material/styles'; +import { createDarkModePalette, createLightModePalette } from './theme'; /** * A palette definition only for the Network Explorer that extends the Nym palette @@ -83,3 +86,93 @@ export const networkExplorerPalette = (variant: NymPaletteVariant): NetworkExplo }, }, }); + +/** + * Gets the theme options to be passed to `createTheme` for Network Explorer. + * + * Based on pattern from https://mui.com/customization/dark-mode/#dark-mode-with-custom-palette. + * + * TODO: remove this by unifying theme + * + * @param mode The theme mode: 'light' or 'dark' + */ +export const getNetworkExplorerDesignTokens = (mode: PaletteMode): ThemeOptions => { + // first, create the palette from user's choice of light or dark mode + const { palette } = createTheme({ + palette: { + mode, + ...(mode === 'light' ? createLightModePalette() : createDarkModePalette()), + }, + }); + + // then customise theme and components + return { + typography: { + fontFamily: [ + 'Open Sans', + 'sans-serif', + 'BlinkMacSystemFont', + 'Roboto', + 'Oxygen', + 'Ubuntu', + 'Helvetica Neue', + ].join(','), + fontSize: 14, + fontWeightRegular: 400, + }, + transitions: { + duration: { + shortest: 150, + shorter: 200, + short: 250, + standard: 300, + complex: 375, + enteringScreen: 225, + leavingScreen: 195, + }, + easing: { + easeIn: 'cubic-bezier(0.4, 0, 1, 1)', + }, + }, + components: { + MuiCardHeader: { + styleOverrides: { + title: { + fontSize: 16, + fontWeight: 600, + }, + }, + }, + MuiDrawer: { + styleOverrides: { + paper: { + background: palette.secondary.dark, + marginTop: 64, + }, + }, + }, + MuiListItem: { + styleOverrides: { + root: { + background: palette.secondary.dark, + }, + }, + }, + MuiPaper: { + styleOverrides: { + root: { + borderRadius: '10px', + }, + elevation1: { + backgroundImage: mode === 'dark' ? 'none' : undefined, + }, + elevation2: { + backgroundImage: mode === 'dark' ? 'none' : undefined, + }, + }, + }, + }, + palette, + }; +}; + diff --git a/ts-packages/mui-theme/src/theme/theme.ts b/ts-packages/mui-theme/src/theme/theme.ts index 7e5515623a..233eeab16c 100644 --- a/ts-packages/mui-theme/src/theme/theme.ts +++ b/ts-packages/mui-theme/src/theme/theme.ts @@ -33,7 +33,7 @@ export type NymPaletteWithExtensionsOptions = Partial<NymPaletteWithExtensions>; /** * Returns the Nym palette for light mode. */ -const createLightModePalette = (): PaletteOptions & NymPaletteWithExtensionsOptions => ({ +export const createLightModePalette = (): PaletteOptions & NymPaletteWithExtensionsOptions => ({ nym: { ...nymPalette, ...nymWalletPallete(lightMode), @@ -45,7 +45,7 @@ const createLightModePalette = (): PaletteOptions & NymPaletteWithExtensionsOpti /** * Returns the Nym palette for dark mode. */ -const createDarkModePalette = (): PaletteOptions & NymPaletteWithExtensionsOptions => ({ +export const createDarkModePalette = (): PaletteOptions & NymPaletteWithExtensionsOptions => ({ nym: { ...nymPalette, ...nymWalletPallete(darkMode), diff --git a/ts-packages/react-components/package.json b/ts-packages/react-components/package.json index 32e9431922..512cc4a7cc 100644 --- a/ts-packages/react-components/package.json +++ b/ts-packages/react-components/package.json @@ -5,17 +5,18 @@ "main": "dist/index.js", "types": "dist/index.d.ts", "peerDependencies": { + "@mui/icons-material": ">= 5", + "@mui/lab": "^5.0.0-alpha.72", "@mui/material": ">= 5", "@mui/styles": ">= 5", "@mui/system": ">= 5", - "@mui/icons-material": ">= 5", - "@mui/lab": "^5.0.0-alpha.72", "@nymproject/mui-theme": "1", "react": "17", - "react-dom": "17", + "react-dom": "17" }, "dependencies": { - "flat": "^5.0.2" + "flat": "^5.0.2", + "use-clipboard-copy": "^0.2.0" }, "devDependencies": { "@babel/core": "^7.17.5", diff --git a/ts-packages/react-components/src/components/clipboard/CopyToClipboard.stories.tsx b/ts-packages/react-components/src/components/clipboard/CopyToClipboard.stories.tsx new file mode 100644 index 0000000000..e46ff8f914 --- /dev/null +++ b/ts-packages/react-components/src/components/clipboard/CopyToClipboard.stories.tsx @@ -0,0 +1,24 @@ +import * as React from 'react'; +import { ComponentMeta, ComponentStory } from '@storybook/react'; +import { Box, Typography } from '@mui/material'; +import { CopyToClipboard } from './CopyToClipboard'; + +export default { + title: 'Decorators / Copy to clipboard', + component: CopyToClipboard, +} as ComponentMeta<typeof CopyToClipboard>; + +const Template: ComponentStory<typeof CopyToClipboard> = (args) => { + const { value } = args; + return ( + <Box display="flex" alignContent="center"> + <CopyToClipboard {...args} /> + <Typography ml={1}>{value}</Typography> + </Box> + ); +}; +export const Default = Template.bind({}); +Default.args = { + tooltip: 'Copy identity key to clipboard', + value: '123456', +}; diff --git a/ts-packages/react-components/src/components/clipboard/CopyToClipboard.tsx b/ts-packages/react-components/src/components/clipboard/CopyToClipboard.tsx new file mode 100644 index 0000000000..344241e566 --- /dev/null +++ b/ts-packages/react-components/src/components/clipboard/CopyToClipboard.tsx @@ -0,0 +1,33 @@ +import * as React from 'react'; +import { useClipboard } from 'use-clipboard-copy'; +import ContentCopyIcon from '@mui/icons-material/ContentCopy'; +import DoneIcon from '@mui/icons-material/Done'; +import { Tooltip } from '@mui/material'; +import { SxProps } from '@mui/system'; + +export const CopyToClipboard: React.FC<{ + value: string; + tooltip?: React.ReactNode; + onCopy?: (value: string) => void; + sx?: SxProps; +}> = ({ value, tooltip, onCopy, sx }) => { + const copy = useClipboard(); + const [showConfirmation, setShowConfirmation] = React.useState<boolean>(false); + const handleCopy = () => { + setShowConfirmation(true); + copy.copy(value); + if (onCopy) { + onCopy(value); + } + setTimeout(() => setShowConfirmation(false), 2000); + }; + return ( + <Tooltip title={tooltip || `Click to copy ${value} to clipboard`}> + {showConfirmation ? ( + <DoneIcon color="success" sx={sx} /> + ) : ( + <ContentCopyIcon onClick={handleCopy} sx={{ cursor: 'pointer', ...sx }} /> + )} + </Tooltip> + ); +}; diff --git a/ts-packages/react-components/src/components/index.ts b/ts-packages/react-components/src/components/index.ts index cb6151df13..c54b53de1c 100644 --- a/ts-packages/react-components/src/components/index.ts +++ b/ts-packages/react-components/src/components/index.ts @@ -1 +1,2 @@ export * from './logo'; +export * from './clipboard/CopyToClipboard'; diff --git a/ts-packages/react-webpack-with-theme-example/package.json b/ts-packages/react-webpack-with-theme-example/package.json index 9f701296ca..898b5d9a8c 100644 --- a/ts-packages/react-webpack-with-theme-example/package.json +++ b/ts-packages/react-webpack-with-theme-example/package.json @@ -20,6 +20,7 @@ "@babel/preset-react": "^7.14.5", "@babel/preset-typescript": "^7.15.0", "@nymproject/eslint-config-react-typescript": "^1.0.0", + "@nymproject/webpack": "^1.0.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.4", "@svgr/webpack": "^6.1.1", "@testing-library/jest-dom": "^5.14.1", diff --git a/ts-packages/webpack/webpack.common.js b/ts-packages/webpack/webpack.common.js index 3d43c5efd0..bd37fba8ff 100644 --- a/ts-packages/webpack/webpack.common.js +++ b/ts-packages/webpack/webpack.common.js @@ -10,7 +10,7 @@ const path = require('path'); * Creates the default Webpack config * @param baseDir The base directory path, e.g. pass `__dirname` of the webpack config file using this method */ -module.exports = (baseDir) => ({ +module.exports = (baseDir, htmlPath) => ({ module: { rules: [ { @@ -56,7 +56,7 @@ module.exports = (baseDir) => ({ new HtmlWebpackPlugin({ filename: 'index.html', - template: path.resolve(baseDir, 'src/index.html'), + template: path.resolve(baseDir, htmlPath || 'src/index.html'), }), new ForkTsCheckerWebpackPlugin({ diff --git a/validator-api/src/coconut/mod.rs b/validator-api/src/coconut/mod.rs index cd50c7cdf8..780c6e63f8 100644 --- a/validator-api/src/coconut/mod.rs +++ b/validator-api/src/coconut/mod.rs @@ -2,8 +2,8 @@ // SPDX-License-Identifier: Apache-2.0 use coconut_interface::{ - elgamal::PublicKey, Attribute, BlindSignRequest, BlindSignRequestBody, BlindedSignature, - BlindedSignatureResponse, KeyPair, Parameters, VerificationKeyResponse, + Attribute, BlindSignRequest, BlindSignRequestBody, BlindedSignature, BlindedSignatureResponse, + KeyPair, Parameters, VerificationKeyResponse, }; use config::defaults::VALIDATOR_API_VERSION; use getset::{CopyGetters, Getters}; @@ -19,8 +19,6 @@ pub(crate) struct InternalSignRequest { #[getset(get)] public_attributes: Vec<Attribute>, #[getset(get)] - public_key: PublicKey, - #[getset(get)] blind_sign_request: BlindSignRequest, } @@ -28,13 +26,11 @@ impl InternalSignRequest { pub fn new( total_params: u32, public_attributes: Vec<Attribute>, - public_key: PublicKey, blind_sign_request: BlindSignRequest, ) -> InternalSignRequest { InternalSignRequest { total_params, public_attributes, - public_key, blind_sign_request, } } @@ -55,7 +51,6 @@ fn blind_sign(request: InternalSignRequest, key_pair: &KeyPair) -> BlindedSignat coconut_interface::blind_sign( ¶ms, &key_pair.secret_key(), - request.public_key(), request.blind_sign_request(), request.public_attributes(), ) @@ -72,7 +67,6 @@ pub async fn post_blind_sign( let internal_request = InternalSignRequest::new( *blind_sign_request_body.total_params(), blind_sign_request_body.public_attributes(), - blind_sign_request_body.public_key().clone(), blind_sign_request_body.blind_sign_request().clone(), ); let blinded_signature = blind_sign(internal_request, key_pair); diff --git a/validator-api/src/config/mod.rs b/validator-api/src/config/mod.rs index 592149308b..8f61a885ae 100644 --- a/validator-api/src/config/mod.rs +++ b/validator-api/src/config/mod.rs @@ -364,6 +364,8 @@ impl Config { self.network_monitor.eth_endpoint.clone() } + // TODO: Remove if still unused + #[allow(dead_code)] pub fn get_rewarding_enabled(&self) -> bool { self.rewarding.enabled } @@ -438,6 +440,8 @@ impl Config { self.network_monitor.all_validator_apis.clone() } + // TODO: Remove if still unused + #[allow(dead_code)] pub fn get_minimum_interval_monitor_threshold(&self) -> u8 { self.rewarding.minimum_interval_monitor_threshold } diff --git a/validator-api/src/contract_cache/mod.rs b/validator-api/src/contract_cache/mod.rs index c93d1c9ad2..e0369abb50 100644 --- a/validator-api/src/contract_cache/mod.rs +++ b/validator-api/src/contract_cache/mod.rs @@ -2,10 +2,10 @@ // SPDX-License-Identifier: Apache-2.0 use crate::nymd_client::Client; -use crate::rewarding::IntervalRewardParams; use ::time::OffsetDateTime; use anyhow::Result; use config::defaults::VALIDATOR_API_VERSION; +use mixnet_contract_common::reward_params::EpochRewardParams; use mixnet_contract_common::{ GatewayBond, IdentityKey, IdentityKeyRef, Interval, MixNodeBond, RewardedSetNodeStatus, }; @@ -23,6 +23,8 @@ use validator_client::nymd::CosmWasmClient; pub(crate) mod routes; +type Epoch = Interval; + pub struct ValidatorCacheRefresher<C> { nymd_client: Client<C>, cache: ValidatorCache, @@ -43,8 +45,8 @@ struct ValidatorCacheInner { rewarded_set: Cache<Vec<MixNodeBond>>, active_set: Cache<Vec<MixNodeBond>>, - current_reward_params: Cache<IntervalRewardParams>, - current_interval: Cache<Interval>, + current_reward_params: Cache<EpochRewardParams>, + current_epoch: Cache<Interval>, } fn current_unix_timestamp() -> i64 { @@ -131,10 +133,7 @@ impl<C> ValidatorCacheRefresher<C> { let (rewarded_set, active_set) = self.collect_rewarded_and_active_set_details(&mixnodes, rewarded_set_identities); - let interval_rewarding_params = self - .nymd_client - .get_current_interval_reward_params() - .await?; + let epoch_rewarding_params = self.nymd_client.get_current_epoch_reward_params().await?; let current_interval = self.nymd_client.get_current_interval().await?; info!( @@ -149,7 +148,7 @@ impl<C> ValidatorCacheRefresher<C> { gateways, rewarded_set, active_set, - interval_rewarding_params, + epoch_rewarding_params, current_interval, ) .await; @@ -219,8 +218,8 @@ impl ValidatorCache { gateways: Vec<GatewayBond>, rewarded_set: Vec<MixNodeBond>, active_set: Vec<MixNodeBond>, - interval_rewarding_params: IntervalRewardParams, - current_interval: Interval, + epoch_rewarding_params: EpochRewardParams, + current_epoch: Epoch, ) { let mut inner = self.inner.write().await; @@ -228,10 +227,8 @@ impl ValidatorCache { inner.gateways.update(gateways); inner.rewarded_set.update(rewarded_set); inner.active_set.update(active_set); - inner - .current_reward_params - .update(interval_rewarding_params); - inner.current_interval.update(current_interval); + inner.current_reward_params.update(epoch_rewarding_params); + inner.current_epoch.update(current_epoch); } pub async fn mixnodes(&self) -> Cache<Vec<MixNodeBond>> { @@ -250,12 +247,12 @@ impl ValidatorCache { self.inner.read().await.active_set.clone() } - pub(crate) async fn interval_reward_params(&self) -> Cache<IntervalRewardParams> { + pub(crate) async fn epoch_reward_params(&self) -> Cache<EpochRewardParams> { self.inner.read().await.current_reward_params.clone() } pub(crate) async fn current_interval(&self) -> Cache<Interval> { - self.inner.read().await.current_interval.clone() + self.inner.read().await.current_epoch.clone() } pub async fn mixnode_details( @@ -320,10 +317,10 @@ impl ValidatorCacheInner { gateways: Cache::default(), rewarded_set: Cache::default(), active_set: Cache::default(), - current_reward_params: Cache::new(IntervalRewardParams::new_empty()), + current_reward_params: Cache::new(EpochRewardParams::new_empty()), // setting it to a dummy value on creation is fine, as nothing will be able to ready from it // since 'initialised' flag won't be set - current_interval: Cache::new(Interval::new( + current_epoch: Cache::new(Interval::new( u32::MAX, OffsetDateTime::UNIX_EPOCH, Duration::default(), diff --git a/validator-api/src/main.rs b/validator-api/src/main.rs index 6c572b63a6..dc01ec0422 100644 --- a/validator-api/src/main.rs +++ b/validator-api/src/main.rs @@ -9,7 +9,6 @@ use crate::contract_cache::ValidatorCacheRefresher; use crate::network_monitor::NetworkMonitorBuilder; use crate::node_status_api::uptime_updater::HistoricalUptimeUpdater; use crate::nymd_client::Client; -use crate::rewarding::Rewarder; use crate::storage::ValidatorApiStorage; use ::config::NymConfig; use anyhow::Result; @@ -25,8 +24,8 @@ use std::sync::Arc; use std::time::Duration; use tokio::sync::Notify; use url::Url; -use validator_client::nymd::SigningNymdClient; -use validator_client::ValidatorClientError; +// use validator_client::nymd::SigningNymdClient; +// use validator_client::ValidatorClientError; use crate::rewarded_set_updater::RewardedSetUpdater; #[cfg(feature = "coconut")] @@ -38,7 +37,6 @@ mod network_monitor; mod node_status_api; pub(crate) mod nymd_client; mod rewarded_set_updater; -mod rewarding; pub(crate) mod storage; #[cfg(feature = "coconut")] @@ -358,6 +356,8 @@ fn setup_network_monitor<'a>( )) } +// TODO: Remove if still unused +#[allow(dead_code)] fn expected_monitor_test_runs(config: &Config, interval_length: Duration) -> usize { let test_delay = config.get_network_monitor_run_interval(); @@ -366,32 +366,6 @@ fn expected_monitor_test_runs(config: &Config, interval_length: Duration) -> usi (interval_length.as_secs() / test_delay.as_secs()) as usize } -async fn setup_rewarder( - config: &Config, - rocket: &Rocket<Ignite>, - nymd_client: &Client<SigningNymdClient>, -) -> Result<Option<Rewarder>, ValidatorClientError> { - if config.get_rewarding_enabled() && config.get_network_monitor_enabled() { - // get instances of managed states - let node_status_storage = rocket.state::<ValidatorApiStorage>().unwrap().clone(); - let validator_cache = rocket.state::<ValidatorCache>().unwrap().clone(); - let rewarding_interval_length = nymd_client.get_current_interval().await?.length(); - - Ok(Some(Rewarder::new( - nymd_client.clone(), - validator_cache, - node_status_storage, - expected_monitor_test_runs(config, rewarding_interval_length), - config.get_minimum_interval_monitor_threshold(), - ))) - } else if config.get_rewarding_enabled() { - warn!("Cannot enable rewarding with the network monitor being disabled"); - Ok(None) - } else { - Ok(None) - } -} - async fn setup_rocket(config: &Config, liftoff_notify: Arc<Notify>) -> Result<Rocket<Ignite>> { // let's build our rocket! let rocket = rocket::build() @@ -482,27 +456,18 @@ async fn run_validator_api(matches: ArgMatches<'static>) -> Result<()> { // setup our daily uptime updater. Note that if network monitor is disabled, then we have // no data for the updates and hence we don't need to start it up let storage = rocket.state::<ValidatorApiStorage>().unwrap().clone(); - let uptime_updater = HistoricalUptimeUpdater::new(storage); + let uptime_updater = HistoricalUptimeUpdater::new(storage.clone()); tokio::spawn(async move { uptime_updater.run().await }); - if let Some(rewarder) = setup_rewarder(&config, &rocket, &nymd_client).await? { - info!("Periodic rewarding is starting..."); + let mut rewarded_set_updater = RewardedSetUpdater::new( + nymd_client, + rewarded_set_update_notify, + validator_cache.clone(), + storage, + ); - let rewarded_set_updater = RewardedSetUpdater::new( - nymd_client.clone(), - rewarded_set_update_notify, - validator_cache.clone(), - ); - - // spawn rewarded set updater - tokio::spawn(async move { rewarded_set_updater.run().await }); - - // only update rewarded set if we're also distributing rewards - - tokio::spawn(async move { rewarder.run().await }); - } else { - info!("Periodic rewarding is disabled."); - } + // spawn rewarded set updater + tokio::spawn(async move { rewarded_set_updater.run().await.unwrap() }); } else { let nymd_client = Client::new_query(&config); let validator_cache_refresher = ValidatorCacheRefresher::new( diff --git a/validator-api/src/node_status_api/routes.rs b/validator-api/src/node_status_api/routes.rs index 3e7008a905..96e997f643 100644 --- a/validator-api/src/node_status_api/routes.rs +++ b/validator-api/src/node_status_api/routes.rs @@ -7,6 +7,7 @@ use crate::node_status_api::models::{ }; use crate::storage::ValidatorApiStorage; use crate::ValidatorCache; +use mixnet_contract_common::reward_params::{NodeRewardParams, RewardParams}; use rocket::http::Status; use rocket::serde::json::Json; use rocket::State; @@ -115,7 +116,7 @@ pub(crate) async fn get_mixnode_reward_estimation( ) -> Result<Json<RewardEstimationResponse>, ErrorResponse> { let (bond, status) = cache.mixnode_details(&identity).await; if let Some(bond) = bond { - let interval_reward_params = cache.interval_reward_params().await; + let interval_reward_params = cache.epoch_reward_params().await; let as_at = interval_reward_params.timestamp(); let interval_reward_params = interval_reward_params.into_inner(); @@ -128,8 +129,9 @@ pub(crate) async fn get_mixnode_reward_estimation( ) .await .map_err(|err| ErrorResponse::new(err.to_string(), Status::NotFound))?; - - match interval_reward_params.estimate_reward(&bond, uptime.u8(), status.is_active()) { + let node_reward_params = NodeRewardParams::new(0, uptime.u8() as u128, status.is_active()); + let reward_params = RewardParams::new(interval_reward_params, node_reward_params); + match bond.estimate_reward(&reward_params) { Ok(( estimated_total_node_reward, estimated_operator_reward, @@ -166,13 +168,13 @@ pub(crate) async fn get_mixnode_stake_saturation( ) -> Result<Json<StakeSaturationResponse>, ErrorResponse> { let (bond, _) = cache.mixnode_details(&identity).await; if let Some(bond) = bond { - let interval_reward_params = cache.interval_reward_params().await; + let interval_reward_params = cache.epoch_reward_params().await; let as_at = interval_reward_params.timestamp(); let interval_reward_params = interval_reward_params.into_inner(); let saturation = bond.stake_saturation( - interval_reward_params.circulating_supply, - interval_reward_params.rewarded_set_size, + interval_reward_params.circulating_supply(), + interval_reward_params.rewarded_set_size() as u32, ); Ok(Json(StakeSaturationResponse { @@ -200,9 +202,9 @@ pub(crate) async fn get_mixnode_inclusion_probability( .fold(0u128, |acc, x| acc + x.total_bond().unwrap_or_default()) as f64; - let rewarding_params = cache.interval_reward_params().await.into_inner(); - let rewarded_set_size = rewarding_params.rewarded_set_size as f64; - let active_set_size = rewarding_params.active_set_size as f64; + let rewarding_params = cache.epoch_reward_params().await.into_inner(); + let rewarded_set_size = rewarding_params.rewarded_set_size() as f64; + let active_set_size = rewarding_params.active_set_size() as f64; let prob_one_draw = target_mixnode.total_bond().unwrap_or_default() as f64 / total_bonded_tokens; diff --git a/validator-api/src/nymd_client.rs b/validator-api/src/nymd_client.rs index e4efa18279..c6e36ca5b6 100644 --- a/validator-api/src/nymd_client.rs +++ b/validator-api/src/nymd_client.rs @@ -2,12 +2,12 @@ // SPDX-License-Identifier: Apache-2.0 use crate::config::Config; -use crate::rewarding::{error::RewardingError, IntervalRewardParams, MixnodeToReward}; +use crate::rewarded_set_updater::{error::RewardingError, MixnodeToReward}; use config::defaults::{DEFAULT_NETWORK, DEFAULT_VALIDATOR_API_PORT}; use mixnet_contract_common::{ - ContractStateParams, Delegation, ExecuteMsg, GatewayBond, IdentityKey, Interval, MixNodeBond, - MixnodeRewardingStatusResponse, RewardedSetNodeStatus, RewardedSetUpdateDetails, - MIXNODE_DELEGATORS_PAGE_LIMIT, + reward_params::EpochRewardParams, ContractStateParams, Delegation, ExecuteMsg, GatewayBond, + IdentityKey, Interval, MixNodeBond, MixnodeRewardingStatusResponse, RewardedSetNodeStatus, + RewardedSetUpdateDetails, }; use serde::Serialize; use std::sync::Arc; @@ -95,6 +95,7 @@ impl Client<SigningNymdClient> { impl<C> Client<C> { // a helper function for the future to obtain the current block timestamp + #[allow(dead_code)] pub(crate) async fn current_block_timestamp( &self, ) -> Result<TendermintTime, ValidatorClientError> @@ -145,9 +146,9 @@ impl<C> Client<C> { self.0.read().await.get_contract_settings().await } - pub(crate) async fn get_current_interval_reward_params( + pub(crate) async fn get_current_epoch_reward_params( &self, - ) -> Result<IntervalRewardParams, ValidatorClientError> + ) -> Result<EpochRewardParams, ValidatorClientError> where C: CosmWasmClient + Sync, { @@ -157,19 +158,20 @@ impl<C> Client<C> { let reward_pool = this.get_reward_pool().await?; let interval_reward_percent = this.get_interval_reward_percent().await?; - let interval_reward_params = IntervalRewardParams { - reward_pool, - circulating_supply: this.get_circulating_supply().await?, - sybil_resistance_percent: this.get_sybil_resistance_percent().await?, - rewarded_set_size: state.mixnode_rewarded_set_size, - active_set_size: state.mixnode_active_set_size, - period_reward_pool: (reward_pool / 100) * interval_reward_percent as u128, - active_set_work_factor: this.get_active_set_work_factor().await?, - }; + let epoch_reward_params = EpochRewardParams::new( + (reward_pool / 100 / this.get_epochs_in_interval().await? as u128) + * interval_reward_percent as u128, + state.mixnode_rewarded_set_size as u128, + state.mixnode_active_set_size as u128, + this.get_circulating_supply().await?, + this.get_sybil_resistance_percent().await?, + this.get_active_set_work_factor().await?, + ); - Ok(interval_reward_params) + Ok(epoch_reward_params) } + #[allow(dead_code)] pub(crate) async fn get_rewarding_status( &self, mix_identity: mixnet_contract_common::IdentityKey, @@ -207,6 +209,7 @@ impl<C> Client<C> { Ok(hash) } + #[allow(dead_code)] pub(crate) async fn get_mixnode_delegations( &self, identity: IdentityKey, @@ -247,6 +250,7 @@ impl<C> Client<C> { .await } + #[allow(dead_code)] pub(crate) async fn advance_current_interval(&self) -> Result<(), ValidatorClientError> where C: SigningCosmWasmClient + Sync, @@ -255,6 +259,30 @@ impl<C> Client<C> { Ok(()) } + pub(crate) async fn advance_current_epoch(&self) -> Result<(), ValidatorClientError> + where + C: SigningCosmWasmClient + Sync, + { + self.0.write().await.nymd.advance_current_epoch().await?; + Ok(()) + } + + pub(crate) async fn checkpoint_mixnodes(&self) -> Result<(), ValidatorClientError> + where + C: SigningCosmWasmClient + Sync, + { + self.0.write().await.nymd.checkpoint_mixnodes().await?; + Ok(()) + } + + pub(crate) async fn reconcile_delegations(&self) -> Result<(), ValidatorClientError> + where + C: SigningCosmWasmClient + Sync, + { + self.0.write().await.nymd.reconcile_delegations().await?; + Ok(()) + } + pub(crate) async fn write_rewarded_set( &self, rewarded_set: Vec<IdentityKey>, @@ -272,68 +300,7 @@ impl<C> Client<C> { Ok(()) } - pub(crate) async fn reward_mixnode_and_all_delegators( - &self, - node: &MixnodeToReward, - interval_id: u32, - ) -> Result<(), RewardingError> - where - C: SigningCosmWasmClient + Sync, - { - // start with the base call to reward operator and first page of delegators - let msgs = vec![(node.to_reward_execute_msg(interval_id), vec![])]; - let memo = format!( - "operator + {} delegators rewarding", - MIXNODE_DELEGATORS_PAGE_LIMIT - ); - self.execute_multiple_with_retry(msgs, Default::default(), memo) - .await?; - - // reward rest of delegators (if applicable) - if node.total_delegations > MIXNODE_DELEGATORS_PAGE_LIMIT { - // the first 'batch' of delegators has been rewarded while rewarding the operator - let mut remaining_delegators = node.total_delegations - MIXNODE_DELEGATORS_PAGE_LIMIT; - let delegator_rewarding_msg = ( - node.to_next_delegator_reward_execute_msg(interval_id), - vec![], - ); - - while remaining_delegators > 0 { - let delegators_in_call = remaining_delegators.min(MIXNODE_DELEGATORS_PAGE_LIMIT); - let msgs = vec![delegator_rewarding_msg.clone()]; - let memo = format!("rewarding another {} delegators", delegators_in_call); - self.execute_multiple_with_retry(msgs, Default::default(), memo) - .await?; - - remaining_delegators = - remaining_delegators.saturating_sub(MIXNODE_DELEGATORS_PAGE_LIMIT) - } - } - - Ok(()) - } - - pub(crate) async fn reward_mix_delegators( - &self, - node: &MixnodeToReward, - interval_id: u32, - ) -> Result<(), RewardingError> - where - C: SigningCosmWasmClient + Sync, - { - // the fee is a tricky subject here because we don't know exactly how many delegators we missed, - // let's aim for the worst case scenario and assume it was the entire page - let delegator_rewarding_msg = ( - node.to_next_delegator_reward_execute_msg(interval_id), - vec![], - ); - - let memo = "rewarding delegators".to_string(); - self.execute_multiple_with_retry(vec![delegator_rewarding_msg], Default::default(), memo) - .await - } - - pub(crate) async fn reward_mixnodes_with_single_page_of_delegators( + pub(crate) async fn reward_mixnodes( &self, nodes: &[MixnodeToReward], interval_id: u32, diff --git a/validator-api/src/rewarding/error.rs b/validator-api/src/rewarded_set_updater/error.rs similarity index 93% rename from validator-api/src/rewarding/error.rs rename to validator-api/src/rewarded_set_updater/error.rs index 4f20a878aa..38640d6657 100644 --- a/validator-api/src/rewarding/error.rs +++ b/validator-api/src/rewarded_set_updater/error.rs @@ -7,13 +7,12 @@ use validator_client::nymd::error::NymdError; use validator_client::ValidatorClientError; #[derive(Debug, Error)] -pub(crate) enum RewardingError { +pub enum RewardingError { #[error("Could not distribute rewards as the contract address was unspecified")] UnspecifiedContractAddress, - #[error("There were no mixnodes to reward (network is dead)")] - NoMixnodesToReward, - + // #[error("There were no mixnodes to reward (network is dead)")] + // NoMixnodesToReward, #[error("Failed to execute the smart contract - {0}")] ContractExecutionFailure(NymdError), diff --git a/validator-api/src/rewarded_set_updater/mod.rs b/validator-api/src/rewarded_set_updater/mod.rs index 0cc912b33a..5ee92e57f4 100644 --- a/validator-api/src/rewarded_set_updater/mod.rs +++ b/validator-api/src/rewarded_set_updater/mod.rs @@ -14,17 +14,66 @@ use crate::contract_cache::ValidatorCache; use crate::nymd_client::Client; -use mixnet_contract_common::{IdentityKey, MixNodeBond}; +use crate::storage::models::{ + FailedMixnodeRewardChunk, PossiblyUnrewardedMixnode, RewardingReport, +}; +use crate::storage::ValidatorApiStorage; +use mixnet_contract_common::reward_params::NodeRewardParams; +use mixnet_contract_common::ExecuteMsg; +use mixnet_contract_common::{IdentityKey, Interval, MixNodeBond}; use rand::prelude::SliceRandom; use rand::rngs::OsRng; +use std::collections::HashSet; use std::sync::Arc; +use std::time::Duration; +use time::OffsetDateTime; use tokio::sync::Notify; +use tokio::time::sleep; use validator_client::nymd::SigningNymdClient; +pub(crate) mod error; + +use error::RewardingError; + +#[derive(Debug, Clone)] +pub(crate) struct MixnodeToReward { + pub(crate) identity: IdentityKey, + + /// Total number of individual addresses that have delegated to this particular node + // pub(crate) total_delegations: usize, + + /// Node absolute uptime over total active set uptime + pub(crate) params: NodeRewardParams, +} + +impl MixnodeToReward { + fn params(&self) -> NodeRewardParams { + self.params + } + + pub(crate) fn to_reward_execute_msg(&self, interval_id: u32) -> ExecuteMsg { + ExecuteMsg::RewardMixnode { + identity: self.identity.clone(), + params: self.params(), + interval_id, + } + } +} + +pub(crate) struct FailedMixnodeRewardChunkDetails { + possibly_unrewarded: Vec<MixnodeToReward>, + error_message: String, +} + +// Epoch has all the same semantics as interval, but has a lower set duration +type Epoch = Interval; + pub struct RewardedSetUpdater { nymd_client: Client<SigningNymdClient>, update_rewarded_set_notify: Arc<Notify>, validator_cache: ValidatorCache, + storage: ValidatorApiStorage, + epoch: Epoch, } impl RewardedSetUpdater { @@ -32,11 +81,15 @@ impl RewardedSetUpdater { nymd_client: Client<SigningNymdClient>, update_rewarded_set_notify: Arc<Notify>, validator_cache: ValidatorCache, + storage: ValidatorApiStorage, ) -> Self { + let epoch = Epoch::new(0, OffsetDateTime::now_utc(), Duration::from_secs(3600)); RewardedSetUpdater { nymd_client, update_rewarded_set_notify, validator_cache, + storage, + epoch, } } @@ -75,17 +128,220 @@ impl RewardedSetUpdater { .collect() } - async fn update_rewarded_set(&self) { + async fn rewarding_happened_at_epoch(&self) -> Result<bool, RewardingError> { + if let Some(entry) = self + .storage + .get_interval_rewarding_entry(self.epoch.start_unix_timestamp()) + .await? + { + // log error if the attempt wasn't finished. This error implies the process has crashed + // during the rewards distribution + if !entry.finished { + error!( + "It seems that we haven't successfully finished distributing rewards at {}", + self.epoch + ) + } + + Ok(true) + } else { + Ok(false) + } + } + + async fn reward_current_rewarded_set(&self) -> Result<(), RewardingError> { + let to_reward = self.nodes_to_reward().await?; + + self.storage + .insert_started_epoch_rewarding(self.epoch) + .await?; + + let failure_data = self.distribute_rewards(&to_reward, false).await; + + let mut rewarding_report = RewardingReport { + interval_rewarding_id: self.epoch.id() as i64, + eligible_mixnodes: to_reward.len() as i64, + possibly_unrewarded_mixnodes: 0, + }; + + if let Some(failure_data) = failure_data { + rewarding_report.possibly_unrewarded_mixnodes = + failure_data.possibly_unrewarded.len() as i64; + if let Err(err) = self + .save_failure_information(failure_data, self.epoch.id() as i64) + .await + { + error!("failed to save information about rewarding failures!"); + // TODO: should we just terminate the process here? + return Err(err); + } + } + + self.storage + .finish_rewarding_interval_and_insert_report(rewarding_report) + .await?; + Ok(()) + } + + async fn save_failure_information( + &self, + failed_chunk: FailedMixnodeRewardChunkDetails, + interval_rewarding_id: i64, + ) -> Result<(), RewardingError> { + // save the chunk + let chunk_id = self + .storage + .insert_failed_mixnode_reward_chunk(FailedMixnodeRewardChunk { + interval_rewarding_id, + error_message: failed_chunk.error_message, + }) + .await?; + + // and then all associated nodes + for node in failed_chunk.possibly_unrewarded.into_iter() { + self.storage + .insert_possibly_unrewarded_mixnode(PossiblyUnrewardedMixnode { + chunk_id, + identity: node.identity, + uptime: node.params.uptime() as u8, + }) + .await?; + } + + Ok(()) + } + + async fn distribute_rewards( + &self, + eligible_mixnodes: &[MixnodeToReward], + retry: bool, + ) -> Option<FailedMixnodeRewardChunkDetails> { + if retry { + info!( + "Attempting to retry rewarding {} mixnodes...", + eligible_mixnodes.len() + ) + } else { + info!( + "Attempting to reward {} mixnodes...", + eligible_mixnodes.len() + ) + } + + let mut failed_chunks = None; + + let num_retries = 5; + let mut retry = 0; + let mut success = false; + + loop { + match self + .nymd_client + .reward_mixnodes(eligible_mixnodes, self.epoch.id()) + .await + { + Ok(_) => { + let total_rewarded = eligible_mixnodes.len(); + info!("Rewarded {} mixnodes", total_rewarded); + success = false; + break; + } + Err(err) => { + if num_retries <= retry { + break; + } + retry += 1; + // this is a super weird edge case that we didn't catch change to sequence and + // resent rewards unnecessarily, but the mempool saved us from executing it again + // however, still we want to wait until we're sure we're into the next block + if !err.is_tendermint_duplicate() { + error!("failed to reward mixnodes... - {}", err); + failed_chunks = Some(FailedMixnodeRewardChunkDetails { + possibly_unrewarded: eligible_mixnodes.to_vec(), + error_message: err.to_string(), + }); + } + sleep(Duration::from_secs(11)).await; + } + } + } + // Its all or nothing since we do not chunk + if success { + failed_chunks = None + } + failed_chunks + } + + async fn nodes_to_reward(&self) -> Result<Vec<MixnodeToReward>, RewardingError> { + let active_set = self + .validator_cache + .active_set() + .await + .into_inner() + .into_iter() + .map(|bond| bond.mix_node.identity_key) + .collect::<HashSet<_>>(); + + let rewarded_set = self.validator_cache.rewarded_set().await.into_inner(); + + let mut eligible_nodes = Vec::with_capacity(rewarded_set.len()); + for rewarded_node in rewarded_set.into_iter() { + let uptime = self + .storage + .get_average_mixnode_uptime_in_interval( + rewarded_node.identity(), + self.epoch.start_unix_timestamp(), + self.epoch.end_unix_timestamp(), + ) + .await?; + + let node_reward_params = NodeRewardParams::new( + 0, + uptime.u8().into(), + active_set.contains(rewarded_node.identity()), + ); + + eligible_nodes.push(MixnodeToReward { + identity: rewarded_node.identity().clone(), + params: node_reward_params, + }) + } + + Ok(eligible_nodes) + } + + // This is where the epoch gets advanced, and all epoch related transactions originate + async fn update_rewarded_set(&self) -> Result<(), RewardingError> { // we know the entries are not stale, as a matter of fact they were JUST updated, since we got notified let all_nodes = self.validator_cache.mixnodes().await.into_inner(); - let rewarding_params = self + let epoch_reward_params = self .validator_cache - .interval_reward_params() + .epoch_reward_params() .await .into_inner(); - let rewarded_set_size = rewarding_params.rewarded_set_size; - let active_set_size = rewarding_params.active_set_size; + // Reward all the nodes in the still current, soon to be previous rewarded set + if !self.rewarding_happened_at_epoch().await? { + self.reward_current_rewarded_set().await?; + } + + // Reconcile delegations from the previous epoch + if let Err(err) = self.nymd_client.reconcile_delegations().await { + log::error!("failed to reconcile delegations - {}", err); + } + + // Snapshot mixnodes for the next epoch + if let Err(err) = self.nymd_client.checkpoint_mixnodes().await { + log::error!("failed to checkpoint mixnodes - {}", err); + } + + // Snapshot mixnodes for the next epoch + if let Err(err) = self.nymd_client.advance_current_epoch().await { + log::error!("failed to advance_epoch - {}", err); + } + + let rewarded_set_size = epoch_reward_params.rewarded_set_size() as u32; + let active_set_size = epoch_reward_params.active_set_size() as u32; // note that top k nodes are in the active set let new_rewarded_set = self.determine_rewarded_set(all_nodes, rewarded_set_size); @@ -94,19 +350,27 @@ impl RewardedSetUpdater { .write_rewarded_set(new_rewarded_set, active_set_size) .await { - log::error!("failed to update the rewarded set - {}", err) + log::error!("failed to update the rewarded set - {}", err); // note that if the transaction failed to get executed because, I don't know, there was a networking hiccup // the cache will notify the updater on its next round } + + let cutoff = (self.epoch.end() - Duration::from_secs(86400)).unix_timestamp(); + self.storage.purge_old_statuses(cutoff).await?; + + Ok(()) } - pub(crate) async fn run(&self) { + pub(crate) async fn run(&mut self) -> Result<(), RewardingError> { self.validator_cache.wait_for_initial_values().await; loop { // wait until the cache refresher determined its time to update the rewarded/active sets self.update_rewarded_set_notify.notified().await; - self.update_rewarded_set().await; + self.epoch = self.epoch.next(); + self.update_rewarded_set().await?; } + #[allow(unreachable_code)] + Ok(()) } } diff --git a/validator-api/src/rewarding/mod.rs b/validator-api/src/rewarding/mod.rs deleted file mode 100644 index 6d4c4484ca..0000000000 --- a/validator-api/src/rewarding/mod.rs +++ /dev/null @@ -1,835 +0,0 @@ -// Copyright 2021 - Nym Technologies SA <contact@nymtech.net> -// SPDX-License-Identifier: Apache-2.0 - -use crate::contract_cache::ValidatorCache; -use crate::node_status_api::ONE_DAY; -use crate::nymd_client::Client; -use crate::rewarding::error::RewardingError; -use crate::storage::models::{ - FailedMixnodeRewardChunk, PossiblyUnrewardedMixnode, RewardingReport, -}; -use crate::storage::ValidatorApiStorage; -use config::defaults::DEFAULT_NETWORK; -use log::{error, info}; -use mixnet_contract_common::mixnode::NodeRewardParams; -use mixnet_contract_common::{ - ExecuteMsg, IdentityKey, Interval, MixNodeBond, RewardingStatus, MIXNODE_DELEGATORS_PAGE_LIMIT, -}; -use std::collections::HashSet; -use std::convert::TryInto; -use std::process; -use std::time::Duration; -use time::OffsetDateTime; -use tokio::time::sleep; -use validator_client::nymd::SigningNymdClient; - -pub(crate) mod error; - -#[derive(Copy, Clone)] -pub(crate) struct IntervalRewardParams { - pub(crate) reward_pool: u128, - pub(crate) circulating_supply: u128, - pub(crate) sybil_resistance_percent: u8, - pub(crate) rewarded_set_size: u32, - pub(crate) active_set_size: u32, - pub(crate) period_reward_pool: u128, - pub(crate) active_set_work_factor: u8, -} - -impl IntervalRewardParams { - // technically it's identical to what would have been derived with a Default implementation, - // however, I prefer to be explicit about it, as a `Default::default` value makes no sense - // apart from the `ValidatorCacheInner` context, where this value is not going to be touched anyway - // (it's guarded behind an `initialised` flag) - pub(crate) fn new_empty() -> Self { - IntervalRewardParams { - reward_pool: 0, - circulating_supply: 0, - sybil_resistance_percent: 0, - rewarded_set_size: 0, - active_set_size: 0, - period_reward_pool: 0, - active_set_work_factor: 0, - } - } - - pub(crate) fn estimate_reward( - &self, - node: &MixNodeBond, - uptime: u8, - in_active_set: bool, - ) -> Result<(u64, u64, u64), RewardingError> { - let node_reward_params = NodeRewardParams::new( - self.period_reward_pool, - self.rewarded_set_size.into(), - self.active_set_size.into(), - 0, - self.circulating_supply, - uptime.into(), - self.sybil_resistance_percent, - in_active_set, - self.active_set_work_factor, - ); - - let total_node_reward = node.reward(&node_reward_params); - let operator_reward = node.operator_reward(&node_reward_params); - let delegators_reward = - node.reward_delegation(node.total_delegation().amount, &node_reward_params); - - Ok(( - total_node_reward - .reward() - .checked_to_num::<u128>() - .unwrap_or_default() - .try_into()?, - operator_reward.try_into()?, - delegators_reward.try_into()?, - )) - } -} - -#[derive(Debug, Clone)] -pub(crate) struct MixnodeToReward { - pub(crate) identity: IdentityKey, - - /// Total number of individual addresses that have delegated to this particular node - pub(crate) total_delegations: usize, - - /// Node absolute uptime over total active set uptime - pub(crate) params: NodeRewardParams, -} - -impl MixnodeToReward { - fn params(&self) -> NodeRewardParams { - self.params - } -} - -impl MixnodeToReward { - pub(crate) fn to_reward_execute_msg(&self, interval_id: u32) -> ExecuteMsg { - ExecuteMsg::RewardMixnode { - identity: self.identity.clone(), - params: self.params(), - interval_id, - } - } - - pub(crate) fn to_next_delegator_reward_execute_msg(&self, interval_id: u32) -> ExecuteMsg { - ExecuteMsg::RewardNextMixDelegators { - mix_identity: self.identity.clone(), - interval_id, - } - } -} - -pub(crate) struct FailedMixnodeRewardChunkDetails { - possibly_unrewarded: Vec<MixnodeToReward>, - error_message: String, -} - -#[derive(Default)] -pub(crate) struct FailureData { - mixnodes: Option<Vec<FailedMixnodeRewardChunkDetails>>, -} - -pub(crate) struct Rewarder { - nymd_client: Client<SigningNymdClient>, - validator_cache: ValidatorCache, - storage: ValidatorApiStorage, - - /// Ideal world, expected number of network monitor test runs per interval. - /// In reality it will be slightly lower due to network delays, but it's good enough - /// for estimations regarding percentage of available data for reward distribution. - expected_interval_monitor_runs: usize, - - /// Minimum percentage of network monitor test runs reports required in order to distribute - /// rewards. - minimum_interval_monitor_threshold: u8, -} - -impl Rewarder { - pub(crate) fn new( - nymd_client: Client<SigningNymdClient>, - validator_cache: ValidatorCache, - storage: ValidatorApiStorage, - expected_interval_monitor_runs: usize, - minimum_interval_monitor_threshold: u8, - ) -> Self { - Rewarder { - nymd_client, - validator_cache, - storage, - expected_interval_monitor_runs, - minimum_interval_monitor_threshold, - } - } - - /// Obtains the current number of delegators that have delegated their stake towards this particular mixnode. - /// - /// # Arguments - /// - /// * `identity`: identity key of the mixnode - async fn get_mixnode_delegators_count( - &self, - identity: IdentityKey, - ) -> Result<usize, RewardingError> { - Ok(self - .nymd_client - .get_mixnode_delegations(identity) - .await? - .len()) - } - - /// Obtain the list of current 'rewarded' set, determine their uptime in the provided interval - /// and attach information required for rewarding. - /// - /// The method also obtains the number of delegators towards the node in order to more accurately - /// approximate the required gas fees when distributing the rewards. - /// - /// # Arguments - /// - /// * `interval`: current rewarding interval - async fn determine_eligible_mixnodes( - &self, - interval: Interval, - ) -> Result<Vec<MixnodeToReward>, RewardingError> { - let interval_reward_params = self - .nymd_client - .get_current_interval_reward_params() - .await?; - - info!("Rewarding pool stats"); - info!( - "-- Reward pool: {} {}", - interval_reward_params.reward_pool, - DEFAULT_NETWORK.denom() - ); - info!( - "---- Interval reward pool: {} {}", - interval_reward_params.period_reward_pool, - DEFAULT_NETWORK.denom() - ); - info!( - "-- Circulating supply: {} {}", - interval_reward_params.circulating_supply, - DEFAULT_NETWORK.denom() - ); - - // 1. get list of all currently bonded nodes - // 2. for each of them determine their delegator count - // 3. for each of them determine their uptime for the interval - // 4. for each of them determine if they're currently in the active set - // TODO: step 4 will definitely need to change. - let all_nodes = self.validator_cache.mixnodes().await.into_inner(); - let active_set = self - .validator_cache - .active_set() - .await - .into_inner() - .into_iter() - .map(|bond| bond.mix_node.identity_key) - .collect::<HashSet<_>>(); - - let mut nodes_with_delegations = Vec::with_capacity(all_nodes.len()); - for node in all_nodes { - let delegator_count = self - .get_mixnode_delegators_count(node.mix_node.identity_key.clone()) - .await?; - nodes_with_delegations.push((node, delegator_count)); - } - - let mut eligible_nodes = Vec::with_capacity(nodes_with_delegations.len()); - for (rewarded_node, total_delegations) in nodes_with_delegations.into_iter() { - let uptime = self - .storage - .get_average_mixnode_uptime_in_interval( - rewarded_node.identity(), - interval.start_unix_timestamp(), - interval.end_unix_timestamp(), - ) - .await?; - - eligible_nodes.push(MixnodeToReward { - identity: rewarded_node.identity().clone(), - total_delegations, - params: NodeRewardParams::new( - interval_reward_params.period_reward_pool, - interval_reward_params.rewarded_set_size.into(), - interval_reward_params.active_set_size.into(), - // Reward blockstamp gets set in the contract call - 0, - interval_reward_params.circulating_supply, - uptime.u8().into(), - interval_reward_params.sybil_resistance_percent, - active_set.contains(rewarded_node.identity()), - interval_reward_params.active_set_work_factor, - ), - }) - } - - Ok(eligible_nodes) - } - - /// Check whether every node, and their delegators, on the provided list were fully rewarded - /// in the specified interval. - /// - /// It is used to deal with edge cases such that mixnode had exactly full page of delegations and - /// somebody created a new delegation thus causing the "last" delegator to possibly be pushed - /// onto the next page that the validator API was not aware of. - /// - /// * `eligible_mixnodes`: list of the nodes that were eligible to receive rewards. - /// * `interval_id`: nonce associated with the current rewarding interval - async fn verify_rewarding_completion( - &self, - eligible_mixnodes: &[MixnodeToReward], - current_rewarding_nonce: u32, - ) -> (Vec<MixnodeToReward>, Vec<MixnodeToReward>) { - let mut unrewarded = Vec::new(); - let mut further_delegators_present = Vec::new(); - for mix in eligible_mixnodes { - match self - .nymd_client - .get_rewarding_status(mix.identity.clone(), current_rewarding_nonce) - .await - { - Ok(rewarding_status) => match rewarding_status.status { - // that case is super weird, it implies the node hasn't been rewarded at all! - // maybe the transaction timed out twice or something? In any case, we should attempt - // the reward for the final time! - None => unrewarded.push(mix.clone()), - Some(RewardingStatus::PendingNextDelegatorPage(_)) => { - further_delegators_present.push(mix.clone()) - } - Some(RewardingStatus::Complete(_)) => {} - }, - Err(err) => { - error!( - "failed to query rewarding status of {} - {}", - mix.identity, err - ) - } - } - } - (unrewarded, further_delegators_present) - } - - // Utility function to print to the stdout rewarding progress - fn print_rewarding_progress(&self, total_rewarded: usize, out_of: usize, is_retry: bool) { - let percentage = total_rewarded as f32 * 100.0 / out_of as f32; - - if is_retry { - info!( - "Resent rewarding transaction for {} / {} mixnodes\t{:.2}%", - total_rewarded, out_of, percentage - ); - } else { - info!( - "Sent rewarding transaction for {} / {} mixnodes\t{:.2}%", - total_rewarded, out_of, percentage - ); - } - } - - /// Using the list of mixnodes eligible for rewards, chunks it into pre-defined sized-chunks - /// and gives out the rewards by calling the smart contract. - /// - /// Returns an optional vector containing list of chunks that experienced a smart contract - /// execution error during reward distribution. However, it does not necessarily imply they - /// were not rewarded. There are some edge cases where we time out waiting for block to be included - /// yet the transactions went through. - /// - /// Only returns errors for problems originating from before smart contract was called, i.e. - /// we know for sure not a single node has been rewarded. - /// - /// # Arguments - /// - /// * `eligible_mixnodes`: list of the nodes that are eligible to receive rewards. - /// * `interval_id`: nonce associated with the current rewarding interval. - /// * `retry`: flag to indicate whether this is a retry attempt for rewarding particular nodes. - async fn distribute_rewards_to_mixnodes( - &self, - eligible_mixnodes: &[MixnodeToReward], - interval_id: u32, - retry: bool, - ) -> Option<Vec<FailedMixnodeRewardChunkDetails>> { - if retry { - info!( - "Attempting to retry rewarding {} mixnodes...", - eligible_mixnodes.len() - ) - } else { - info!( - "Attempting to reward {} mixnodes...", - eligible_mixnodes.len() - ) - } - - let mut failed_chunks = Vec::new(); - - // construct chunks such that we reward at most MIXNODE_DELEGATORS_PAGE_LIMIT delegators per block - - // nodes with > MIXNODE_DELEGATORS_PAGE_LIMIT delegators that have to be treated in a special way, - // because we cannot batch them together - let mut individually_rewarded = Vec::new(); - - // sets of nodes that together they have < MIXNODE_DELEGATORS_PAGE_LIMIT delegators - let mut batch_rewarded = vec![vec![]]; - let mut current_batch_i = 0; - let mut current_batch_total = 0; - - // right now put mixes into batches super naively, if it doesn't fit into the current one, - // create a new one. - for mix in eligible_mixnodes { - // if mixnode has uptime of 0, no rewarding will actually happen regardless of number of delegators, - // so we can just batch it with the current batch - if mix.params.uptime() == 0 { - batch_rewarded[current_batch_i].push(mix.clone()); - continue; - } - - if mix.total_delegations > MIXNODE_DELEGATORS_PAGE_LIMIT { - individually_rewarded.push(mix) - } else if current_batch_total + mix.total_delegations < MIXNODE_DELEGATORS_PAGE_LIMIT { - batch_rewarded[current_batch_i].push(mix.clone()); - current_batch_total += mix.total_delegations; - } else { - batch_rewarded.push(vec![mix.clone()]); - current_batch_i += 1; - current_batch_total = 0; - } - } - - let mut total_rewarded = 0; - - // start rewarding, first the nodes that are dealt with individually, i.e. nodes that - // need to have their own special blocks due to number of delegators - for mix in individually_rewarded { - if let Err(err) = self - .nymd_client - .reward_mixnode_and_all_delegators(mix, interval_id) - .await - { - // this is a super weird edge case that we didn't catch change to sequence and - // resent rewards unnecessarily, but the mempool saved us from executing it again - // however, still we want to wait until we're sure we're into the next block - if !err.is_tendermint_duplicate() { - error!("failed to reward mixnode with all delegators... - {}", err); - failed_chunks.push(FailedMixnodeRewardChunkDetails { - possibly_unrewarded: vec![mix.clone()], - error_message: err.to_string(), - }); - } - sleep(Duration::from_secs(11)).await; - } - - total_rewarded += 1; - self.print_rewarding_progress(total_rewarded, eligible_mixnodes.len(), retry); - } - - // then we move onto the chunks - for mix_chunk in batch_rewarded { - if mix_chunk.is_empty() { - continue; - } - if let Err(err) = self - .nymd_client - .reward_mixnodes_with_single_page_of_delegators(&mix_chunk, interval_id) - .await - { - // this is a super weird edge case that we didn't catch change to sequence and - // resent rewards unnecessarily, but the mempool saved us from executing it again - // however, still we want to wait until we're sure we're into the next block - if !err.is_tendermint_duplicate() { - error!("failed to reward mixnodes... - {}", err); - failed_chunks.push(FailedMixnodeRewardChunkDetails { - possibly_unrewarded: mix_chunk.to_vec(), - error_message: err.to_string(), - }); - } - sleep(Duration::from_secs(11)).await; - } - - total_rewarded += mix_chunk.len(); - self.print_rewarding_progress(total_rewarded, eligible_mixnodes.len(), retry); - } - - if failed_chunks.is_empty() { - None - } else { - Some(failed_chunks) - } - } - - /// For each mixnode on the list, try to "continue" rewarding its delegators. - /// Note: due to the checks inside the smart contract, it's impossible to accidentally - /// reward the same mixnode (or delegator) twice during particular rewarding interval. - /// - /// Realistically if this method is ever called, it will be only done once per node, so there's - /// no need to determine the exact number of missed delegators. - /// - /// * `nodes`: mixnodes which delegators did not receive all rewards in this interval. - /// * `interval_id`: nonce associated with the current rewarding interval. - async fn reward_missed_delegators(&self, nodes: &[MixnodeToReward], interval_id: u32) { - let mut total_resent = 0; - for missed_node in nodes { - total_resent += 1; - info!( - "Sending rewarding transaction for missed delegators ({} / {} mixnodes re-checked)", - total_resent, - nodes.len() - ); - - if let Err(err) = self - .nymd_client - .reward_mix_delegators(missed_node, interval_id) - .await - { - warn!( - "failed to attempt to reward missed delegators of node {} - {}", - missed_node.identity, err - ) - } - } - } - - /// Using the list of active mixnode and gateways, determine which of them are eligible for - /// rewarding and distribute the rewards. - /// - /// # Arguments - /// - /// * `interval_rewarding_id`: id of the current interval rewarding as stored in the database. - /// * `interval`: current rewarding interval - async fn distribute_rewards( - &self, - interval_rewarding_database_id: i64, - interval: Interval, - ) -> Result<(RewardingReport, Option<FailureData>), RewardingError> { - let mut failure_data = FailureData::default(); - - let eligible_mixnodes = self.determine_eligible_mixnodes(interval).await?; - if eligible_mixnodes.is_empty() { - return Err(RewardingError::NoMixnodesToReward); - } - let total_eligible = eligible_mixnodes.len(); - - failure_data.mixnodes = self - .distribute_rewards_to_mixnodes(&eligible_mixnodes, interval.id(), false) - .await; - - let mut nodes_to_verify = eligible_mixnodes; - - // if there's some underlying networking error or something, don't keep retrying forever - let mut retries_allowed = 5; - loop { - if retries_allowed <= 0 { - break; - } - let (unrewarded, mut pending_delegators) = self - .verify_rewarding_completion(&nodes_to_verify, interval.id()) - .await; - if unrewarded.is_empty() && pending_delegators.is_empty() { - // we're all good - everyone got their rewards - break; - } - - if !unrewarded.is_empty() { - // no need to save failure data as we already know about those from the very first run - self.distribute_rewards_to_mixnodes(&unrewarded, interval.id(), true) - .await; - } - - if !pending_delegators.is_empty() { - self.reward_missed_delegators(&pending_delegators, interval.id()) - .await; - } - - // no point in verifying EVERYTHING again, just check the nodes that went through retries - nodes_to_verify = unrewarded; - nodes_to_verify.append(&mut pending_delegators); - - retries_allowed -= 1; - } - - let report = RewardingReport { - interval_rewarding_id: interval_rewarding_database_id, - eligible_mixnodes: total_eligible as i64, - possibly_unrewarded_mixnodes: failure_data - .mixnodes - .as_ref() - .map(|chunks| { - chunks - .iter() - .map(|chunk| chunk.possibly_unrewarded.len()) - .sum::<usize>() as i64 - }) - .unwrap_or_default(), - }; - - self.nymd_client.advance_current_interval().await?; - - if failure_data.mixnodes.is_none() { - Ok((report, None)) - } else { - Ok((report, Some(failure_data))) - } - } - - /// Saves information about possibly failed rewarding for future manual inspection. - /// - /// Currently there is no automated recovery mechanism. - /// - /// # Arguments - /// - /// * `failure_data`: information regarding nodes that might have not received reward this interval. - /// - /// * `interval_rewarding_id`: id of the current interval rewarding. - async fn save_failure_information( - &self, - failure_data: FailureData, - interval_rewarding_id: i64, - ) -> Result<(), RewardingError> { - if let Some(failed_mixnode_chunks) = failure_data.mixnodes { - for failed_chunk in failed_mixnode_chunks.into_iter() { - // save the chunk - let chunk_id = self - .storage - .insert_failed_mixnode_reward_chunk(FailedMixnodeRewardChunk { - interval_rewarding_id, - error_message: failed_chunk.error_message, - }) - .await?; - - // and then all associated nodes - for node in failed_chunk.possibly_unrewarded.into_iter() { - self.storage - .insert_possibly_unrewarded_mixnode(PossiblyUnrewardedMixnode { - chunk_id, - identity: node.identity, - uptime: node.params.uptime() as u8, - }) - .await?; - } - } - } - - Ok(()) - } - - /// Determines whether this validator has already distributed rewards for the specified interval - /// so that it wouldn't accidentally attempt to do it again. - /// - /// # Arguments - /// - /// * `interval`: interval to check - async fn check_if_rewarding_happened_at_interval( - &self, - interval: Interval, - ) -> Result<bool, RewardingError> { - if let Some(entry) = self - .storage - .get_interval_rewarding_entry(interval.start_unix_timestamp()) - .await? - { - // log error if the attempt wasn't finished. This error implies the process has crashed - // during the rewards distribution - if !entry.finished { - error!( - "It seems that we haven't successfully finished distributing rewards at {}", - interval - ) - } - - Ok(true) - } else { - Ok(false) - } - } - - /// Determines whether the specified interval is eligible for rewards, i.e. it was not rewarded - /// before and we have enough network monitor test data to distribute the rewards based on them. - /// - /// # Arguments - /// - /// * `interval`: interval to check - async fn check_interval_eligibility(&self, interval: Interval) -> Result<bool, RewardingError> { - if self - .check_if_rewarding_happened_at_interval(interval) - .await? - || !self.check_for_monitor_data(interval).await? - { - Ok(false) - } else { - // we haven't sent rewards during the interval and we have enough monitor test data - Ok(true) - } - } - - /// Distribute rewards to all eligible mixnodes and gateways on the network. - /// - /// # Arguments - /// - /// * `interval`: current rewarding interval - async fn perform_rewarding(&self, interval: Interval) -> Result<(), RewardingError> { - info!( - "Starting mixnode and gateway rewarding for interval {} ...", - interval - ); - - // insert information about beginning the procedure (so that if we crash during it, - // we wouldn't attempt to possibly double reward operators) - let interval_rewarding_id = self - .storage - .insert_started_interval_rewarding( - interval.start_unix_timestamp(), - interval.end_unix_timestamp(), - ) - .await?; - - let (report, failure_data) = self - .distribute_rewards(interval_rewarding_id, interval) - .await?; - - self.storage - .finish_rewarding_interval_and_insert_report(report) - .await?; - - if let Some(failure_data) = failure_data { - if let Err(err) = self - .save_failure_information(failure_data, interval_rewarding_id) - .await - { - error!("failed to save information about rewarding failures!"); - // TODO: should we just terminate the process here? - return Err(err); - } - } - - // since we have already performed rewards, purge everything older than the end of this interval - // (+one day of buffer) as we're never going to need it again (famous last words...) - // note that usually end of interval is equal to the current time - let cutoff = (interval.end() - ONE_DAY).unix_timestamp(); - self.storage.purge_old_statuses(cutoff).await?; - - Ok(()) - } - - /// Checks whether there is enough network monitor test run data to distribute rewards - /// for the specified interval. - /// - /// # Arguments - /// - /// * `interval`: interval to check - async fn check_for_monitor_data(&self, interval: Interval) -> Result<bool, RewardingError> { - let since = interval.start_unix_timestamp(); - let until = interval.end_unix_timestamp(); - - let monitor_runs = self.storage.get_monitor_runs_count(since, until).await?; - - // check if we have more than threshold percentage of monitor runs for the interval - let available = monitor_runs as f32 * 100.0 / self.expected_interval_monitor_runs as f32; - Ok(available >= self.minimum_interval_monitor_threshold as f32) - } - - async fn sync_up_rewarding_intervals(&self) -> Result<(), RewardingError> { - let mut last_stored_interval = self.nymd_client.get_current_interval().await?; - - let block_now: OffsetDateTime = self.nymd_client.current_block_timestamp().await?.into(); - let actual_current_interval = match last_stored_interval.current(block_now) { - None => return Ok(()), - Some(interval) => interval, - }; - - // we're waiting for the first interval to start... (same is true if the value was 'None') - if actual_current_interval.start() < last_stored_interval.start() { - return Ok(()); - } - - // we're already synced up - if actual_current_interval == last_stored_interval { - return Ok(()); - } - - // actual_current_interval > last_stored_interval - loop { - // if we can perform rewarding, do it, otherwise just go straight into the next interval - if self - .check_interval_eligibility(last_stored_interval) - .await? - { - self.perform_rewarding(last_stored_interval).await?; - } else { - self.nymd_client.advance_current_interval().await?; - } - - last_stored_interval = self.nymd_client.get_current_interval().await?; - - // compare by start times in case the id didn't match (TODO: is it even possible?) - if last_stored_interval.start() == actual_current_interval.start() { - break; - } - } - - Ok(()) - } - - // pub(crate) async fn processing_loop_iteration(&self) -> Result<std::ops::ControlFlow<()>, RewardingError> { - pub(crate) async fn processing_loop_iteration(&self) -> Result<(), RewardingError> { - let last_stored_interval = self.nymd_client.get_current_interval().await?; - let block_now: OffsetDateTime = self.nymd_client.current_block_timestamp().await?.into(); - - let actual_current_interval = match last_stored_interval.current(block_now) { - None => return Ok(()), - Some(interval) => interval, - }; - - // the [stored] interval has finished - we should distribute rewards now - if last_stored_interval.start() < actual_current_interval.start() { - // it's time to distribute rewards, however, first let's see if we have enough data to go through with it - // (consider the case of rewards being distributed every 24h at 12:00pm and validator-api - // starting for the very first time at 11:00am. It's not going to have enough data for - // rewards for the *current* interval, but we couldn't have known that at startup) - if self - .check_interval_eligibility(last_stored_interval) - .await? - { - self.perform_rewarding(last_stored_interval).await?; - } else { - warn!("We do not have sufficient monitor data to perform rewarding in this interval ({}). We're advancing it forward...", last_stored_interval); - self.nymd_client.advance_current_interval().await?; - } - } else { - info!( - "rewards will be distributed around {}. Approximately {:?} remaining", - last_stored_interval.end(), - last_stored_interval.until_end(block_now) - ); - } - - sleep(Duration::from_secs(15 * 60)).await; - - Ok(()) - } - - pub(crate) async fn run(&self) { - // whatever happens, we shouldn't do anything until the cache is initialised - self.validator_cache.wait_for_initial_values().await; - - if let Err(err) = self.sync_up_rewarding_intervals().await { - error!( - "Failed to sync up intervals with the contract state - {}", - err - ); - process::exit(1); - } - - // at this point the current block time < end of current[or first] interval, so to do anything, - // we have to wait for the interval to finish - loop { - if let Err(err) = self.processing_loop_iteration().await { - error!("failed to finish rewarding loop iteration - {}", err); - // should we go into backoff here or just exit the process? - sleep(Duration::from_secs(15 * 60)).await; - } - } - } -} diff --git a/validator-api/src/storage/manager.rs b/validator-api/src/storage/manager.rs index 6220d8354f..d30dcafcb5 100644 --- a/validator-api/src/storage/manager.rs +++ b/validator-api/src/storage/manager.rs @@ -1,6 +1,8 @@ // Copyright 2021 - Nym Technologies SA <contact@nymtech.net> // SPDX-License-Identifier: Apache-2.0 +use mixnet_contract_common::Interval; + use crate::network_monitor::monitor::summary_producer::NodeResult; use crate::node_status_api::models::{HistoricalUptime, Uptime}; use crate::node_status_api::utils::ActiveNodeStatuses; @@ -673,18 +675,21 @@ impl StorageManager { /// /// * `interval_start_timestamp`: Unix timestamp of start of this rewarding interval. /// * `interval_end_timestamp`: Unix timestamp of end of this rewarding interval. - pub(super) async fn insert_new_interval_rewarding( + pub(super) async fn insert_new_epoch_rewarding( &self, - interval_start_timestamp: i64, - interval_end_timestamp: i64, + epoch: Interval, ) -> Result<i64, sqlx::Error> { + let id = epoch.id(); + let start = epoch.start_unix_timestamp(); + let end = epoch.end_unix_timestamp(); let res = sqlx::query!( r#" - INSERT INTO interval_rewarding (interval_start_timestamp, interval_end_timestamp, finished) - VALUES (?, ?, 0) + INSERT INTO interval_rewarding (id, interval_start_timestamp, interval_end_timestamp, finished) + VALUES (?, ?, ?, 0) "#, - interval_start_timestamp, - interval_end_timestamp, + id, + start, + end, ) .execute(&self.connection_pool) .await?; @@ -697,10 +702,7 @@ impl StorageManager { /// # Arguments /// /// * `id`: id of the entry we want to update. - pub(super) async fn update_finished_interval_rewarding( - &self, - id: i64, - ) -> Result<(), sqlx::Error> { + pub async fn update_finished_interval_rewarding(&self, id: i64) -> Result<(), sqlx::Error> { sqlx::query!( r#" UPDATE interval_rewarding diff --git a/validator-api/src/storage/mod.rs b/validator-api/src/storage/mod.rs index e538a8c071..db7be2cbbb 100644 --- a/validator-api/src/storage/mod.rs +++ b/validator-api/src/storage/mod.rs @@ -13,6 +13,7 @@ use crate::storage::models::{ FailedMixnodeRewardChunk, IntervalRewarding, NodeStatus, PossiblyUnrewardedMixnode, RewardingReport, TestingRoute, }; +use mixnet_contract_common::Interval; use rocket::fairing::{self, AdHoc}; use rocket::{Build, Rocket}; use sqlx::ConnectOptions; @@ -25,7 +26,7 @@ pub(crate) mod models; // note that clone here is fine as upon cloning the same underlying pool will be used #[derive(Clone)] pub(crate) struct ValidatorApiStorage { - manager: StorageManager, + pub manager: StorageManager, } impl ValidatorApiStorage { @@ -688,13 +689,12 @@ impl ValidatorApiStorage { /// /// * `interval_start_timestamp`: Unix timestamp of start of this rewarding interval. /// * `interval_end_timestamp`: Unix timestamp of end of this rewarding interval. - pub(crate) async fn insert_started_interval_rewarding( + pub(crate) async fn insert_started_epoch_rewarding( &self, - interval_start_timestamp: i64, - interval_end_timestamp: i64, + epoch: Interval, ) -> Result<i64, ValidatorApiStorageError> { self.manager - .insert_new_interval_rewarding(interval_start_timestamp, interval_end_timestamp) + .insert_new_epoch_rewarding(epoch) .await .map_err(|_| ValidatorApiStorageError::InternalDatabaseError) } diff --git a/yarn.lock b/yarn.lock index 04b44f93fd..d6f0fe9fbf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,13 +9,6 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" @@ -306,7 +299,7 @@ "@babel/traverse" "^7.17.0" "@babel/types" "^7.17.0" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": +"@babel/highlight@^7.16.7": version "7.16.10" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== @@ -1093,7 +1086,7 @@ core-js-pure "^3.20.2" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.14.8", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.16.7", "@babel/runtime@^7.17.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.14.8", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.16.7", "@babel/runtime@^7.17.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.17.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941" integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw== @@ -1548,21 +1541,6 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - "@eslint/eslintrc@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.0.tgz#7ce1547a5c46dfe56e1e45c3c9ed18038c721c6a" @@ -1588,15 +1566,6 @@ resolved "https://registry.yarnpkg.com/@hookform/resolvers/-/resolvers-2.8.8.tgz#17cf806485435877fdafce9f3bee6ff68f7f87b6" integrity sha512-meAEDur1IJBfKyTo9yPYAuzjIfrxA7m9Ov+1nxaW/YupsqMeseWifoUjWK03+hz/RJizsVQAaUjVxFEkyu0GWg== -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== - dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" - "@humanwhocodes/config-array@^0.9.2": version "0.9.5" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7" @@ -1606,7 +1575,7 @@ debug "^4.1.1" minimatch "^3.0.4" -"@humanwhocodes/object-schema@^1.2.0", "@humanwhocodes/object-schema@^1.2.1": +"@humanwhocodes/object-schema@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== @@ -3249,7 +3218,7 @@ dependencies: "@octokit/openapi-types" "^11.2.0" -"@pmmmwh/react-refresh-webpack-plugin@^0.5.0-rc.3", "@pmmmwh/react-refresh-webpack-plugin@^0.5.1", "@pmmmwh/react-refresh-webpack-plugin@^0.5.4": +"@pmmmwh/react-refresh-webpack-plugin@^0.5.1", "@pmmmwh/react-refresh-webpack-plugin@^0.5.4": version "0.5.4" resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.4.tgz#df0d0d855fc527db48aac93c218a0bf4ada41f99" integrity sha512-zZbZeHQDnoTlt2AF+diQT0wsSXpvWiaIOZwBRdltNFhG1+I3ozyaw7U/nBiUwyJ0D+zwdXp0E3bWOl38Ag2BMw== @@ -4822,7 +4791,7 @@ jest-matcher-utils "^27.0.0" pretty-format "^27.0.0" -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== @@ -4977,7 +4946,7 @@ "@types/react" "*" "@types/react-router" "*" -"@types/react-router@*": +"@types/react-router@*", "@types/react-router@^5.1.18": version "5.1.18" resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.18.tgz#c8851884b60bc23733500d86c1266e1cfbbd9ef3" integrity sha512-YYknwy0D0iOwKQgz9v8nOzt2J6l4gouBmDnWqUUznltOTaon+r8US8ky8HvN0tXvc38U9m6z/t2RsVsnd1zM0g== @@ -5163,19 +5132,6 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.0.tgz#9c3fa6f44bad789a962426ad951b54695bd3af6b" - integrity sha512-iPKZTZNavAlOhfF4gymiSuUkgLne/nh5Oz2/mdiUmuZVD42m9PapnCnzjxuDsnpnbH3wT5s2D8bw6S39TC6GNw== - dependencies: - "@typescript-eslint/experimental-utils" "4.31.0" - "@typescript-eslint/scope-manager" "4.31.0" - debug "^4.3.1" - functional-red-black-tree "^1.0.1" - regexpp "^3.1.0" - semver "^7.3.5" - tsutils "^3.21.0" - "@typescript-eslint/eslint-plugin@^5.13.0": version "5.13.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.13.0.tgz#2809052b85911ced9c54a60dac10e515e9114497" @@ -5191,30 +5147,6 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.0.tgz#0ef1d5d86c334f983a00f310e43c1ce4c14e054d" - integrity sha512-Hld+EQiKLMppgKKkdUsLeVIeEOrwKc2G983NmznY/r5/ZtZCDvIOXnXtwqJIgYz/ymsy7n7RGvMyrzf1WaSQrw== - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.31.0" - "@typescript-eslint/types" "4.31.0" - "@typescript-eslint/typescript-estree" "4.31.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/experimental-utils@^4.0.1": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" - integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - "@typescript-eslint/experimental-utils@^5.3.0": version "5.14.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.14.0.tgz#73a455cd975d52830360a5b4131b7c4f8f1ff06f" @@ -5222,16 +5154,6 @@ dependencies: "@typescript-eslint/utils" "5.14.0" -"@typescript-eslint/parser@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.31.0.tgz#87b7cd16b24b9170c77595d8b1363f8047121e05" - integrity sha512-oWbzvPh5amMuTmKaf1wp0ySxPt2ZXHnFQBN2Szu1O//7LmOvgaKTCIDNLK2NvzpmVd5A2M/1j/rujBqO37hj3w== - dependencies: - "@typescript-eslint/scope-manager" "4.31.0" - "@typescript-eslint/types" "4.31.0" - "@typescript-eslint/typescript-estree" "4.31.0" - debug "^4.3.1" - "@typescript-eslint/parser@^5.13.0": version "5.13.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.13.0.tgz#0394ed8f2f849273c0bf4b811994d177112ced5c" @@ -5242,22 +5164,6 @@ "@typescript-eslint/typescript-estree" "5.13.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.31.0.tgz#9be33aed4e9901db753803ba233b70d79a87fc3e" - integrity sha512-LJ+xtl34W76JMRLjbaQorhR0hfRAlp3Lscdiz9NeI/8i+q0hdBZ7BsiYieLoYWqy+AnRigaD3hUwPFugSzdocg== - dependencies: - "@typescript-eslint/types" "4.31.0" - "@typescript-eslint/visitor-keys" "4.31.0" - -"@typescript-eslint/scope-manager@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" - integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - "@typescript-eslint/scope-manager@5.13.0": version "5.13.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.13.0.tgz#cf6aff61ca497cb19f0397eea8444a58f46156b6" @@ -5283,16 +5189,6 @@ debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.31.0.tgz#9a7c86fcc1620189567dc4e46cad7efa07ee8dce" - integrity sha512-9XR5q9mk7DCXgXLS7REIVs+BaAswfdHhx91XqlJklmqWpTALGjygWVIb/UnLh4NWhfwhR5wNe1yTyCInxVhLqQ== - -"@typescript-eslint/types@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" - integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== - "@typescript-eslint/types@5.13.0": version "5.13.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.13.0.tgz#da1de4ae905b1b9ff682cab0bed6b2e3be9c04e5" @@ -5303,32 +5199,6 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.14.0.tgz#96317cf116cea4befabc0defef371a1013f8ab11" integrity sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw== -"@typescript-eslint/typescript-estree@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.0.tgz#4da4cb6274a7ef3b21d53f9e7147cc76f278a078" - integrity sha512-QHl2014t3ptg+xpmOSSPn5hm4mY8D4s97ftzyk9BZ8RxYQ3j73XcwuijnJ9cMa6DO4aLXeo8XS3z1omT9LA/Eg== - dependencies: - "@typescript-eslint/types" "4.31.0" - "@typescript-eslint/visitor-keys" "4.31.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/typescript-estree@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" - integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - "@typescript-eslint/typescript-estree@5.13.0": version "5.13.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.13.0.tgz#b37c07b748ff030a3e93d87c842714e020b78141" @@ -5379,22 +5249,6 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@4.31.0": - version "4.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.0.tgz#4e87b7761cb4e0e627dc2047021aa693fc76ea2b" - integrity sha512-HUcRp2a9I+P21+O21yu3ezv3GEPGjyGiXoEUQwZXjR8UxRApGeLyWH4ZIIUSalE28aG4YsV6GjtaAVB3QKOu0w== - dependencies: - "@typescript-eslint/types" "4.31.0" - eslint-visitor-keys "^2.0.0" - -"@typescript-eslint/visitor-keys@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" - integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== - dependencies: - "@typescript-eslint/types" "4.33.0" - eslint-visitor-keys "^2.0.0" - "@typescript-eslint/visitor-keys@5.13.0": version "5.13.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.13.0.tgz#f45ff55bcce16403b221ac9240fbeeae4764f0fd" @@ -5758,7 +5612,7 @@ acorn@^6.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== -acorn@^7.1.1, acorn@^7.4.0, acorn@^7.4.1: +acorn@^7.1.1, acorn@^7.4.1: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== @@ -5859,7 +5713,7 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.0.1, ajv@^8.8.0: +ajv@^8.0.0, ajv@^8.8.0: version "8.10.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== @@ -5881,11 +5735,6 @@ ansi-colors@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - ansi-escapes@^4.2.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" @@ -6051,7 +5900,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.3, array-includes@^3.1.4: +array-includes@^3.0.3, array-includes@^3.1.3, array-includes@^3.1.4: version "3.1.4" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== @@ -6084,7 +5933,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.4, array.prototype.flat@^1.2.5: +array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== @@ -6093,7 +5942,7 @@ array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.4, array.prototype.flat@^ define-properties "^1.1.3" es-abstract "^1.19.0" -array.prototype.flatmap@^1.2.1, array.prototype.flatmap@^1.2.4, array.prototype.flatmap@^1.2.5: +array.prototype.flatmap@^1.2.1, array.prototype.flatmap@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== @@ -6175,11 +6024,6 @@ ast-types@^0.14.2: dependencies: tslib "^2.0.1" -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - async-each@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" @@ -6235,7 +6079,7 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== -axe-core@^4.0.2, axe-core@^4.3.5: +axe-core@^4.3.5: version "4.4.1" resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.1.tgz#7dbdc25989298f9ad006645cd396782443757413" integrity sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw== @@ -7230,6 +7074,11 @@ cli-width@^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-copy@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/clipboard-copy/-/clipboard-copy-3.2.0.tgz#3c5b8651d3512dcfad295d77a9eb09e7fac8d5fb" + integrity sha512-vooFaGFL6ulEP1liiaWFBmmfuPm3cY3y7T9eB83ZTnYc/oFeAKsq3NcDrOkBC8XaauEE8zHQwI7k0+JSYiVQSQ== + cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -8156,7 +8005,7 @@ d3-zoom@^2.0.0: d3-selection "2" d3-transition "2" -damerau-levenshtein@^1.0.6, damerau-levenshtein@^1.0.7: +damerau-levenshtein@^1.0.7: version "1.0.8" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== @@ -8199,7 +8048,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== @@ -8712,7 +8561,7 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emoji-regex@^9.0.0, emoji-regex@^9.2.2: +emoji-regex@^9.2.2: version "9.2.2" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== @@ -8776,13 +8625,6 @@ enhanced-resolve@^5.0.0, enhanced-resolve@^5.7.0, enhanced-resolve@^5.8.3, enhan graceful-fs "^4.2.4" tapable "^2.2.0" -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - entities@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" @@ -8940,15 +8782,6 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" -eslint-config-airbnb-base@^14.2.1: - version "14.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz#8a2eb38455dc5a312550193b319cdaeef042cd1e" - integrity sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA== - dependencies: - confusing-browser-globals "^1.0.10" - object.assign "^4.1.2" - object.entries "^1.1.2" - eslint-config-airbnb-base@^15.0.0: version "15.0.0" resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz#6b09add90ac79c2f8d723a2580e07f3925afd236" @@ -8966,15 +8799,6 @@ eslint-config-airbnb-typescript@^16.1.0: dependencies: eslint-config-airbnb-base "^15.0.0" -eslint-config-airbnb@18.2.1: - version "18.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz#b7fe2b42f9f8173e825b73c8014b592e449c98d9" - integrity sha512-glZNDEZ36VdlZWoxn/bUR1r/sdFKPd1mHPbqUtkctgNG4yT2DLLtJ3D+yCV+jzZCc2V1nBVkmdknOJBZ5Hc0fg== - dependencies: - eslint-config-airbnb-base "^14.2.1" - object.assign "^4.1.2" - object.entries "^1.1.2" - eslint-config-airbnb@^19.0.4: version "19.0.4" resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz#84d4c3490ad70a0ffa571138ebcdea6ab085fdc3" @@ -8984,11 +8808,6 @@ eslint-config-airbnb@^19.0.4: object.assign "^4.1.2" object.entries "^1.1.5" -eslint-config-prettier@8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" - integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== - eslint-config-prettier@^8.5.0: version "8.5.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" @@ -9002,7 +8821,7 @@ eslint-import-resolver-node@^0.3.2, eslint-import-resolver-node@^0.3.6: debug "^3.2.7" resolve "^1.20.0" -eslint-import-resolver-root-import@1.0.4, eslint-import-resolver-root-import@^1.0.4: +eslint-import-resolver-root-import@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/eslint-import-resolver-root-import/-/eslint-import-resolver-root-import-1.0.4.tgz#82991138d8014b5e2283b27622ad1ba21f535609" integrity sha512-c8cUQcELRBe0mnblBZJKEfL+jIUGR8pctK5gdru5N7bBOIve2WZ0R3KoO5GOksXJ4WzZhtcBS2xPaTJYEe4IdQ== @@ -9010,7 +8829,7 @@ eslint-import-resolver-root-import@1.0.4, eslint-import-resolver-root-import@^1. eslint-import-resolver-node "^0.3.2" json5 "^2.1.0" -eslint-module-utils@^2.6.2, eslint-module-utils@^2.7.2: +eslint-module-utils@^2.7.2: version "2.7.3" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== @@ -9018,27 +8837,6 @@ eslint-module-utils@^2.6.2, eslint-module-utils@^2.7.2: debug "^3.2.7" find-up "^2.1.0" -eslint-plugin-import@2.24.2: - version "2.24.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz#2c8cd2e341f3885918ee27d18479910ade7bb4da" - integrity sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q== - dependencies: - array-includes "^3.1.3" - array.prototype.flat "^1.2.4" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.6.2" - find-up "^2.0.0" - has "^1.0.3" - is-core-module "^2.6.0" - minimatch "^3.0.4" - object.values "^1.1.4" - pkg-up "^2.0.0" - read-pkg-up "^3.0.0" - resolve "^1.20.0" - tsconfig-paths "^3.11.0" - eslint-plugin-import@^2.25.4: version "2.25.4" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" @@ -9058,13 +8856,6 @@ eslint-plugin-import@^2.25.4: resolve "^1.20.0" tsconfig-paths "^3.12.0" -eslint-plugin-jest@^24.4.0: - version "24.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.7.0.tgz#206ac0833841e59e375170b15f8d0955219c4889" - integrity sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA== - dependencies: - "@typescript-eslint/experimental-utils" "^4.0.1" - eslint-plugin-jest@^26.1.1: version "26.1.1" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-26.1.1.tgz#7176dd745ef8bca3070263f62cdf112f2dfc9aa1" @@ -9072,23 +8863,6 @@ eslint-plugin-jest@^26.1.1: dependencies: "@typescript-eslint/utils" "^5.10.0" -eslint-plugin-jsx-a11y@6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd" - integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg== - dependencies: - "@babel/runtime" "^7.11.2" - aria-query "^4.2.2" - array-includes "^3.1.1" - ast-types-flow "^0.0.7" - axe-core "^4.0.2" - axobject-query "^2.2.0" - damerau-levenshtein "^1.0.6" - emoji-regex "^9.0.0" - has "^1.0.3" - jsx-ast-utils "^3.1.0" - language-tags "^1.0.5" - eslint-plugin-jsx-a11y@^6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8" @@ -9107,42 +8881,18 @@ eslint-plugin-jsx-a11y@^6.5.1: language-tags "^1.0.5" minimatch "^3.0.4" -eslint-plugin-prettier@4.0.0, eslint-plugin-prettier@^4.0.0: +eslint-plugin-prettier@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== dependencies: prettier-linter-helpers "^1.0.0" -eslint-plugin-react-hooks@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" - integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ== - eslint-plugin-react-hooks@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== -eslint-plugin-react@7.25.1: - version "7.25.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.25.1.tgz#9286b7cd9bf917d40309760f403e53016eda8331" - integrity sha512-P4j9K1dHoFXxDNP05AtixcJEvIT6ht8FhYKsrkY0MPCPaUMYijhpWwNiRDZVtA8KFuZOkGSeft6QwH8KuVpJug== - dependencies: - array-includes "^3.1.3" - array.prototype.flatmap "^1.2.4" - doctrine "^2.1.0" - estraverse "^5.2.0" - has "^1.0.3" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.0.4" - object.entries "^1.1.4" - object.fromentries "^2.0.4" - object.values "^1.1.4" - prop-types "^15.7.2" - resolve "^2.0.0-next.3" - string.prototype.matchall "^4.0.5" - eslint-plugin-react@^7.29.2: version "7.29.2" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.2.tgz#2d4da69d30d0a736efd30890dc6826f3e91f3f7c" @@ -9196,13 +8946,6 @@ eslint-scope@^7.1.1: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - eslint-utils@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" @@ -9210,11 +8953,6 @@ eslint-utils@^3.0.0: dependencies: eslint-visitor-keys "^2.0.0" -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "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.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" @@ -9225,52 +8963,6 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@7.32.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - 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" - escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - eslint@^8.10.0: version "8.10.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.10.0.tgz#931be395eb60f900c01658b278e05b6dae47199d" @@ -9312,15 +9004,6 @@ eslint@^8.10.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - espree@^9.3.1: version "9.3.1" resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.1.tgz#8793b4bc27ea4c778c19908e0719e7b8f4115bcd" @@ -9828,6 +9511,11 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + flatted@^3.1.0: version "3.2.5" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" @@ -9877,7 +9565,7 @@ fork-ts-checker-webpack-plugin@^4.1.6: tapable "^1.0.0" worker-rpc "^0.1.0" -fork-ts-checker-webpack-plugin@^6.0.4, fork-ts-checker-webpack-plugin@^6.3.3: +fork-ts-checker-webpack-plugin@^6.0.4: version "6.5.0" resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.0.tgz#0282b335fa495a97e167f69018f566ea7d2a2b5e" integrity sha512-cS178Y+xxtIjEUorcHddKS7yCMlrDPV31mt47blKKRfMd70Kxu5xruAFE2o9sDY6wVC5deuob/u/alD04YYHnw== @@ -10326,7 +10014,7 @@ globalthis@^1.0.0, globalthis@^1.0.1: dependencies: define-properties "^1.1.3" -globby@^11.0.1, globby@^11.0.2, globby@^11.0.3, globby@^11.0.4: +globby@^11.0.1, globby@^11.0.2, globby@^11.0.4: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -10925,14 +10613,6 @@ import-local@^3.0.2: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" -imports-loader@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/imports-loader/-/imports-loader-3.1.1.tgz#3e464d9aad1e303b1b34b658eb8f8aae22f96435" - integrity sha512-3QMyGU4RTgxLf0puWkUfT5+7zJvexvB00PI5skDIcxG8O20gZCbQsaRpNBv+cIO6yy/lmlOBwaxc3uH1CV+sww== - dependencies: - source-map "^0.6.1" - strip-comments "^2.0.1" - imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -11165,7 +10845,7 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.6.0, is-core-module@^2.8.0, is-core-module@^2.8.1: +is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.0, is-core-module@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== @@ -12335,7 +12015,7 @@ jss@10.9.0, jss@^10.8.2: is-in-browser "^1.1.3" tiny-warning "^1.0.2" -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0, jsx-ast-utils@^3.2.1: +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== @@ -12651,11 +12331,6 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - 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" @@ -13776,7 +13451,7 @@ object.assign@^4.1.0, object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.1.0, object.entries@^1.1.2, object.entries@^1.1.4, object.entries@^1.1.5: +object.entries@^1.1.0, object.entries@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== @@ -13785,7 +13460,7 @@ object.entries@^1.1.0, object.entries@^1.1.2, object.entries@^1.1.4, object.entr define-properties "^1.1.3" es-abstract "^1.19.1" -"object.fromentries@^2.0.0 || ^1.0.0", object.fromentries@^2.0.4, object.fromentries@^2.0.5: +"object.fromentries@^2.0.0 || ^1.0.0", object.fromentries@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== @@ -13818,7 +13493,7 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -object.values@^1.1.0, object.values@^1.1.4, object.values@^1.1.5: +object.values@^1.1.0, object.values@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== @@ -14451,13 +14126,6 @@ pkg-dir@^5.0.0: dependencies: find-up "^5.0.0" -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - pngjs@^3.0.0, pngjs@^3.2.0, pngjs@^3.3.3: version "3.4.0" resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" @@ -14920,11 +14588,6 @@ process@^0.11.10: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" @@ -15296,7 +14959,7 @@ react-element-to-jsx-string@^14.3.4: is-plain-object "5.0.0" react-is "17.0.2" -react-error-boundary@^3.1.3: +react-error-boundary@^3.1.3, react-error-boundary@^3.1.4: version "3.1.4" resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-3.1.4.tgz#255db92b23197108757a888b01e5b729919abde0" integrity sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA== @@ -15413,7 +15076,7 @@ react-router-dom@^6.0.0: history "^5.2.0" react-router "6.2.2" -react-router@5.2.1: +react-router@5.2.1, react-router@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.1.tgz#4d2e4e9d5ae9425091845b8dbc6d9d276239774d" integrity sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ== @@ -15719,7 +15382,7 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: call-bind "^1.0.2" define-properties "^1.1.3" -regexpp@^3.1.0, regexpp@^3.2.0: +regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== @@ -16191,7 +15854,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.x, semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: +semver@7.x, semver@^7.1.1, semver@^7.1.3, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -16448,15 +16111,6 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - slide@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" @@ -16832,7 +16486,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -"string.prototype.matchall@^4.0.0 || ^3.0.1", string.prototype.matchall@^4.0.5, string.prototype.matchall@^4.0.6: +"string.prototype.matchall@^4.0.0 || ^3.0.1", string.prototype.matchall@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== @@ -16925,11 +16579,6 @@ strip-bom@^4.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== -strip-comments@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b" - integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw== - strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -17084,17 +16733,6 @@ synchronous-promise@^2.0.15: resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.15.tgz#07ca1822b9de0001f5ff73595f3d08c4f720eb8e" integrity sha512-k8uzYIkIVwmT+TcglpdN50pS2y1BDcUnBPK9iJeGu0Pl1lOI8pD6wtzgw91Pjpe+RxtTncw32tLxs/R0yNL2Mg== -table@^6.0.9: - version "6.8.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" - integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -17505,7 +17143,7 @@ ts-pnp@^1.1.6: resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== -tsconfig-paths-webpack-plugin@^3.5.1, tsconfig-paths-webpack-plugin@^3.5.2: +tsconfig-paths-webpack-plugin@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.5.2.tgz#01aafff59130c04a8c4ebc96a3045c43c376449a" integrity sha512-EhnfjHbzm5IYI9YPNVIxx1moxMI4bpHD2e0zTXeDNQcwjjRaGepP7IhTHJkyDBG0CAOoxRfe7jCG630Ou+C6Pw== @@ -17514,20 +17152,20 @@ tsconfig-paths-webpack-plugin@^3.5.1, tsconfig-paths-webpack-plugin@^3.5.2: enhanced-resolve "^5.7.0" tsconfig-paths "^3.9.0" -tsconfig-paths@^3.11.0, tsconfig-paths@^3.9.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.13.0.tgz#f3e9b8f6876698581d94470c03c95b3a48c0e3d7" - integrity sha512-nWuffZppoaYK0vQ1SQmkSsQzJoHA4s6uzdb2waRpD806x9yfq153AdVsWz4je2qZcW+pENrMQXbGQ3sMCkXuhw== +tsconfig-paths@^3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" + integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.1" minimist "^1.2.0" strip-bom "^3.0.0" -tsconfig-paths@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" - integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg== +tsconfig-paths@^3.9.0: + version "3.13.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.13.0.tgz#f3e9b8f6876698581d94470c03c95b3a48c0e3d7" + integrity sha512-nWuffZppoaYK0vQ1SQmkSsQzJoHA4s6uzdb2waRpD806x9yfq153AdVsWz4je2qZcW+pENrMQXbGQ3sMCkXuhw== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.1" @@ -17642,7 +17280,7 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.4.2, typescript@^4.6.2: +typescript@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== @@ -17876,6 +17514,13 @@ url@^0.11.0: punycode "1.3.2" querystring "0.2.0" +use-clipboard-copy@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/use-clipboard-copy/-/use-clipboard-copy-0.2.0.tgz#e1f31f2b21e369bc79b5d7b358e2c8aece6ef264" + integrity sha512-f0PMMwZ2/Hh9/54L12capx4s6ASdd6edNJxg2OcqWVNM8BPvtOSmNFIN1Dg/q//fPp8MpUZceHfr7cnWOS0RxA== + dependencies: + clipboard-copy "^3.0.0" + use-composed-ref@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.2.1.tgz#9bdcb5ccd894289105da2325e1210079f56bf849" @@ -18197,7 +17842,7 @@ webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@^4.1.0, webpack-dev-server@^4.5.0: +webpack-dev-server@^4.5.0: version "4.7.4" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz#d0ef7da78224578384e795ac228d8efb63d5f945" integrity sha512-nfdsb02Zi2qzkNmgtZjkrMOcXnYZ6FLKcQwpxT7MvmHKc+oTtDsBju8j+NMyAygZ9GW1jMEUpy3itHtqgEhe1A== @@ -18233,7 +17878,7 @@ webpack-dev-server@^4.1.0, webpack-dev-server@^4.5.0: webpack-dev-middleware "^5.3.1" ws "^8.4.2" -webpack-favicons@^1.0.7, webpack-favicons@^1.3.8: +webpack-favicons@^1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/webpack-favicons/-/webpack-favicons-1.3.8.tgz#cc986bf8f4cd7629af44a726ca142e14c66e7be5" integrity sha512-c40JTAUOorQSle2X1p5eRBpNl/zWw4rqR5EvCvLGZqMaXHUtJM/waCLgz0H4Pg1nXvvqV/LoYoqSvoAI0WiD0g== @@ -18325,36 +17970,6 @@ webpack@4: watchpack "^1.7.4" webpack-sources "^1.4.1" -webpack@^5.52.0, webpack@^5.9.0: - version "5.70.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.70.0.tgz#3461e6287a72b5e6e2f4872700bc8de0d7500e6d" - integrity sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.9.2" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" - webpack-sources "^3.2.3" - webpack@^5.64.3: version "5.69.1" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.69.1.tgz#8cfd92c192c6a52c99ab00529b5a0d33aa848dc5" @@ -18385,6 +18000,36 @@ webpack@^5.64.3: watchpack "^2.3.1" webpack-sources "^3.2.3" +webpack@^5.9.0: + version "5.70.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.70.0.tgz#3461e6287a72b5e6e2f4872700bc8de0d7500e6d" + integrity sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.9.2" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-better-errors "^1.0.2" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.3.1" + webpack-sources "^3.2.3" + websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" @@ -18643,15 +18288,7 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml-loader@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/yaml-loader/-/yaml-loader-0.6.0.tgz#fe1c48b9f4803dace55a59a1474e790ba6ab1b48" - integrity sha512-1bNiLelumURyj+zvVHOv8Y3dpCri0F2S+DCcmps0pA1zWRLjS+FhZQg4o3aUUDYESh73+pKZNI18bj7stpReow== - dependencies: - loader-utils "^1.4.0" - yaml "^1.8.3" - -yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2, yaml@^1.8.3: +yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==