From 11e2ff8e90182752dab40600753371ecb49ab612 Mon Sep 17 00:00:00 2001 From: LironEr Date: Wed, 2 Jun 2021 21:50:23 +0300 Subject: [PATCH] Add service and website to repo & new BundleMon version (#32) ## BREAKING CHANGES - GitHub integration: - `github-pr` output name to changed to `github` - `statusCheck` option in `github` output options changed to `commitStatus` - [Install BundleMon GitHub App](https://github.com/apps/bundlemon), `BUNDLEMON_GITHUB_TOKEN` env var is not needed anymore and it wont work. - remove `--local` / `onlyLocalAnalyze` option, will run in local mode if `CI` environment variable doesn't exists ## Features - Add `checkRun` option to `github` output, will create a GitHub check run. default `false` --- .dockerignore | 9 + .eslintignore | 4 - .eslintrc.json | 25 +- .../workflows/{build.yml => build-web.yml} | 27 +- .github/workflows/pr-build-test.yml | 29 - .github/workflows/pr-checks.yml | 98 + .gitignore | 4 +- Dockerfile | 26 + README.md | 31 +- assets/check-run.png | Bin 0 -> 398659 bytes docker-compose.dev.yml | 30 + docs/cli-flags.md | 1 - docs/output.md | 32 +- lerna.json | 2 +- package.json | 26 +- packages/bundlemon-utils/package.json | 8 +- packages/bundlemon-utils/src/index.ts | 2 +- packages/bundlemon-utils/src/textUtils.ts | 77 + packages/bundlemon/.bundlemonrc.json | 24 - packages/bundlemon/bin/bundlemon.js | 1 + packages/bundlemon/package.json | 7 +- packages/bundlemon/src/cli/index.ts | 9 +- packages/bundlemon/src/cli/types.ts | 1 - .../__snapshots__/consts.spec.ts.snap | 4 +- packages/bundlemon/src/common/consts.ts | 4 +- packages/bundlemon/src/common/logger.ts | 6 +- packages/bundlemon/src/common/service.ts | 10 +- .../src/main/__tests__/index.spec.ts | 18 +- .../src/main/__tests__/initializer.spec.ts | 33 +- .../__tests__/analyzeLocalFiles.spec.ts | 50 +- packages/bundlemon/src/main/index.ts | 5 +- packages/bundlemon/src/main/initializer.ts | 13 +- .../outputs/__tests__/outputManager.spec.ts | 14 +- .../src/main/outputs/outputManager.ts | 4 +- .../src/main/outputs/outputs/console.ts | 47 +- .../src/main/outputs/outputs/github.ts | 139 + .../src/main/outputs/outputs/githubPr.ts | 125 - .../src/main/outputs/outputs/index.ts | 2 +- packages/bundlemon/src/main/outputs/utils.ts | 2 +- .../report/__tests__/generateReport.spec.ts | 63 +- .../src/main/report/generateReport.ts | 21 +- .../src/main/report/serviceHelper.ts | 23 - packages/bundlemon/src/main/types.ts | 24 +- .../src/main/utils/__tests__/configUtils.ts | 55 +- packages/bundlemon/src/main/utils/ci/index.ts | 6 +- .../src/main/utils/ci/providers/circleCI.ts | 1 + .../src/main/utils/ci/providers/codefresh.ts | 1 + .../src/main/utils/ci/providers/github.ts | 1 + .../src/main/utils/ci/providers/travis.ts | 1 + packages/bundlemon/src/main/utils/ci/types.ts | 1 + .../bundlemon/src/main/utils/configUtils.ts | 107 +- .../src/main/utils/validationUtils.ts | 8 +- service/.eslintrc.json | 4 + service/.gitignore | 2 + service/.vercelignore | 7 + service/api/serverless.js | 9 + service/package.json | 42 + service/public/index.html | 6 + service/scripts/generateSchemas.js | 34 + service/src/app.ts | 55 + service/src/consts/commitRecords.ts | 6 + service/src/consts/schemas.ts | 620 ++ .../controllers/commitRecordsController.ts | 78 + service/src/controllers/githubController.ts | 175 + service/src/controllers/projectsController.ts | 18 + .../utils/markdownReportGenerator.ts | 237 + .../src/controllers/utils/markdownUtils.ts | 44 + service/src/framework/env.ts | 13 + service/src/framework/github.ts | 186 + service/src/framework/mongo.ts | 200 + service/src/routes/api/index.ts | 11 + service/src/routes/api/v1.ts | 75 + service/src/routes/index.ts | 12 + service/src/types.ts | 10 + service/src/types/schemas/commitRecords.ts | 42 + service/src/types/schemas/common.ts | 25 + service/src/types/schemas/githubOutput.ts | 61 + service/src/types/schemas/index.ts | 3 + service/src/utils/hashUtils.ts | 22 + service/tsconfig.json | 17 + service/vercel.json | 8 + tsconfig.json | 7 +- website/.bundlemonrc.json | 25 + website/.eslintrc.json | 23 + website/babel.config.json | 12 + website/dev.env | 1 + website/package.json | 54 + website/prod.env | 1 + website/public/_redirects | 1 + website/public/favicon.ico | Bin 0 -> 15086 bytes website/public/index.html | 16 + .../images/build-status-fail-max-size.png | Bin 0 -> 35526 bytes .../static/images/build-status-pass.png | Bin 0 -> 31342 bytes website/public/static/images/pr-comment.png | Bin 0 -> 312559 bytes website/src/Router.tsx | 14 + website/src/assets/Logo.svg | 1 + website/src/components/Layout.tsx | 54 + .../components/ReportChart/ReportChart.tsx | 113 + .../ReportChart/components/CustomLegend.tsx | 23 + .../ReportChart/components/Icon.tsx | 31 + .../components/LegendDataTable.tsx | 152 + .../ReportChart/components/types.ts | 7 + website/src/components/ReportChart/index.ts | 1 + .../ReportSummary/ReportSummary.tsx | 27 + .../src/components/ReportSummary/index.tsx | 1 + .../components/ReportTable/ReportTable.tsx | 173 + .../components/ChangePercentCell.tsx | 21 + .../ReportTable/components/ChangeSizeCell.tsx | 21 + .../ReportTable/components/index.ts | 2 + website/src/components/ReportTable/index.ts | 1 + website/src/components/Table/Table.tsx | 19 + website/src/components/Table/index.ts | 2 + website/src/consts/commitRecords.ts | 6 + website/src/consts/config.ts | 1 + website/src/consts/theme.ts | 5 + website/src/hooks/index.ts | 1 + website/src/hooks/useOnMount.ts | 6 + website/src/index.tsx | 20 + website/src/pages/CreateProjectPage.tsx | 81 + website/src/pages/HomePage.tsx | 41 + website/src/services/bundlemonService.ts | 24 + website/tsconfig.json | 17 + website/typings/assets.d.ts | 6 + website/webpack/webpack.base.config.js | 44 + website/webpack/webpack.config.js | 16 + website/webpack/webpack.dev.config.js | 20 + website/webpack/webpack.prod.config.js | 31 + yarn.lock | 6262 ++++++++++++++++- 128 files changed, 9929 insertions(+), 738 deletions(-) create mode 100644 .dockerignore delete mode 100644 .eslintignore rename .github/workflows/{build.yml => build-web.yml} (53%) delete mode 100644 .github/workflows/pr-build-test.yml create mode 100644 .github/workflows/pr-checks.yml create mode 100644 Dockerfile create mode 100644 assets/check-run.png create mode 100644 docker-compose.dev.yml create mode 100644 packages/bundlemon-utils/src/textUtils.ts delete mode 100644 packages/bundlemon/.bundlemonrc.json create mode 100644 packages/bundlemon/src/main/outputs/outputs/github.ts delete mode 100644 packages/bundlemon/src/main/outputs/outputs/githubPr.ts delete mode 100644 packages/bundlemon/src/main/report/serviceHelper.ts create mode 100644 service/.eslintrc.json create mode 100644 service/.gitignore create mode 100644 service/.vercelignore create mode 100644 service/api/serverless.js create mode 100644 service/package.json create mode 100644 service/public/index.html create mode 100644 service/scripts/generateSchemas.js create mode 100644 service/src/app.ts create mode 100644 service/src/consts/commitRecords.ts create mode 100644 service/src/consts/schemas.ts create mode 100644 service/src/controllers/commitRecordsController.ts create mode 100644 service/src/controllers/githubController.ts create mode 100644 service/src/controllers/projectsController.ts create mode 100644 service/src/controllers/utils/markdownReportGenerator.ts create mode 100644 service/src/controllers/utils/markdownUtils.ts create mode 100644 service/src/framework/env.ts create mode 100644 service/src/framework/github.ts create mode 100644 service/src/framework/mongo.ts create mode 100644 service/src/routes/api/index.ts create mode 100644 service/src/routes/api/v1.ts create mode 100644 service/src/routes/index.ts create mode 100644 service/src/types.ts create mode 100644 service/src/types/schemas/commitRecords.ts create mode 100644 service/src/types/schemas/common.ts create mode 100644 service/src/types/schemas/githubOutput.ts create mode 100644 service/src/types/schemas/index.ts create mode 100644 service/src/utils/hashUtils.ts create mode 100644 service/tsconfig.json create mode 100644 service/vercel.json create mode 100644 website/.bundlemonrc.json create mode 100644 website/.eslintrc.json create mode 100644 website/babel.config.json create mode 100644 website/dev.env create mode 100644 website/package.json create mode 100644 website/prod.env create mode 100644 website/public/_redirects create mode 100644 website/public/favicon.ico create mode 100644 website/public/index.html create mode 100644 website/public/static/images/build-status-fail-max-size.png create mode 100644 website/public/static/images/build-status-pass.png create mode 100644 website/public/static/images/pr-comment.png create mode 100644 website/src/Router.tsx create mode 100644 website/src/assets/Logo.svg create mode 100644 website/src/components/Layout.tsx create mode 100644 website/src/components/ReportChart/ReportChart.tsx create mode 100644 website/src/components/ReportChart/components/CustomLegend.tsx create mode 100644 website/src/components/ReportChart/components/Icon.tsx create mode 100644 website/src/components/ReportChart/components/LegendDataTable.tsx create mode 100644 website/src/components/ReportChart/components/types.ts create mode 100644 website/src/components/ReportChart/index.ts create mode 100644 website/src/components/ReportSummary/ReportSummary.tsx create mode 100644 website/src/components/ReportSummary/index.tsx create mode 100644 website/src/components/ReportTable/ReportTable.tsx create mode 100644 website/src/components/ReportTable/components/ChangePercentCell.tsx create mode 100644 website/src/components/ReportTable/components/ChangeSizeCell.tsx create mode 100644 website/src/components/ReportTable/components/index.ts create mode 100644 website/src/components/ReportTable/index.ts create mode 100644 website/src/components/Table/Table.tsx create mode 100644 website/src/components/Table/index.ts create mode 100644 website/src/consts/commitRecords.ts create mode 100644 website/src/consts/config.ts create mode 100644 website/src/consts/theme.ts create mode 100644 website/src/hooks/index.ts create mode 100644 website/src/hooks/useOnMount.ts create mode 100644 website/src/index.tsx create mode 100644 website/src/pages/CreateProjectPage.tsx create mode 100644 website/src/pages/HomePage.tsx create mode 100644 website/src/services/bundlemonService.ts create mode 100644 website/tsconfig.json create mode 100644 website/typings/assets.d.ts create mode 100644 website/webpack/webpack.base.config.js create mode 100644 website/webpack/webpack.config.js create mode 100644 website/webpack/webpack.dev.config.js create mode 100644 website/webpack/webpack.prod.config.js diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..c3cb522 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +.git +*Dockerfile* +*docker-compose* +node_modules +*.log +build +*.tsbuildinfo +*.md +.next \ No newline at end of file diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 1727bdf..0000000 --- a/.eslintignore +++ /dev/null @@ -1,4 +0,0 @@ -**/node_modules -**/build -**/dist -pacakges/*/lib/ diff --git a/.eslintrc.json b/.eslintrc.json index fa3ab4b..7dcfdb4 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,20 +1,17 @@ { - "extends": ["eslint:recommended", "plugin:prettier/recommended"], + "extends": [ + "eslint:recommended", + "plugin:prettier/recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended" + ], "env": { "node": true }, "parserOptions": { "ecmaVersion": 2018, "sourceType": "module" }, + "ignorePatterns": ["**/node_modules", "**/build", "**/dist", "pacakges/*/lib/", "coverage", "*.svg"], "overrides": [ - { - "files": ["**/*.ts"], - "parser": "@typescript-eslint/parser", - "extends": ["plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended"], - "rules": { - "@typescript-eslint/ban-ts-comment": "off", - "@typescript-eslint/no-unused-vars": ["error", { "ignoreRestSiblings": true, "argsIgnorePattern": "^_" }] - } - }, { "files": ["**/__tests__/**/*.spec.ts"], "extends": ["plugin:jest/recommended"], @@ -24,5 +21,11 @@ "@typescript-eslint/no-var-requires": "off" } } - ] + ], + "rules": { + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-unused-vars": ["error", { "ignoreRestSiblings": true, "argsIgnorePattern": "^_" }], + "@typescript-eslint/explicit-module-boundary-types": "off", + "@typescript-eslint/no-explicit-any": "off" + } } diff --git a/.github/workflows/build.yml b/.github/workflows/build-web.yml similarity index 53% rename from .github/workflows/build.yml rename to .github/workflows/build-web.yml index 8bc7981..bffb11e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build-web.yml @@ -1,4 +1,4 @@ -name: Build +name: Build web on: push: @@ -19,31 +19,20 @@ jobs: - name: Install dependencies run: yarn + - name: Build packages + run: yarn build-packages + - name: Build + working-directory: ./website run: yarn build - - name: Test - run: yarn test - - - uses: codecov/codecov-action@v1 - with: - token: ${{ secrets.CODECOV_TOKEN }} - file: ./coverage/coverage-final.json - - - name: Lint - run: yarn lint - - - name: Type check - run: yarn type-check - - name: override CI_COMMIT_SHA if: github.event_name == 'pull_request' run: echo "CI_COMMIT_SHA=${{ github.event.pull_request.head.sha}}" >> $GITHUB_ENV - name: Run bundlemon - working-directory: ./packages/bundlemon + working-directory: ./website run: yarn bundlemon env: - BUNDLEMON_PROJECT_ID: ${{ secrets.BUNDLEMON_PROJECT_ID }} - BUNDLEMON_PROJECT_APIKEY: ${{ secrets.BUNDLEMON_PROJECT_APIKEY }} - BUNDLEMON_GITHUB_TOKEN: ${{ secrets.BUNDLEMON_GITHUB_TOKEN }} + BUNDLEMON_PROJECT_ID: ${{ secrets.WEBSITE_BUNDLEMON_PROJECT_ID }} + BUNDLEMON_PROJECT_APIKEY: ${{ secrets.WEBSITE_BUNDLEMON_PROJECT_APIKEY }} diff --git a/.github/workflows/pr-build-test.yml b/.github/workflows/pr-build-test.yml deleted file mode 100644 index e342fa6..0000000 --- a/.github/workflows/pr-build-test.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: PR build and test - -on: - pull_request: - types: [synchronize, opened, reopened] - -jobs: - build: - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [10.x, 12.x] - - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2-beta - with: - node-version: ${{ matrix.node-version }} - - - name: Install dependencies - run: yarn - - - name: Build - run: yarn build - - - name: Test - run: yarn test diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml new file mode 100644 index 0000000..52c6830 --- /dev/null +++ b/.github/workflows/pr-checks.yml @@ -0,0 +1,98 @@ +name: PR checks + +on: + pull_request: + types: [synchronize, opened, reopened] + +jobs: + packages: + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + node-version: [10.x, 12.x, 14.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v2-beta + with: + node-version: ${{ matrix.node-version }} + + - name: Install dependencies + run: yarn + + - name: Build + run: yarn build-packages + + - name: Test + run: yarn test + + - uses: codecov/codecov-action@v1 + if: ${{ matrix.node-version == '12.x' }} # run this step only one time + with: + token: ${{ secrets.CODECOV_TOKEN }} + file: ./coverage/coverage-final.json + + - name: Lint + if: ${{ matrix.node-version == '12.x' }} # run this step only one time + run: yarn lint-packages + + - name: Type check + if: ${{ matrix.node-version == '12.x' }} # run this step only one time + run: yarn type-check-packages + + website: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Use Node.js 12 + uses: actions/setup-node@v2-beta + with: + node-version: '12' + + - name: Install dependencies + run: yarn + + - name: Build packages + run: yarn build-packages + + - name: type check + working-directory: ./website + run: yarn type-check + + - name: Lint + working-directory: ./website + run: yarn lint + + service: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Use Node.js 12 + uses: actions/setup-node@v2-beta + with: + node-version: '12' + + - name: Install dependencies + run: yarn + + - name: Build packages + run: yarn build-packages + + - name: type check + working-directory: ./service + run: yarn type-check + + - name: Lint + working-directory: ./service + run: yarn lint + + - name: Build + working-directory: ./service + run: yarn build \ No newline at end of file diff --git a/.gitignore b/.gitignore index 4dba52a..608d882 100644 --- a/.gitignore +++ b/.gitignore @@ -105,4 +105,6 @@ dist .vscode packages/*/lib examples -.DS_STORE \ No newline at end of file +.DS_STORE +build +.vercel diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d2da8a5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +FROM node:14-alpine + +WORKDIR /app + +EXPOSE 3333 + +COPY package.json yarn.lock ./ +COPY service/package.json ./service/ +COPY packages/bundlemon-utils/package.json ./packages/bundlemon-utils/ + +RUN yarn + +COPY tsconfig.json ./ + +WORKDIR /app/packages/bundlemon-utils + +COPY packages/bundlemon-utils/ . + +RUN yarn build + +WORKDIR /app/service + +COPY service/ . + +CMD ["yarn", "start:watch"] + diff --git a/README.md b/README.md index c865dd8..89006ef 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ BundleMon helps you achieve that by constantly monitoring your bundle size on ev - Set max increase allowed in percentage from base branch, will fail build if exceeded - Supports multiple CI - Integrates with Github, can post build status & comment with detailed information -- History report (Still work in progress) [example](https://bundlemon.now.sh/projects/5f0628553998ea0008c3f6ee/reports?branch=master&resolution=days) +- History report - temporarily not available ## Guides @@ -67,7 +67,6 @@ BundleMon config can be placed in other places like: `.bundlemonrc`, `.bundlemon | groups | Sum all file sizes matching the pattern, rules applies to the sum of the files [Groups config](./docs/types.md#File) | `FileConfig[]` | - | | defaultCompression | Use compression before calculating file size | `"none"` \| `"gzip"` | `"gzip"` | | reportOutput | [Output options](./docs/output.md) | `(string \| [string, object])[]` | [] | -| onlyLocalAnalyze | Don't communicate with the service, just validate `maxSize` | `boolean` | `false` | | verbose | Print more details | `boolean` | `false` | ## CLI usage @@ -75,7 +74,6 @@ BundleMon config can be placed in other places like: `.bundlemonrc`, `.bundlemon You can also set some of the variables using CLI flags ``` -bundlemon --local bundlemon --config my-custom-config-path.json ``` @@ -85,7 +83,7 @@ bundlemon --config my-custom-config-path.json In order to save history and get differences from your main branches you will need to create a new project and setup environment variables. -- [Create new project](https://bundlemon.now.sh/create-project) and copy the project ID and API key +- [Create new project](https://app.bundlemon.dev/create-project) and copy the project ID and API key - Add the ID to `BUNDLEMON_PROJECT_ID` and the API key to `BUNDLEMON_PROJECT_APIKEY` environment variables in your CI ## Set additional environment variables @@ -94,6 +92,7 @@ In order to get BundleMon to work you'll need to set these environment variables > If you are using one of the supported CIs (GitHub Actions, Travis, CircleCI and Codefresh) you dont need to set anything. +- `CI=true` - `CI_REPO_OWNER` - github.com/LironEr/bundlemon `LironEr` - `CI_REPO_NAME` - github.com/LironEr/bundlemon `bundlemon` - `CI_BRANCH` - source branch name @@ -103,28 +102,36 @@ In order to get BundleMon to work you'll need to set these environment variables ## GitHub integration -BundleMon can post build status and a detailed comment on your PR. +BundleMon can create GitHub check run, post commit status and a detailed comment on your PR. +GitHub check run +
GitHub build status
GitHub detailed comment -``` +Just [Install BundleMon GitHub App](https://github.com/apps/bundlemon) + +Then add `github` to `reportOutput` + +```json +"reportOutput": ["github"] + +// override default options + "reportOutput": [ [ - "github-pr", + "github", { - "statusCheck": true, // Default true - "prComment": true // Default false + "checkRun": false, + "commitStatus": true, + "prComment": true } ] ] ``` -- [Authorize `BundleMon`](https://bundlemon.now.sh/setup-github) and copy the token -- Add the token to `BUNDLEMON_GITHUB_TOKEN` environment variable in your CI -> The token is not saved in BundleMon service, ONLY used to communicate with GitHub ## Using hash in file names? diff --git a/assets/check-run.png b/assets/check-run.png new file mode 100644 index 0000000000000000000000000000000000000000..ab3eec301c0d42ee13692b2eed54c3e030d607d6 GIT binary patch literal 398659 zcmb@u2UJsE_AgEcL7E6CT@X>Kbm^#6X#&!#^d2bz=~apdNC)Y?_nJ@w(mP16p|{W> zlmx=VneWV--+%emy!W4Bt($wfIrrSN_x|k9-us-h682tMmJpu`9}NwSP+m?-4Gj&K z2MrB}js)lKjtgtm-RZum_1m}a<=?(#c<%(Tu(mTtLz4@O*TU6S@1sc9QwuxCiz+_DedCIonGWD<+aSedw+HM9C^cTl^>=6p!PactmYd#0&j8w!0FvQ6;`b-0in{(uTffEtDO%+i_nZG80DSrcg~Se zKRXdUy+XfM6=}$OEC43VyY1IG=PH`{^r!v0;9S7Stg%3SpmYXL%okeTy;gWpI0q@%|-py3EnSCdC zYQIRhc$Dbzl;+5vW*v?6)0h>GW$yiNax1*(4+ABhJV5UnZT{}BO8Pti5%pFVK8|fh z{EdQeuopAx2`8E=13gNUXfTGzT>&R5Q|2VX4gDKGy};y5gD}yAlr3NXYr}-$OlIzH zkKTQI8cas(NG3{h(UY^n`$)hoH3CT_gPcu2N*Y!EEZO*On_(gK>5FJz@&WBp^s5g3 z$Clp7+zz-xEk`7xXw`2mQo~ZvC>O{OE6cA(YbYn2_#I1}EN@aoLwGK;H>pIvvSH`l z&%sisX-zNM&)w(m%r4$egsb-a;Qyd;Fxoqf0vS!{;2{euII5&)(Dxp?(uf4oc2l7d zhy?SSY*jI_iq;0x5te4X1{`A^ufL}26GUB7WfZ?-)weZh(wDI6mdvu!&9Vt}WEsdG zU=~_^LxJmqEybSx;iVJSz~ba0A=;#%^vw^CKAKBShQXQ);3)?>UeXd2>U&wkxyy)# z8`);>1FIQsC2J)b#`xq>Ci#L(4fbg=5DkhW{7LpPrt@W&liyr&^21ULkG3~^tl1?Rc3yQ#E{3yrwAS(AsvK$ekbX>2ZnYdbHsniscUNqG@ z%Q}e@jZk1MlVCJbj`BqCgs$s7m5twzEZ6PlaS=|V&-qBx{5CVyM@?MN!4J!%O2)*j z#5`!kLJXxvMlG$la9(nJ3)3;-d_=uwQl%}N5YbmPtNmEhU&9orO?F+tWlF0pcuvH! zdO!6`QyV``7|RNV7rr>PQ9wnH+Y0uSM z->TDoNr5DHa?e!Zh36A!HjMm&@U>^HXqES?*0;`?! zE_37a{y`R@Fp&AeTESYxdZ;#~Hqk|RF_KPErGWBR;xF56mhFpeK;7dxraJezH~T_! z8guZu#M%tldlx(4D`7I=S0Jkk(YF5R&Q#v^+>R6Q3S0v$aUtF@oZg=_-3IM+?UHYE zjLnz1$s87m%R`kV6pacYlD;XZdp9BXzkM89=E3@Q^=^Ei1Z2uPY5r*l^g=N`5 zfk3*q-fvYp%sQ-tHG*aDizGc7kL)wu67y1bKYm74|5UhN6DB>AYme;CM<=!V#%+-Ogj? zsC`xXPLr*q=hpWc5(>NdFRRUvZ~R#iW64G5@^qyhj}{92gbxWk@?ES)fj! z!R|%9onFX<2lC8X$B=-Rj{=VB(ZDdgbN zyd5O$E))1^Pak$70oHW*xm- zId(F6QM%l_6NM_}hUHh~^9F#Xou&v!Hb+}0d07&e+|Y=Upj{Fpz74nIW9K>2ISo-hkBrINh-auqNqg}J?=L)-~pQQ&w zts;f~Lcsgbh3Zun0YU5vv;m zjNy&3je+I{<(De%$kE0Nv%&R$$p3g+#+??Ip4!UP;^sAT$-gGT+syNhw_K?*ltco*+ljep?SYRjls>404YQqyoK^`~fgOui(<}~-4s~1wu@9G))kM$g)aY$$kLbKCaCYciFgPtd zJ=wg`T-B|vUZ1>eK+{$NeEC-Q~qbL%Ig_ zh{+%Fw!Ag-;um;TO#{wYzkz5&{J91r6sOHWxY6 z%x<0x9X80-FU(L?)wRx*gH5O%^~UOZ=3^T&5dJrBhlpZnH$=n_;tuv^$RQERN=s2S}owFV%UGvG?RQU!DvmBHf+u9vX!9Y8<#2WQy(E`9p$ zSXoL}lwk-RXK>iIQna;`;M;t!5bHbMZX|=MKCRqXDP{_mO`y%AGx$_{t9@LxWTE4H zah$qFtoN*LK|I=H^&PBnsy+5l0oltG;?B6@pOu?!i$$US#y{SMi__3Tqv zOB6A3Z?)NpfVEtJmx0if>V|HBTZ<_~1TMaD6WdxuFGtTRA?#y^cnIH7_I>RO`Np+H zOoRP$W^~UE4YhO+O^gr?NA&Ico{~c^%z(nfB22t%meN*AqEJCJV5K_kG-wEIFL20# zb3M3aw=n(D{rALCS^1>W^&w3^!f^niK@B%ITtjFK{OCujcZo+s737wwImbj0-6}o1 z)wVbY?+{1tgPXx8XAMo(%XbqOqg+ncVBBIn(e~*Z2wG|I*Pqf4hQHob9d_p0@)k-; zXsmbFcxYJYRA|_DSLk<#I6Cz|uVv7mqhbE-J_Z_Eh&3A4Uu~4{&cFY@-yOf7`TH3o z6XPE(aCtH@|8b2&_q!>3f&JLs>E0(f9cMH&3g+Jjy1d%cBQ!KgG3=fo$AJH!<4LHbtN+(fNv-#) z8=Cq zr;?JJjQC6cxxVhi{DO_w%f9!9^S`0~N;yBjLFtFhum5v}p=03_kbKvf`J(@ys{Xge zjib@flf$2X4*X96_8S)uDHs@PDhWXU1-$yTF`{GeP^uo`{5Np%oLy4V;v=OK>3;*T z(szL6%w8t^Z{Xs+_8l&Ma<2bZ{4yL1uUB8Ho%+9li_FS9TzoO;mHux4mf{|J(>Cq@ zi7xz={Z%&9uN0wN-=o$|(>N!lS%hzlF0C(%lqJTew}hFW{GGHUukhHJ20~#GKp}w6 zhz3S^X2k{&TwVHv=A_IZrNN6B`{r@6tjK<&D*x(*F{hvhe|M>i+itNwp z_ah}@sgz(+ZVnx^&F4A>Z+Y>W`6%=MF3f#%bb<-HME9{92|-C`X#h6BU925wX0K!V zJmYy!L;E)Q&W$*c?kj={;1)9jRlhE{&@uJ(O>>Nunxs#^{Wr!1g=^bJg zgQwc!nBuPvWJ3MoF-!H03)1u)D!u;F^}ovT{~3Rq9OYd=&h^E7<@*QU_y5RY%%snO zM;SzKnYMFhLd`zJpx$2%AAvAH8yIYY+CnDl{hv1fIM{!EbKB}~_B&{2`NNCQv4Z2< zFs|gPF}dxrO3gc4&j&DgF^s|H}XV(X4mbf?Uf}J|2;j*6yHId3EuC#^bckHqnF=mWqPyB zd!;BoB0T=D>XK~z`wOBWI6{AV>VMp8>;0XLnHd0v{{f%>BqQ@+xQmp;quSX26U%=v z!oRBW&y8ggev1zCaIXI!1O8X}|L?yT#k|W0JpH;^|L-69d)WBH>t0shMM@f->6Ds( zZ@+)5On*8&lJB#ae477-+|ECm`3{o3;H6ZKKS1&ilKdY<{Qbq5?!{ul^r( zCPs3X!Qxt#2K+xh_a{&?DHzX21Hu2>l%sWREGH7)@@KayIXeZb`58O665;t716#s3 zj2=5FjMgt4xuVU@ti3@y)rgE;viQqkIzvYSE9~s2B@wYt}%Aarjqa=~W z)=$bKsJ)h?up-GP=yb_S3d~?fJL?!;tKNC1YL(wxTwUE7Yn7@b`0Jm!8p(5wO#S}5 zp}cD`VHbRaacb7uDiw1KTO(UzY{+BDQ|Dl;2&rgjAtmZ2C12W-S&|{A_FxRrh$tzh zV{&r3?z}uc{y7ly8&YR^cM`NtnCW#G7;DZ@4HHSH6B^+az|JC!m0xKU1jbLDPoGU4 zN!2HCnDdH-rd{vf*k88`Q=R`Ek8PtQnb#tG!(?ng@g0-oLngzw~(1sPl=F z2PesCcVn-4ADfz1UjIcVhvZrH(btLik3Eh)S!9$+?r)mccyDFzTn(Xi2N@%q>arD1 zWB(*K<^w`Hy#6ga=)ENZD6#ZXbkByhSgG4a%d)pv>&-P6(i8dP^!lb;GIJS^o`fE@6`%pC1*8=_?DV zs2_IyI~hEp@pn%{PnsI_{S=vf;aP{KCg?PR3kKcx6(AnywD3ySTzDE2{N-;i^|69& zu0l?RKV9Jv4V`{sGC{qS?WD2UNl)<9JD6S**HMlm3!ZCtZpLGHKZOy;(vLX#^vRs{ z$n2F+DpkTxyE*Mtt+C9jnzdJ$_wWV>vseDcyKQ(BcQy;)5-<2;3M)x`=RJE*^ovSB zl7rU%y|J&|wK|6hBt{eIEMMuQ@4o^q6NoubCV^t1(e1Z?=gUW|81}1gD5WWO2Y}yR zF2rCb`EVXEt7T;+mk>6@u6zB(gqeC69c9;V-3#;*GroAfFlJKObl5D?iBj>gs)pg2 z*Hu3U0Qfzc(t7q%h59KA6bTAKl1G}~-Wk+`P0~HPA)r(u2776rCX8o#8TZ)K1R54r z$}j-4T^{!qHr&eb?>$>KC+Pe}6wo&4524s2{f(l`>pQAQfby?|{*jLFMy@~{k4anH zBP5oZm19EGvMzJtWxq`;Ap7kO(Jp$%hL+1qAtzbv+vjto?;Y+0SgmC6`MU|AzF(8%xsq`u2KWB<`2}S4a6jB`AFyJ-spDW_d~o zwjq{QzFzj6ZFeHxXnJ&q2z8FCZ{0@XKhDdL$2*hqbNZk%f$*ViI@A-&JiK^ss8@Sh zdz#;@Za5v1^Ey)kTRb5u=VbV_odEH`-C$`nF~Re!Xi+b#xBp-xtaPgkR+e)mf)qiT z-b9{6dHPI`yLjz~0VT@FtncaNE2c5>%u&;d;a)485)KUwi7m3ifXqi*opoWGLA}7f z&2@O+;ICWoZ6p!^fySE}$R|u_VYnLAA?=Lp8}u7Yx2(66+_Uv79`;PqV^Aa&%@dvR z@5u~a>n|v*$8Jwv1So`gf})id*_ltEA%loW8ek%zO;_{xv#McmeZ!P%y-8uFU zG>pI}M=CeA5Ro*<)-9Hs>@6M1_hf*2q!2w&VDLt6K_o_qon>HG0kewlK3kJN$s0U| zmuJ{^Qd@dtMV)E>y^A}@U)CHDpM0+AqnBJ8OR$)jhX#f{U4=Ad*fSZE84qtA^|L<> z@t3-acJ}M<0P5m<7<^dQQZPPg4zHgCSKa=)=!}`g zIQ@Br=x>~Fz76w?M!dTVK0VG)(=*N{1;6g!&uuHMAf)(>&es$}>AlV{?a=Ra^Ut5a&7R1-J+Q!&${9 zVBwh^M_9T|6H&d>A%H+6!_6{beewOnPm5unyhB#w*OCbCHLAsy_zoa1SoI&FxF#MO zp0U>2=xnH>@~-tXjpT^_H05ZljmIv=J{%DH=%qhPVBgBbOR`XF5g)PbNAf4-oh@^+ zCbHN$B_y2FX5=`KFe4fWAE%S|30I$9ZGb?-&)SJKz<4ga*vatZXRyK#DHQFsU?bOa zpnbwyH2(v^u7!g}KHng*k+caJD$4Hn zw4=68MW}ZZrpE|TV@cscgeX!+EWCAs89WTYcIdi;RF5T4-_QEBh0RsHK8iv{b9nwF zvbm&SuUqex)}gOk-k~xyL-!4X1*Irg2(O-HUHHT#D!bmWL69SfZWymgJ8Txu1^=v` z2JQ<40wEKJY4KZ}5k`+8&(HzCow)(&r8Pi&akXj8*>U3~B!MLp(59cvR<8ef;?lII zr#qaFnM=W7Y~n^zu?B4U%Ud->A>=^N0dlyzK~pi7bg?5YI9gA(~l3chK62*?t$Ws8?ucdBI3oTmNJ|E?q_WOVxz{=L)48|+Lu}`xR&DU4!e=7j)fAfn!EnN_N>B#|YNeTqT9Y#Bu z{V7k!i-Y)4i-rYB_F+)vuiLMMDH0puTkh)49e(6{V{w3!P0H7CLi=JIgS()vbpqk! zc`(+rHYNTA*qI5?q}7M>8+B?VI&6orhZ-{S{?z)Zj7gX!U1^Z*4sLspkP&?faHqnJBDAggf+|3ltv;dZX z0?F)StVFm}{l(&=hBvIv{=^G{l2Kza!gPflH;gWx->8JK0XU4j<_WdCThoDp0YX{5 z!6+PIi`w(goH<=xNQdnmOCvLDfc4{E!82iUZVMXDp;Bul> z<~&(>5cwib%A!2}t=p;Fx!akvtgnHgQHR8AXcDCGMq|;PsxAK}x`7-F-PZugZj_r! z6<>Sbw20B7_v_8;DHH%g4ucMZ8M*rIyGw&mvCS;xxjYxDu)_6);YexaxHTJ_66y2f zi}Q;kAoc?cY%CAG$Z8^cyYWL#_)_7;TV!W#lHcO=zPOPc2sM2BQa_U``l92aLm*98 zcT!K_gzi{QJ0o3z1p{pW{g4X@@$C>q&)z68g>@Z^hN>SW_{?OO9*$xvJ-mZ=FE zJ@4A3kddz$q!I=V5^6CKp;u`)kqd`OH&V6p4fP;w(WoLJFyc8}s8ga>Vw6&6L{H0T z>_nBJ-+AS9g&?apV($0{^P~Mn=N>6=p=6Z``vXxw8&NcvfiAXBRO| zWo|z&YR#5T5w8daC-!j=F+2XQE4lMEdo{&+Ol>Rc-hDXfRbr6mA zwmvl#b8>Gm*vbD(j&B9u?a8LX53bRZE&_k?V|=OZ?eUU*uQ65r#7WA(m4L>TSf#0! z8?FB0kt1)sca*oRdg7b|2bUHX+ZXAlE~ZbX;k;KjH^Vf8UrqqN;Wgg>EYALS@$SFE zE=fE3sTF+l$pLxkiD*L1N$Q=)8PwGKnqPxEJEfkjMP!sqm}eM{sZZ`}dCWvZLJQmq?77Nk z?&c>{H*P53lcHAq+}x+qw~GzALoRA;uoE&Hpu2&&6e2C-P$%aorM( zxEwy2KCsEOc$EW>KOgkaVy;kn28VJ?e;Qq+*J92T3G8UPtD$lzRPXnuw6or>r>9bD z9dt>qBi1|DhY*KS4(?XSetWhCx;&r3>d-CcgEz_DjFRP!H?p4k-CJ9g76muFD(5fjS0H0L8>l{vi$6>>EB=Rb)fD>OY$B#w`#wRbE zvHSBxKlZCw3yPKJq&vfgZC@GP(m?^9M##NN(46XOBj7UR8`;$tU$C!@_cI7&Ni}_& zOQ&8W4vYPzIwlVpFIh5^FUvOGC3^#+b&!-o0+hma!tZ;_JcZ-#uEM&@yG9Q&0u4}U)Xn70w4v8RK!aV6o3vYpc~9Ndq11DH)x=mvO2pRH z)@AawzlZFVTW0Po@t@MQPj}0b&aaFNhV7&M;AhjR&DOIi6MU+fYtA@!<^x3@q@gDtEBX{2x|ARuB$wRWKxo0y zaxN;uw9F-*C7$J5oxm2Li*6Q|{q5Yo8TkX@RW-h!nf#T8I!L5JQQOp9Cv9{uTl=7~ z=CX|BWAX^U>gdR)V1E{>v$bN9uPjY;4xOrkKhv0}iPw1$?PV>waQmx;B7QuS)W~XV zX)+rpz7(r{5Lm#`vQSI|$GM~7jpG`(jF?KrPFWTgDdkjUx^no{cCmuu@GN$W(8UN4 z+?-xUy~5T|V5aAwd!%;c#GrbaNFYTGgFX7_vlSYN0BJkvxy}13$=Y}`J#<%qh#eqJ zx2n?9zaWO2F??qqB4y+;87a+jK z8-o*G@=sg0jx)z%Lk8}zFQZ$f#LvXfC_X2H*kqu+*OGjvSFczqN6JfXXwB+B%r${l zv3Rx)S!)+Ayf|nJ?36~leN&sa8>*Qkl`Vm6vv|%KGD^#f?!fEChsY*Rg9=p2N6V2C z;W}9B$E}Och1lDmmx>qOj|%x(P7e=v*MWU7IBEq|ya3g3s7Ag%xF$A#J&$2}aE;=-_y*+r7Va(XJoIl8_dTWAv>EP`a@>skNb>q_rA3G!C zxY`104q3w`Qr?S_@cKqX(hyXZR!A`UywhLryvyj)R9Q@zD0HvZ50+8S{al-GIc|+1 zGgDu;5(jQZQ3gIB=OAR%+Z&uOjE0t=PMPZGuFo`Es}9#}{i(@xIwLT*WiVVmR;KJu zcl7MMcz2DkQtt0R3bn0GBqikSC2)3>!*g`q&MBaay!qRE{E z)F#Rbg4~Ev8&KT@5PF@F;6LNw;N0jB7ho*qF!S#z7u^!3c+RhL#eM(h(d4LogQ=A4 zMM)p<+j6(M^Tu)(&#&^u9tE-6R^0=#8(T+Tu7;-$3fD{|?#1xrsTbHNvE7mzxU0yf zlzTx#OsUaVzX&sTJsUOFJVLfD7+x~H8Gk9eIrWzWp;8+!4WLGrPzUefw#$@RO8iGgzRgXoV<@XD2?(uSrKRPOdcc__{T_?s1!YT*e$6b_ler zZNtG#j(;igNh$5SU`xaEP=$h{n=cu(Q&^h3LC5a)Xj zl&HF(7(?GdEM|2LhKNq##?hB70XY@J*k;ZrPR^@Kbs&VFS&R1Glw^Qc~BOUK4E9j&Zym_gvsplhHyu!-5 zBc4ejk!#&K%^|za=HM!73Kv##7~`#?Ush8hm`XWJumzilx6uc6D;WqCG{MczX*e2C z)4Ls|bkf4HH;c`=YyHFb7f$&(xM4nv&RlLZ24W4c1;suxXV;P0%^)fU%GMIo`r_3c#fH3=-p+2uzUW>vUx{8{JtffW5jgrMbWCgWD%;bhE)sg|X|m{G@7_l+ z53jn>ZK;Y6Uu>|)Tm-1hQ?t7tVoFT+12J2+T#k&7HS@Np|CKeN>2x3bEy9sNt*; zqjvA5GIX0nv&|Qnw;_~%&_|t38f{2qSwCzuV#jr8P|ehH%G#nN6DGyv-7QuB%TZMD z^dw<;ppmzctx;q&_+=l2MO}v+Gf}{3!K+n3-;?$8v!v`(7Uo06#k|ux|3m?P_Vn}8 zg)*l^ZU?hC?dxrA*^Y`mGzLn;TW(ar zXXiKT$C~!63o$~i>NY;Q&R%uB<)~rQBZ*kR;b4=HyZ35-5YCU_8eP44dxzs4I*)V_ zm^BT5DJOgKbyK(K7`kxmHBGH4i?3ZVHFnR<&iNOKe}xXjJ2z-{PZ6 zOw&P!JrZiS%3%aG_Q=A~eus6*Gyu70v6hg`2=ekWYK_0@+V8`B=LpP4N2|h+;COWv@2e!4{pS#>qZ4=ofb)Lm~vt@zXdK#UjI{+eN+;0(d1HJEiOC0EIj=FeAK zIYi7jGIX4e-5eGcS%4yfd8h=iK}8A-%GVS!-jz7)HK#G+%L2T8eT_Um?2--)eMeA; zGPsVp+yGyPmyPRL*2*#^?j${7)Z!Q9N0qCts|cGM6W)vN(an&PSd6(BIw_5xe>h)g6L_kQcu&x(~+=7cqq)-4b)R<>i9!`xXk{(>`}RU&A_hw?LK~cumT! z1-tf~h2B;-G(czDddl8EZCM$*x3$}h48ZM>#U%VZ>hM7PKJR?p4Go#dPx>ubK*v+D z2jX<%k2f>EEs3$YjUsylTB&Qqe0_?9rZRU6cRNaYcDyBfZX;y6YvCF4Dnz;%(Q24H z0~W50E~VC*>219ui}|J@XW> z@0m5tHLhK{?q;%1Z26q89$?Mr9`@t)epPc(n3m!kQlLtuu~iTCIycNLwUmJ_5rHlXU+( znBm>REB4S=>}ZZul^8%~1{r*AT!konnqf{L%cb}PVz_YM!W zKIQTWI<4`7QCCV3Yebr`gv7>|qps1Z;fy)Ca*4u74f>L;D@+azABiRBt!uF}rN~7V zq=juBpbNMq$VO5G2o+2#Nk=sDcpMlYC~#cmowG%`D-ZU{-Y)kUJ000&-nIshgpBhK z2<;E7=-IU2s%`xH~u1xVlks^RETz8m~s4OYBJ-)ZR}^C5D%en+ZHq1 z3GS&`LPA2yU2o_wNB%ngo)5MmS=H&T(acUttkJ238+}6drv`UOA+LU1C6>S!^51lxhKww z>r0oBn}F$FKquDhtQs>{ zE|lg@J+%CjghI>-lSgbDU+NmA@WW<8g$T&6FQwZTLTYcjdoW4M#O1(r1L2yZ>!tSS z(Uw+^7O&=x`Y-OAcaiSFM&$ z3&%F0m|w4Hcb=P2T%VZZwOs?|;hM~y=huqQBfOe=9}~g}Dfz-?@Dv3k+-%50wt9Ri z-L`HL*N6J%)fDhL2WR~>UW(5Z2XHW2PFr`CI9S1S4Ue{FAhv-sUPzHW5wqmd+j@Sl_gY&zD0XV58|9s)%W})n z%}Xj(Hma3h=UW(11I!?%HE38=lsN{seJf1jv$xUu`VX>V-`v}St$a$of;#1CnD}Vl z!k}a3#Ry6!!O!+HugD;l^4u)fAqUrhI~5w8NayVjD3Bq)j1t~kPH!hRA34;3rZiu% zK@8tvD(X>J$v+)2q4x#Yd&Fiy$5Xv;xU6FpwH)@JSLj~BS@1Z|nt4!L zpLxc(V~oO4o+*@}$RL;YwpOno zD<+G|(-$j0^CFOZqbpgG>xc5w+O!5Ujhv5`QensaJ%|jZIwU^h{4A(1lvh-zuzD zsLH+t))m+!YAyQu!2NsThza$#=dq1MPcv`MKG#6-kyuB=3>X4Gxja3qr* zsP%{P_yM0GemJg)z+HZNsn>GQg~848>;vnQla@JCmkS@gAZwe4a6wmSx3b5Sm9 zJ*y3_seNjIaG$q$X4BBqfHSwEgDB619Sx@A&R(0SH!VR*Cs|}XmQ>pes=g@n-a2Os zIhwv%k356K+)l1-BS0T}WXf{p6yTmPA2-FZ%A2i#2d*=qP*`DSd{jz|uOdoknyW4y zT8^B(Gvjr>JVX%TxlXt^{9ax&vc}24m;S=Eooq$@qYpzq!M35Qn~&PiF~3CV!C}t! z)%j50f=4U!l+>U0G8wPmV;4D5PUfWx!}tg*S=nQ_9h60K);^PfGzg{a_VQ5!O`Gh0 zJ=+JX+so0yo7443YvjASmt=CJT0gW{PCB&qCRBs$^5=b}E#x1475(AExG$4l<)>Kk z{#V;@et2E>y4w)MK~$EyUYj8|E(w*;tkfgAhxgP#clrt}5IS$fcHi}^R@VHcx!FoC zh~-4_6|a;KtHqoFy=wfSra)vi=}PMXJqf>G&6QEf5~TPY^$c??Sw~9ElxMDU zXZta8r2cMkh9TYw+b@0Me9v#BIszWEh6Z28y=XVOuuamTE~*A74-t)n_ngkFh}x|@i0(rf;~;B(d8iR>#OT%d<-KG2uH5xFz2io3sbSTR z@_mF6kSW4p#hxz0#ReKanO&8_lQNxd22>onJ}oRpI87$H+ywIPnfn^adYvpJnK6zB zCI%!1ZhJ^G<>)dL+u!Qizu@Q2g38kFti?61=ON)X;xrEd%SHyLLsnA#_GWCeZ>9~$ z^*Tz9^rb(@`VAY!_$q+VluIsC7V`-S=A}_&3pu7Dp)~nx+CClAMI1k(MH~;KIizj+0DzMLeKJp# z3g{J^qQx}hHF8LKiHn3P5hc4-5iZ{{>)%rZ6Lfs5!OonK2^@wKpF<9OH4>d~zuIrl zF0^NW54Q?1KR-eomei9ELRXTCX-n!)Pfwkl@3twOEJCOUm=l%2KNBLp7frtw9~&X~ ziM=A571_B_wpW%rK=^@2mN0yr@}576G^u>;yb)>cFt<2AJ1@_>h!^Bw20eJDH&TCE z8Od4y*toFD{C zh>KmBctDPYTGN4Uw2`8uV85ZrNYT;-8vf_wC%xD!(pfNuj$fR@j60Ech~GP;jwdiE z%Ku4bJ@)I+ISa?->7g8$^e4xxD|_X5L}N=1z_}@1d3PZ_;<BYN)2hfr$hoO(V^-U0k4|GUT7Xz2jW)fwB0$gE6 zsgtP>??&b^h|2t-2Er#uZ(-lm-*bURT94MvF7{uG-xrdS6%dgWBR;x_(zv=?O-u|- zZa1daIKD}t-bh=O8GN0okCmQ$G8p$l{Upl5*_()GZeZllIx<2Elm;n-L_o*OTm&i! zrBM$JX$?!p%X%F4?KiAL#Doop8sN}A+Gg6bFr9pV`2LRkj_>yA54{Hs%3$vp_IJL& zHb=`%3yy`wPqVnkEWJ|5MWL=2>r&H*kNb{5mWhq1vsVraSt!Atom22GW(o1=$uMF} z;m{4?p*r2vYHc#Eq=cZcdMBHiO}+9bL88Uj3`K^m7j*^G z>8fl_Z=JKRepnb}C0cvTIQqy=((;Pu&)1>J&zEAG_;g6zE#@^W3{Hr#q*l;VQ~8vc znpm9dFJ298$)E=!J&+zoC;C0k<$cuxq0>&uo^&489UH?!cY&6!^e1ovHUrX;6j;R&8Uf^%AEEHHjKH8i~4aE+h; z_F#70O@%~iDu&;j&|tgh=yA(Hw82JSDZSUVx~>sQUj8;J>J2Gv4}WUuIIbSO zyhM7P5v8_g9^LenVT)Tnr%|cc&w16}N?2Pdx4V1nI(+97p0^}I96w+2GO=ZiB9rpf0IJw)Zl zU|QvU3wPV%VC1Wff7%w;uiDmy_nqX?ImW*I>D(4ayzdX)b`pNMyC1Hp6iV!>_-aHw z@?m>+N!HVl@4>t~98!GyWw-&yOu$!UR-icZDqnyS^@HmKb_rPH%!GAK?UeD(@e-C$ zQ*#0?V>dG@CIc+DYnyf``6ViZbl8Gij~du!KH1L?`*9I^hEo~xvjF5!{3UN*vqc72 zV%RezkbMUMw(wM_z9$b7^?FINdC-l2O~0EsqMxuZj0(B31WMXT+_L%jpy>HOoq#{* zqt|nMME@occEjLmH|WGWUe?S}C!g6XK1btAY{YhLGg4|>IH2FqQ-NqSR5<9Mw8DW1`f-uH>*r_wO3+puH(??bWttfV3#9 zl!@@}j!nxv{4s`j2OD&yT%P6T+29!y9I0Ota{7>TZ=z1bKtG^D|;zH-&tv7 z+|OLY4Sm2nO<(%L5t32Jq>&fKa7=`~TZTpfGrvF$! zF)2wq&ftXF_OdZ*smB$rU|2Rnxn~n3KK;_xpkl;L?*wPyZt>}F6Lq_UM;P`3zWD;7 zdh$kW7HMh7Y42}7KF>aR_uF=W%+x2ozp#zoE`!cibva58e4*Wli0^9QAzZf;x!bQ{ z|MO{e&9`V;j+&sNh$El!gj*&+NKiF!{V(d)r-ZcX(O^SF5I*XuYrA(3ppXgRa_UL z*Q}qa@1-|K+gCW*`n+;sHJk%+mK3Rua;e;2%NCq^-Saw)HirENX?%b%l|VVHsg2TY zQ#IrjA;iA_Qb(3+gY3Id!+=lsM zS6raZ_1Eo-4{AN$DM?eoV0)_3NzH3MTbsx-aa~`oj67QUG&-)<1-az$$zK0*p+--i z_vL*U+<;~=cVu0I8{e`kt;Bl%V(kY|ICOR;W@*de-GXQzFvxgkWqGVH>(ZiX$Rx)! zAtgE8$nEtafSSkOM_{W*xb>?i%ISw|4xG1TWGjCkeig{ZbvI#05B%oZ=_9-Ews)y$ zydKdPR+Mt~is-aQdW6<>wBYUhRdSiO`(Y1Zk6>ypazu$`I#t^{;NaHG9>>?q|K>0Y zo$vrO8nur5U_739?(q9f@deq~=8gT~4m1p#y>(&sI2kCF(3DXwuE($$y+(j*g37wO zn}oA{=#9SyPG@bc!{t+iXEFGqz6@;%rkB9z^Hto72}&WVmdigi(>+ZJM;yE9`B5`- zijv!894fVbN_tWqVcCAgi|~sB<<<=zessd83zTN?f32R`P}#S^ZDcV$Nlin zn3r+RT<4tYoO4~z=k+Y`k2F=`!UYDs!6tkd@V%#QMf52x3UtTr-~??oB-pUNJxi8x zMtdJRx50e7T9TNP8H>)vBafDo#u4eF{3F9THbhY|Rtx2YZeJ6RPo%)wI7rN^$uMkp z`WYm*t-ou}ktam#RW`C^(Af=-`acG5QYNXnC zLP*A)9&bC1jtsSicuf31;gO^M{7ra96w6RGEI#S1MYxUiQsc5um9PHL6U(dHn1z|t z)as-*I?2Mr!_&OcmE0i;6Mg7IvLWcId!Boq>_#+0hcGSuG=v-7L8^*mv&;V;@NxLi z|4dM&pD~$>d8|hjzoIaI6=Nd+k?lXgpnGQmv$5aNwA}7V=kMnp&|4=B;z=@}OuH!4 zDY9{U&aI&&a$k z-{tg~z1=6$*!seLRbMP>V9$p`3R$6AbhHoxco8q=^0?ep=?eava{xz7$xu!{hsKCQ z>B%s2^r3e|-d*N)&v3a~K5bf*Zro3fQYN=^SPfO)6q))hKJ!(+0?vP8#=X8s>aj0yo>5*VD)l=de*UExy*v6|X#2cG*cR6V8!k)gEU&ImW}}TS+l%Ia$ri zSw385+9jqE_{7_rBu?J^4Q%G7ee?(=*KtEto%>zSnI`@>p%xVMn!)R3`S)ng(5+zH zlki&x#MEpRvo(5(b6}3iQ1OAd+T8Xx9T@8jB%}UHqY~XGu*+la(qX!j6+gzW`+33r zvMuN%G3qPSY8G!;th8sDZM={}oX6vD6_+%p8`-8!hC^M3KwOEZHp^po3e=8SlB0*z zAF25T(@W7{XJzBYyBw#!!t^BMz)6upK@WB5rMQLVZ%@3-B;1=l)E_|ugrPjsk;QZG z#RY;seFUBiUVRTe&}uSXOi#%JHyBUMUg0Ve zPqh+;!_wy~?xc#95D7F;P~>%$K;FQ0{4%3s%lYmzU(_%=g{E7~3*A+*PvNw{Z-VBO zc*8`eNt&ewF>P{&JGwT?8NUB)4mxI0F5vmCftGWB;G4=SmXBF`?d0wv zXgFrBH`iP`R;|Tu(=8$S8%>X1;%^0M`OuP%ylRUQ3JnU(?7f-3BhP=(I-o_QWI1@W zaCWhF1fa2#r_|t`bS5Hthg!bNAG@u1MG#*ChkVPDp37X$?UdN-P27YP_tKymO-E;y zrzcayZHJ!9l&q3@zrOHw9vB=4k1q(YtGW5Z=pj|%D})0ijTSWjBi%B>9nCLMM)g93 z<39?;2t)Op)9a(Y;~5-VF0@?eJw;H^O;PJEUi$VeVfP6C<)(F+MC^_A#nexmAc{)56wk|@D}@n_Tr1@GB7DdDI5iC(t){& z3#D`M;KAx#Ota`lCrMG2816=>l@qHzC>R@ggvC1q@k*P3B*soD5%5!DVxw=b7j| z{U&sLE{KEaD{RrTF}I@J0hvIqSo)eZU#2OpeRKzSe0&m8;{A0W^@Y6X?%rbR|J)lL zX!|qJjBJRoY&v-mEAdue`F)rM(7?j3A_+9EsDurF(^TfJ8C{d^6Ah<1rP_}{j3fGU z72gKAtr>5sLMcvQtlbC%Nn;|E(EOsm5F&}tWn8#B&*fS_ko@|}FNuv;ZKI32h<&%J zqtBVq_)H!P!r0ILl_#7}Kxw25GQ#H(+`OoSL)WA~1F12`Bd>ziR`h844%YH2!Y&uP zeb)J0kmBv-v@~p6fgX@Z#sKHgaN?UJ z_Dx4S&~}Nqz^rBt$nrQ07-&prvB*!$wmIW`VRsttxBi|NwLlceZUW$!y(md3eEvJO zBiJ=MDIL9wYVOgwMUeUy6D`Q{q6Ee7R!v~K$ye)h$g9&AHhB7_I(FY>BfqsSH2@A& zhpi!2RRf%&ktt)r_`vS&YstarIEi~g?TdUpxyDV#xF5k(l7rA=H#1Moz5Ac!3`NTdtpcN-ZxnELOP8M^8AQ_jaEhmCGpio!Q=vS&g%l zny3WwvnKOiEKhRUW;~pF_>{+$bFaQ3D)9omxxV?vvX}}~9yGn`DKM1n)euN>SAwJR zsY&0R;h7P=>{p4Txw@kfi)TGb>jjq-zi7𝔔5Mf3+fBDK}p_U(Aui8@M2DznC*g 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%0A}sPZkyjJ3wDU@{>#r%JDuqG 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

CUWS7O%Q7 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

sAB} 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 bvgDJ@iNK2wUOTN3e=ZuCo-6y= + +#### `commitStatus` type: `boolean` default: `true` -Post build status +Post commit status -failed build status +failed commit status #### `prComment` -type: `boolean` default: `false` +type: `boolean` default: `true` Post comment on PR diff --git a/lerna.json b/lerna.json index 3f6d2cd..f351d2f 100644 --- a/lerna.json +++ b/lerna.json @@ -1,7 +1,7 @@ { "packages": ["packages/*"], "npmClient": "yarn", - "useWorkspaces": true, + "useWorkspaces": false, "version": "independent", "command": { "version": { diff --git a/package.json b/package.json index 22c1c98..6e3efa4 100644 --- a/package.json +++ b/package.json @@ -3,25 +3,27 @@ "license": "MIT", "scripts": { "test": "jest", - "build": "lerna run build --stream", - "lint": "lerna run lint --stream --parallel", - "type-check": "lerna run type-check --stream" + "build-packages": "lerna run build --stream", + "lint-packages": "lerna run lint --stream --parallel", + "lint-fix-packages": "lerna run lint:fix --stream --parallel", + "type-check-packages": "lerna run type-check --stream", + "start:service": "docker-compose -f docker-compose.dev.yml up --build" }, "devDependencies": { "@types/jest": "^26.0.0", - "@typescript-eslint/eslint-plugin": "^4.3.0", - "@typescript-eslint/parser": "^4.3.0", - "eslint": "^7.10.0", - "eslint-config-prettier": "^6.11.0", + "@typescript-eslint/eslint-plugin": "^4.24.0", + "@typescript-eslint/parser": "^4.24.0", + "eslint": "^7.27.0", + "eslint-config-prettier": "^8.3.0", "eslint-plugin-jest": "^23.17.1", "eslint-plugin-prettier": "^3.1.4", "husky": "^4.2.5", "jest": "^26.6.3", "lerna": "^3.22.1", "lint-staged": "^10.2.11", - "prettier": "^2.0.5", - "ts-jest": "^26.1.1", - "typescript": "^4.0.3" + "prettier": "^2.3.0", + "ts-jest": "^26.5.6", + "typescript": "^4.2.4" }, "engines": { "yarn": "^1.10.0" @@ -40,6 +42,8 @@ } }, "workspaces": [ - "packages/*" + "packages/*", + "website", + "service" ] } diff --git a/packages/bundlemon-utils/package.json b/packages/bundlemon-utils/package.json index a024360..28bf4c4 100644 --- a/packages/bundlemon-utils/package.json +++ b/packages/bundlemon-utils/package.json @@ -1,6 +1,6 @@ { "name": "bundlemon-utils", - "version": "0.2.0", + "version": "0.3.0", "description": "", "keywords": [], "author": "Liron Er", @@ -19,10 +19,14 @@ "build": "rimraf lib/ && tsc -p tsconfig.release.json && tsc -p tsconfig-cjs.json", "prepublishOnly": "yarn test && yarn lint && yarn build", "lint": "yarn eslint --config ../../.eslintrc.json --max-warnings=0 \"src/**/*.ts\"", + "lint:fix": "yarn lint --fix", "type-check": "tsc --noEmit" }, - "dependencies": {}, + "dependencies": { + "bytes": "^3.1.0" + }, "devDependencies": { + "@types/bytes": "^3.1.0", "rimraf": "^3.0.2" }, "files": [ diff --git a/packages/bundlemon-utils/src/index.ts b/packages/bundlemon-utils/src/index.ts index 39e3326..01c3aec 100644 --- a/packages/bundlemon-utils/src/index.ts +++ b/packages/bundlemon-utils/src/index.ts @@ -3,4 +3,4 @@ export * from './consts'; export { generateDiffReport } from './diffReport'; export * from './types'; -export * from './consts'; +export * as textUtils from './textUtils'; diff --git a/packages/bundlemon-utils/src/textUtils.ts b/packages/bundlemon-utils/src/textUtils.ts new file mode 100644 index 0000000..37141d2 --- /dev/null +++ b/packages/bundlemon-utils/src/textUtils.ts @@ -0,0 +1,77 @@ +import bytes from 'bytes'; +import { Status, FailReason } from './consts'; + +import type { Report, FileDetailsDiff } from './types'; + +export function getSignText(num: number): string { + return num > 0 ? '+' : ''; +} + +export function getDiffSizeText(size: number): string { + return `${getSignText(size)}${bytes(size)}`; +} + +export function getDiffPercentText(percent: number): string { + if (Number.isFinite(percent)) { + return `${getSignText(percent)}${percent}%`; + } + + return '-'; +} + +export function getLimitsCellText(file: FileDetailsDiff) { + const limits: string[] = []; + + if (file.maxSize) { + limits.push(bytes(file.maxSize)); + } + + if (file.maxPercentIncrease) { + limits.push(`+${file.maxPercentIncrease}%`); + } + + if (limits.length === 0) { + return '-'; + } + + return limits.join(' / '); +} + +export function getReportConclusionText(report: Report): string { + const { stats, status, files } = report; + + if (status === Status.Pass) { + return stats.diff.bytes === 0 + ? 'No change in files bundle size' + : `Total files change ${getDiffSizeText(stats.diff.bytes)} ${ + Number.isFinite(stats.diff.percent) ? getDiffPercentText(stats.diff.percent) : '' + }`; + } + + const fails = files.filter((f) => f.status === Status.Fail); + + if (fails.length > 1) { + return 'limits exceeded in multiple files'; + } + + const singleFailFile = fails[0]; + + if (!singleFailFile.failReasons) { + // Shouldn't happen + return 'check failed'; + } + + if (singleFailFile.failReasons.length > 1) { + return `multiple limits exceeded (${singleFailFile.path})`; + } else if (singleFailFile.failReasons.length === 1) { + if (singleFailFile.maxSize && singleFailFile.failReasons[0] === FailReason.MaxSize) { + return `${bytes(singleFailFile.size)} > ${bytes(singleFailFile.maxSize)} (${singleFailFile.path})`; + } else if (singleFailFile.maxPercentIncrease && singleFailFile.failReasons[0] === FailReason.MaxPercentIncrease) { + return `+${singleFailFile.diff.percent}% > +${singleFailFile.maxPercentIncrease}% (${singleFailFile.path})`; + } else { + return `some limits exceeded (${singleFailFile.path})`; + } + } else { + return 'check failed'; + } +} diff --git a/packages/bundlemon/.bundlemonrc.json b/packages/bundlemon/.bundlemonrc.json deleted file mode 100644 index 8097bf9..0000000 --- a/packages/bundlemon/.bundlemonrc.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "verbose": true, - "baseDir": "./lib", - "files": [ - { - "path": "**/*.js" - } - ], - "groups": [ - { - "path": "**/*" - } - ], - "defaultCompression": "none", - "reportOutput": [ - [ - "github-pr", - { - "statusCheck": true, - "prComment": true - } - ] - ] -} diff --git a/packages/bundlemon/bin/bundlemon.js b/packages/bundlemon/bin/bundlemon.js index dc2c88e..1d2b25a 100755 --- a/packages/bundlemon/bin/bundlemon.js +++ b/packages/bundlemon/bin/bundlemon.js @@ -1,3 +1,4 @@ #!/usr/bin/env node +// eslint-disable-next-line @typescript-eslint/no-var-requires require('../lib/cli').default(); diff --git a/packages/bundlemon/package.json b/packages/bundlemon/package.json index cd8a26d..7b8d112 100644 --- a/packages/bundlemon/package.json +++ b/packages/bundlemon/package.json @@ -1,6 +1,6 @@ { "name": "bundlemon", - "version": "0.3.2", + "version": "0.4.0", "description": "Monitor your bundle size", "keywords": [ "bundle", @@ -28,14 +28,15 @@ "build": "rimraf lib/ && tsc -p tsconfig.release.json", "prepublishOnly": "yarn test && yarn lint && yarn build", "lint": "yarn eslint --config ../../.eslintrc.json --max-warnings=0 \"src/**/*.ts\" \"bin/**/*.js\"", + "lint:fix": "yarn lint --fix", "type-check": "tsc --noEmit", "bundlemon": "bundlemon" }, "dependencies": { "axios": "^0.21.1", - "bundlemon-utils": "^0.2.0", + "bundlemon-utils": "^0.3.0", "bytes": "^3.1.0", - "chalk": "^4.1.0", + "chalk": "^4.1.1", "commander": "^6.1.0", "cosmiconfig": "^6.0.0", "gzip-size": "^5.1.1", diff --git a/packages/bundlemon/src/cli/index.ts b/packages/bundlemon/src/cli/index.ts index db93109..f1a8915 100644 --- a/packages/bundlemon/src/cli/index.ts +++ b/packages/bundlemon/src/cli/index.ts @@ -6,10 +6,7 @@ import { version } from '../common/consts'; import type { CliOptions } from './types'; import { loadConfigFile } from './configFile'; -program - .version(version) - .option('-c, --config [path]', 'Config file path') - .option('-l, --local', "Don't communicate with the service, just validate maxSize"); +program.version(version).option('-c, --config [path]', 'Config file path'); export default async (): Promise => { try { @@ -24,10 +21,6 @@ export default async (): Promise => { process.exit(1); } - if (options.local) { - config.onlyLocalAnalyze = true; - } - const report = await bundlemon(config); process.exit(report.status === Status.Pass ? 0 : 1); diff --git a/packages/bundlemon/src/cli/types.ts b/packages/bundlemon/src/cli/types.ts index 1af7033..fdd6779 100644 --- a/packages/bundlemon/src/cli/types.ts +++ b/packages/bundlemon/src/cli/types.ts @@ -1,4 +1,3 @@ export interface CliOptions { config?: string; - local?: boolean; } diff --git a/packages/bundlemon/src/common/__tests__/__snapshots__/consts.spec.ts.snap b/packages/bundlemon/src/common/__tests__/__snapshots__/consts.spec.ts.snap index 7e05641..e6accff 100644 --- a/packages/bundlemon/src/common/__tests__/__snapshots__/consts.spec.ts.snap +++ b/packages/bundlemon/src/common/__tests__/__snapshots__/consts.spec.ts.snap @@ -3,11 +3,11 @@ exports[`consts default snapshot 1`] = ` Object { "EnvVar": Object { - "githubToken": "BUNDLEMON_GITHUB_TOKEN", "projectApiKey": "BUNDLEMON_PROJECT_APIKEY", "projectId": "BUNDLEMON_PROJECT_ID", + "remoteFlag": "BUNDLEMON_REMOTE", "serviceURL": "BUNDLEMON_SERVICE_URL", }, - "serviceUrl": "https://bundlemon.now.sh", + "serviceUrl": "https://api.bundlemon.dev", } `; diff --git a/packages/bundlemon/src/common/consts.ts b/packages/bundlemon/src/common/consts.ts index 39bab67..2431122 100644 --- a/packages/bundlemon/src/common/consts.ts +++ b/packages/bundlemon/src/common/consts.ts @@ -1,11 +1,11 @@ export enum EnvVar { + remoteFlag = 'BUNDLEMON_REMOTE', projectId = 'BUNDLEMON_PROJECT_ID', projectApiKey = 'BUNDLEMON_PROJECT_APIKEY', serviceURL = 'BUNDLEMON_SERVICE_URL', - githubToken = 'BUNDLEMON_GITHUB_TOKEN', } -export const serviceUrl = process.env[EnvVar.serviceURL] || 'https://bundlemon.now.sh'; +export const serviceUrl = process.env[EnvVar.serviceURL] || 'https://api.bundlemon.dev'; // eslint-disable-next-line @typescript-eslint/no-var-requires const packageJSON = require('../../package.json'); diff --git a/packages/bundlemon/src/common/logger.ts b/packages/bundlemon/src/common/logger.ts index 8a9c3fa..81bbd1f 100644 --- a/packages/bundlemon/src/common/logger.ts +++ b/packages/bundlemon/src/common/logger.ts @@ -1,5 +1,5 @@ import * as util from 'util'; -import * as chalk from 'chalk'; +import chalk from 'chalk'; let _verbose = false; @@ -46,11 +46,11 @@ class Logger { }; private messageWithPrefix = (message: string) => { - return (this.prefix ? this.prefix + ' ' : '').concat(message); + return (this.prefix ? this.prefix + ': ' : '').concat(message); }; clone = (prefix: string) => { - const newLogger = new Logger(prefix); + const newLogger = new Logger((this.prefix ? `${this.prefix} - ` : '') + prefix); return newLogger; }; diff --git a/packages/bundlemon/src/common/service.ts b/packages/bundlemon/src/common/service.ts index 33b7627..14f579e 100644 --- a/packages/bundlemon/src/common/service.ts +++ b/packages/bundlemon/src/common/service.ts @@ -3,9 +3,10 @@ import { createLogger } from './logger'; import { serviceUrl, version } from './consts'; import type { CommitRecordPayload, CreateCommitRecordResponse } from 'bundlemon-utils'; +import type { ProjectIdentifiers } from '../main/types'; export const serviceClient = axios.create({ - baseURL: `${serviceUrl}/api/v1`, + baseURL: `${serviceUrl}/v1`, timeout: 7000, headers: { 'x-api-client-name': 'bundlemon-cli', @@ -13,11 +14,6 @@ export const serviceClient = axios.create({ }, }); -interface ProjectIdentifiers { - projectId: string; - apiKey: string; -} - function logError(err: Error | AxiosError, prefix: string) { const logger = createLogger(prefix); if ((err as AxiosError).isAxiosError) { @@ -59,7 +55,7 @@ export async function createCommitRecord( return res.data; } catch (err) { - logError(err, 'create commit record:'); + logError(err, 'create commit record'); } return undefined; diff --git a/packages/bundlemon/src/main/__tests__/index.spec.ts b/packages/bundlemon/src/main/__tests__/index.spec.ts index a12d20f..0b667c5 100644 --- a/packages/bundlemon/src/main/__tests__/index.spec.ts +++ b/packages/bundlemon/src/main/__tests__/index.spec.ts @@ -5,7 +5,8 @@ import { analyzeLocalFiles } from '../analyzer'; import { generateOutputs } from '../outputs'; import { generateReport } from '../report'; import { initializer } from '../initializer'; -import { Config, NormalizedConfig } from '../types'; +import { Config } from '../types'; +import { generateNormalizedConfigRemoteOn } from '../utils/__tests__/configUtils'; jest.mock('fs'); jest.mock('../../common/logger'); @@ -18,16 +19,6 @@ const config: Config = { files: [], }; -const normalizedConfig: NormalizedConfig = { - baseDir: 'some_dir', - files: [], - groups: [], - defaultCompression: Compression.Gzip, - onlyLocalAnalyze: false, - reportOutput: [], - verbose: false, -}; - const files: FileDetails[] = [{ path: 'bundle.js', compression: Compression.Gzip, pattern: '**/*.js', size: 1200 }]; const groups: FileDetails[] = [{ path: '*.css', compression: Compression.Gzip, pattern: '*.css', size: 500 }]; const report: Report = { @@ -64,6 +55,7 @@ describe('main', () => { describe('success', () => { test('files and groups exists', async () => { + const normalizedConfig = generateNormalizedConfigRemoteOn(); const mockedInitializer = mocked(initializer).mockResolvedValue(normalizedConfig); const analyzeResult = { files, groups }; const mockedAnalyzeLocalFiles = mocked(analyzeLocalFiles).mockResolvedValue(analyzeResult); @@ -80,6 +72,7 @@ describe('main', () => { }); test('only files', async () => { + const normalizedConfig = generateNormalizedConfigRemoteOn(); const mockedInitializer = mocked(initializer).mockResolvedValue(normalizedConfig); const analyzeResult = { files, groups: [] }; const mockedAnalyzeLocalFiles = mocked(analyzeLocalFiles).mockResolvedValue(analyzeResult); @@ -96,6 +89,7 @@ describe('main', () => { }); test('only groups', async () => { + const normalizedConfig = generateNormalizedConfigRemoteOn(); const mockedInitializer = mocked(initializer).mockResolvedValue(normalizedConfig); const analyzeResult = { files: [], groups }; const mockedAnalyzeLocalFiles = mocked(analyzeLocalFiles).mockResolvedValue(analyzeResult); @@ -128,6 +122,7 @@ describe('main', () => { }); test('empty files and groups', async () => { + const normalizedConfig = generateNormalizedConfigRemoteOn(); const mockedInitializer = mocked(initializer).mockResolvedValue(normalizedConfig); const mockedAnalyzeLocalFiles = mocked(analyzeLocalFiles).mockResolvedValue({ files: [], groups: [] }); const mockedGenerateReport = mocked(generateReport).mockResolvedValue(report); @@ -142,6 +137,7 @@ describe('main', () => { }); test('generate report failed', async () => { + const normalizedConfig = generateNormalizedConfigRemoteOn(); const mockedInitializer = mocked(initializer).mockResolvedValue(normalizedConfig); const mockedAnalyzeLocalFiles = mocked(analyzeLocalFiles).mockResolvedValue({ files, groups }); const mockedGenerateReport = mocked(generateReport).mockResolvedValue(undefined); diff --git a/packages/bundlemon/src/main/__tests__/initializer.spec.ts b/packages/bundlemon/src/main/__tests__/initializer.spec.ts index 6d372a5..8a6a23a 100644 --- a/packages/bundlemon/src/main/__tests__/initializer.spec.ts +++ b/packages/bundlemon/src/main/__tests__/initializer.spec.ts @@ -1,10 +1,10 @@ import { mocked } from 'ts-jest/utils'; import * as fs from 'fs'; -import { Compression } from 'bundlemon-utils'; -import { validateConfig, normalizeConfig } from '../utils/configUtils'; +import { validateConfig } from '../utils/configUtils'; import { initializer } from '../initializer'; -import { Config, NormalizedConfig } from '../types'; +import { Config } from '../types'; import { initOutputs } from '../outputs'; +import { generateNormalizedConfigRemoteOn } from '../utils/__tests__/configUtils'; jest.mock('fs'); jest.mock('../../common/logger'); @@ -15,23 +15,13 @@ const config: Config = { files: [], }; -const expectedNormalizedConfig: NormalizedConfig = { - baseDir: 'some_dir', - files: [], - groups: [], - defaultCompression: Compression.Gzip, - onlyLocalAnalyze: false, - reportOutput: [], - verbose: false, -}; - describe('initializer', () => { beforeEach(() => { jest.resetAllMocks(); }); test('validate config failed', async () => { - const mockedValidateConfig = mocked(validateConfig).mockReturnValue(false); + const mockedValidateConfig = mocked(validateConfig).mockReturnValue(undefined); const result = await initializer(config); @@ -40,43 +30,40 @@ describe('initializer', () => { }); test('base dir not found', async () => { - const mockedValidateConfig = mocked(validateConfig).mockReturnValue(true); - const mockedNormalizeConfig = mocked(normalizeConfig).mockReturnValue(expectedNormalizedConfig); + const expectedNormalizedConfig = generateNormalizedConfigRemoteOn(); + const mockedValidateConfig = mocked(validateConfig).mockReturnValue(expectedNormalizedConfig); const mockedExistsSync = mocked(fs.existsSync).mockReturnValue(false); const result = await initializer(config); expect(mockedValidateConfig).toBeCalledWith(config); - expect(mockedNormalizeConfig).toBeCalledWith(config); expect(mockedExistsSync).toBeCalledWith(expectedNormalizedConfig.baseDir); expect(result).toEqual(undefined); }); test('failed to initialize outputs', async () => { - const mockedValidateConfig = mocked(validateConfig).mockReturnValue(true); - const mockedNormalizeConfig = mocked(normalizeConfig).mockReturnValue(expectedNormalizedConfig); + const expectedNormalizedConfig = generateNormalizedConfigRemoteOn(); + const mockedValidateConfig = mocked(validateConfig).mockReturnValue(expectedNormalizedConfig); const mockedExistsSync = mocked(fs.existsSync).mockReturnValue(true); const mockedInitOutputs = mocked(initOutputs).mockRejectedValue(new Error('error')); const result = await initializer(config); expect(mockedValidateConfig).toBeCalledWith(config); - expect(mockedNormalizeConfig).toBeCalledWith(config); expect(mockedExistsSync).toBeCalledWith(expectedNormalizedConfig.baseDir); expect(mockedInitOutputs).toBeCalledWith(expectedNormalizedConfig); expect(result).toEqual(undefined); }); test('success', async () => { - const mockedValidateConfig = mocked(validateConfig).mockReturnValue(true); - const mockedNormalizeConfig = mocked(normalizeConfig).mockReturnValue(expectedNormalizedConfig); + const expectedNormalizedConfig = generateNormalizedConfigRemoteOn(); + const mockedValidateConfig = mocked(validateConfig).mockReturnValue(expectedNormalizedConfig); const mockedExistsSync = mocked(fs.existsSync).mockReturnValue(true); const mockedInitOutputs = mocked(initOutputs).mockResolvedValue(); const result = await initializer(config); expect(mockedValidateConfig).toBeCalledWith(config); - expect(mockedNormalizeConfig).toBeCalledWith(config); expect(mockedExistsSync).toBeCalledWith(expectedNormalizedConfig.baseDir); expect(mockedInitOutputs).toBeCalledWith(expectedNormalizedConfig); expect(result).toEqual(expectedNormalizedConfig); diff --git a/packages/bundlemon/src/main/analyzer/__tests__/analyzeLocalFiles.spec.ts b/packages/bundlemon/src/main/analyzer/__tests__/analyzeLocalFiles.spec.ts index 3c358ca..f3fb55c 100644 --- a/packages/bundlemon/src/main/analyzer/__tests__/analyzeLocalFiles.spec.ts +++ b/packages/bundlemon/src/main/analyzer/__tests__/analyzeLocalFiles.spec.ts @@ -1,9 +1,9 @@ import { mocked } from 'ts-jest/utils'; import { analyzeLocalFiles } from '../analyzeLocalFiles'; -import { NormalizedConfig } from '../../types'; import { getFilesDetails, groupFilesByPattern } from '../fileDetailsUtils'; import { Compression, FileDetails } from 'bundlemon-utils'; import { getAllPaths } from '../pathUtils'; +import { generateNormalizedConfigRemoteOff } from '../../utils/__tests__/configUtils'; jest.mock('../pathUtils'); jest.mock('../fileDetailsUtils'); @@ -52,37 +52,29 @@ test('analyzeLocalFiles', async () => { mocked(getAllPaths).mockResolvedValue(['css/a.css', 'some/path/a.ajhs2he2.js', 'some/other/path/b.273ushj.js']); mocked(groupFilesByPattern).mockReturnValue(groups); - const baseDir = 'some_basedir'; - const filesConfig: NormalizedConfig['files'] = [ - { - path: '**/*.css', - compression: Compression.Gzip, - }, - { - path: 'some/path/*..js', - compression: Compression.None, - }, - ]; - const groupsConfig: NormalizedConfig['files'] = [ - { - path: '*.js', - compression: Compression.Gzip, - }, - ]; - - const config: NormalizedConfig = { - baseDir, - files: filesConfig, - groups: groupsConfig, - defaultCompression: Compression.Gzip, - onlyLocalAnalyze: false, - reportOutput: [], - verbose: false, - }; + const config = generateNormalizedConfigRemoteOff({ + baseDir: 'some_basedir', + files: [ + { + path: '**/*.css', + compression: Compression.Gzip, + }, + { + path: 'some/path/*..js', + compression: Compression.None, + }, + ], + groups: [ + { + path: '*.js', + compression: Compression.Gzip, + }, + ], + }); const result = await analyzeLocalFiles(config); - expect(getAllPaths).toBeCalledWith(baseDir); + expect(getAllPaths).toBeCalledWith(config.baseDir); expect(getFilesDetails).toBeCalledTimes(2); expect(groupFilesByPattern).toBeCalledWith(groupFiles); diff --git a/packages/bundlemon/src/main/index.ts b/packages/bundlemon/src/main/index.ts index 5f09b36..13dbacc 100644 --- a/packages/bundlemon/src/main/index.ts +++ b/packages/bundlemon/src/main/index.ts @@ -1,4 +1,5 @@ -import { Report } from 'bundlemon-utils'; +import { Report, Status } from 'bundlemon-utils'; +import { getReportConclusionText } from 'bundlemon-utils/lib/cjs/textUtils'; import logger from '../common/logger'; import { analyzeLocalFiles } from './analyzer'; import { generateOutputs } from './outputs'; @@ -27,7 +28,7 @@ export default async (config: Config): Promise => { await generateOutputs(report); - logger.info('Done'); + logger.info(`Done - ${report.status === Status.Pass ? 'Success' : 'Failure'} - ${getReportConclusionText(report)}`); return report; }; diff --git a/packages/bundlemon/src/main/initializer.ts b/packages/bundlemon/src/main/initializer.ts index adc7f22..29e50c1 100644 --- a/packages/bundlemon/src/main/initializer.ts +++ b/packages/bundlemon/src/main/initializer.ts @@ -1,6 +1,6 @@ import { existsSync as isDirExists } from 'fs'; import logger, { setVerbose } from '../common/logger'; -import { normalizeConfig, validateConfig } from './utils/configUtils'; +import { validateConfig } from './utils/configUtils'; import { Config, NormalizedConfig } from './types'; import { initOutputs } from './outputs'; import ciVars from './utils/ci'; @@ -10,15 +10,16 @@ export async function initializer(config: Config): Promise ({ __esModule: true, @@ -31,13 +31,13 @@ describe('outputManager', () => { const manager = new OutputManager(); - await expect(manager.initOutputs(generateNormalizedConfig())).rejects.toThrow(); + await expect(manager.initOutputs(generateNormalizedConfigRemoteOn())).rejects.toThrow(); }); test('no outputs in config', async () => { const manager = new OutputManager(); - await manager.initOutputs(generateNormalizedConfig()); + await manager.initOutputs(generateNormalizedConfigRemoteOn()); const outputs = manager.getOutputs(); @@ -58,7 +58,7 @@ describe('outputManager', () => { mocked(getAllOutputs).mockReturnValue([mockOutput]); - const config = generateNormalizedConfig({ reportOutput: [mockOutput.name] }); + const config = generateNormalizedConfigRemoteOn({ reportOutput: [mockOutput.name] }); const manager = new OutputManager(); @@ -79,7 +79,7 @@ describe('outputManager', () => { mocked(getAllOutputs).mockReturnValue([mockOutput]); - const config = generateNormalizedConfig({ reportOutput: [mockOutput.name] }); + const config = generateNormalizedConfigRemoteOn({ reportOutput: [mockOutput.name] }); const manager = new OutputManager(); @@ -99,7 +99,7 @@ describe('outputManager', () => { mocked(getAllOutputs).mockReturnValue([mockOutput]); - const config = generateNormalizedConfig({ reportOutput: [mockOutput.name] }); + const config = generateNormalizedConfigRemoteOn({ reportOutput: [mockOutput.name] }); const manager = new OutputManager(); @@ -118,7 +118,7 @@ describe('outputManager', () => { mocked(getAllOutputs).mockReturnValue([mockOutput]); - const config = generateNormalizedConfig({ reportOutput: ['unknown-name'] }); + const config = generateNormalizedConfigRemoteOn({ reportOutput: ['unknown-name'] }); const manager = new OutputManager(); diff --git a/packages/bundlemon/src/main/outputs/outputManager.ts b/packages/bundlemon/src/main/outputs/outputManager.ts index d0b8724..257322e 100644 --- a/packages/bundlemon/src/main/outputs/outputManager.ts +++ b/packages/bundlemon/src/main/outputs/outputManager.ts @@ -25,7 +25,7 @@ export class OutputManager { if (config.reportOutput.length > 0) { for (const output of config.reportOutput) { - const { name, options } = parseOutput(output); + const { name, options = {} } = parseOutput(output); if (!this.outputCreator[name]) { throw new Error(`Cant find output "${name}"`); @@ -39,7 +39,7 @@ export class OutputManager { logger.debug(`Ignoring output "${name}"`); } } catch (err) { - throw new Error(`Error while creating "${name}". ${err.message}`); + throw new Error(`Error while creating "${name}" output: ${err.message}`); } } } diff --git a/packages/bundlemon/src/main/outputs/outputs/console.ts b/packages/bundlemon/src/main/outputs/outputs/console.ts index 76fd0d0..39bf36f 100644 --- a/packages/bundlemon/src/main/outputs/outputs/console.ts +++ b/packages/bundlemon/src/main/outputs/outputs/console.ts @@ -1,6 +1,7 @@ -import * as bytes from 'bytes'; -import * as chalk from 'chalk'; -import { Status, DiffChange } from 'bundlemon-utils'; +import bytes from 'bytes'; +import chalk from 'chalk'; +import { Status, DiffChange, FileDetailsDiff } from 'bundlemon-utils'; +import { getReportConclusionText } from 'bundlemon-utils/lib/cjs/textUtils'; import logger from '../../../common/logger'; import { getDiffSizeText, getDiffPercentText } from '../utils'; import type { Output } from '../types'; @@ -8,7 +9,18 @@ import type { Output } from '../types'; function print(status: Status, changeText: string, message: string) { const color = status === Status.Pass ? 'green' : 'red'; - logger.log(`${chalk[color](`[${status.toUpperCase()}]`)} ${changeText}${message}`); + logger.log(` ${chalk[color](`[${status.toUpperCase()}]`)} ${changeText}${message}`); +} + +function printDiffSection(files: FileDetailsDiff[], haveBaseRecord: boolean) { + files.forEach((f) => { + const changeText = haveBaseRecord ? `(${f.diff.change}) ` : ''; + const diffPercentText = f.diff.change === DiffChange.Update ? ' ' + getDiffPercentText(f.diff.percent) : ''; + const diffText = haveBaseRecord ? ` (${getDiffSizeText(f.diff.bytes)}${diffPercentText})` : ''; + const maxSizeText = f.maxSize ? ` ${f.size <= f.maxSize ? '<' : '>'} ${bytes(f.maxSize)}` : ''; + + print(f.status, changeText, `${f.path}: ${bytes(f.size)}${diffText}${maxSizeText}`); + }); } const output: Output = { @@ -18,33 +30,24 @@ const output: Output = { generate: (report) => { const { files, - stats, + groups, metadata: { linkToReport, baseRecord }, } = report; logger.log('\n'); - files.forEach((f) => { - const changeText = baseRecord ? `(${f.diff.change}) ` : ''; - const diffPercentText = f.diff.change === DiffChange.Update ? ' ' + getDiffPercentText(f.diff.percent) : ''; - const diffText = baseRecord ? ` (${getDiffSizeText(f.diff.bytes)}${diffPercentText})` : ''; - const maxSizeText = f.maxSize ? ` ${f.size <= f.maxSize ? '<' : '>'} ${bytes(f.maxSize)}` : ''; - - print(f.status, changeText, `${f.path}: ${bytes(f.size)}${diffText}${maxSizeText}`); - }); - + logger.log('Files:'); + printDiffSection(files, !!baseRecord); logger.log('\n'); - if (stats.diff.bytes === 0) { - logger.log('No change in bundle size'); - } else { - logger.log( - `Total change ${getDiffSizeText(stats.diff.bytes)} ${ - stats.diff.percent !== Infinity ? getDiffPercentText(stats.diff.percent) : '' - }` - ); + if (groups.length > 0) { + logger.log('Groups:'); + printDiffSection(groups, !!baseRecord); + logger.log('\n'); } + logger.log(getReportConclusionText(report)); + if (linkToReport) { logger.log(`\nView report: ${linkToReport}`); } diff --git a/packages/bundlemon/src/main/outputs/outputs/github.ts b/packages/bundlemon/src/main/outputs/outputs/github.ts new file mode 100644 index 0000000..2476238 --- /dev/null +++ b/packages/bundlemon/src/main/outputs/outputs/github.ts @@ -0,0 +1,139 @@ +import * as yup from 'yup'; +import { AxiosError } from 'axios'; +import { owner, repo } from '../../utils/ci'; +import { createLogger } from '../../../common/logger'; +import { validateYup } from '../../utils/validationUtils'; +import type { Output } from '../types'; +import { serviceClient } from '../../../common/service'; +import { ProjectIdentifiers } from '../../types'; + +const NAME = 'github'; + +const logger = createLogger(`${NAME} output`); + +interface GithubOutputOptions { + checkRun?: boolean; + commitStatus?: boolean; + prComment?: boolean; +} + +function validateOptions(options: unknown): GithubOutputOptions | undefined { + const schema = yup + .object() + .required() + .shape({ + checkRun: yup.boolean().optional().default(false), + commitStatus: yup.boolean().optional().default(true), + prComment: yup.boolean().optional().default(true), + }); + + return validateYup(schema, options, `${NAME} output`); +} + +function logGithubError(prefix: string, err: Error | AxiosError, body: unknown): void { + const errLogger = logger.clone(prefix); + + if ((err as AxiosError).isAxiosError) { + const axiosError = err as AxiosError; + + errLogger.error(`Github returned ${axiosError?.response?.status}`); + + try { + errLogger.error(JSON.stringify(axiosError?.response?.data, null, 2)); + } catch { + errLogger.error(axiosError?.response?.data); + } + } else { + errLogger.error('Unknown error', err); + } + + try { + errLogger.debug('request body:'); + errLogger.debug(JSON.stringify(body, null, 2)); + } catch { + errLogger.debug(body as string); + } +} + +async function githubRequest( + { projectId, apiKey }: ProjectIdentifiers, + what: 'check-run' | 'commit-status' | 'pr-comment', + body: Record +) { + try { + await serviceClient.post(`projects/${projectId}/outputs/github/${what}`, body, { + headers: { 'x-api-key': apiKey }, + }); + + logger.info(`Successfully created GitHub ${what}`); + } catch (err) { + logGithubError(what, err, body); + + throw err; + } +} + +const output: Output = { + name: NAME, + create: ({ options, config }) => { + const normalizedOptions = validateOptions(options); + + if (!normalizedOptions) { + throw new Error(`validation error in output "${NAME}" options`); + } + + if (!config.remote) { + logger.warn('remote flag is OFF, ignore output'); + return undefined; + } + + if (!owner || !repo) { + throw new Error('Missing "CI_REPO_OWNER" & "CI_REPO_NAME" env vars'); + } + + return { + generate: async (report) => { + const { + getProjectIdentifiers, + gitVars: { commitSha, prNumber }, + } = config; + logger.debug(`Owner: "${owner}" Repo: "${repo}" sha: "${commitSha}" PR: "${prNumber}"`); + + const projectIdentifiers = getProjectIdentifiers(); + + if (normalizedOptions.checkRun) { + logger.info('Create GitHub check run'); + + await githubRequest(projectIdentifiers, 'check-run', { + git: { owner, repo, commitSha }, + report, + }); + } + + if (normalizedOptions.commitStatus) { + logger.info('Post commit status to GitHub'); + + await githubRequest(projectIdentifiers, 'commit-status', { + git: { owner, repo, commitSha }, + report, + }); + } + + if (normalizedOptions.prComment) { + if (!prNumber) { + logger.info('Not a PR - ignore post PR comment'); + } else { + logger.info('Post PR comment to GitHub'); + + await githubRequest(projectIdentifiers, 'pr-comment', { + git: { owner, repo, prNumber }, + report, + }); + } + } + }, + }; + }, +}; + +export default output; diff --git a/packages/bundlemon/src/main/outputs/outputs/githubPr.ts b/packages/bundlemon/src/main/outputs/outputs/githubPr.ts deleted file mode 100644 index 50777ee..0000000 --- a/packages/bundlemon/src/main/outputs/outputs/githubPr.ts +++ /dev/null @@ -1,125 +0,0 @@ -import * as yup from 'yup'; -import { AxiosError } from 'axios'; -import { owner, repo, branch, commitSha, prNumber, targetBranch } from '../../utils/ci'; -import { createLogger } from '../../../common/logger'; -import { validateYup } from '../../utils/validationUtils'; -import { EnvVar } from '../../../common/consts'; -import type { Output } from '../types'; -import { serviceClient } from '../../../common/service'; - -const NAME = 'github-pr'; - -const logger = createLogger(`${NAME} output:`); - -interface GithubPrOutputOptions { - statusCheck?: boolean; - prComment?: boolean; -} - -function areOptionsValid(options: unknown): options is GithubPrOutputOptions { - const schema = yup - .object() - .required() - .shape({ - statusCheck: yup.boolean().optional().default(true), - prComment: yup.boolean().optional().default(false), - }); - - return validateYup(schema, options, `${NAME} output`); -} - -function logGithubError(err: Error | AxiosError, prefix: string): void { - const errLogger = logger.clone(prefix); - - if ((err as AxiosError).isAxiosError) { - const axiosError = err as AxiosError; - - errLogger.error(`Github returned ${axiosError?.response?.status}`, axiosError?.response?.data); - } else { - errLogger.error('Unknown error', err); - } -} - -const output: Output = { - name: NAME, - create: ({ options, config }) => { - if (!areOptionsValid(options) || config.onlyLocalAnalyze) { - return undefined; - } - - logger.debug(`branch: "${branch}" target branch: "${targetBranch}" PR number: "${prNumber}"`); - - // Enable only for PRs - if (!(branch && targetBranch && prNumber)) { - return undefined; - } - - if (!owner || !repo) { - throw new Error('Setup "CI_REPO_OWNER" & "CI_REPO_NAME" env vars'); - } - - if (options.statusCheck && !commitSha) { - throw new Error('Missing "CI_COMMIT_SHA" env var'); - } - - if (options.prComment && !prNumber) { - throw new Error('Missing "CI_PR_NUMBER" env var'); - } - - const githubToken = process.env[EnvVar.githubToken]; - - if (!githubToken) { - throw new Error(`Missing "${EnvVar.githubToken}" env var`); - } - - return { - generate: async (report) => { - logger.debug(`Owner: "${owner}" Repo: "${repo}" sha: "${commitSha}" PR: "${prNumber}"`); - - if (options.statusCheck) { - logger.info('Post status check to GitHub'); - - try { - await serviceClient.post( - `github/pr/status`, - { - git: { owner, repo, sha: commitSha }, - report, - }, - { headers: { 'github-token': githubToken } } - ); - - logger.info('Successfully posted status check'); - } catch (err) { - logGithubError(err, 'Post PR status:'); - - throw err; - } - } - - if (options.prComment) { - logger.info('Post comment to GitHub'); - - try { - await serviceClient.post( - `github/pr/comment`, - { - git: { owner, repo, prNumber }, - report, - }, - { headers: { 'github-token': githubToken } } - ); - - logger.info('Successfully posted comment'); - } catch (err) { - logGithubError(err, 'Post PR comment:'); - - throw err; - } - } - }, - }; - }, -}; - -export default output; diff --git a/packages/bundlemon/src/main/outputs/outputs/index.ts b/packages/bundlemon/src/main/outputs/outputs/index.ts index ad85d3f..8d285fc 100644 --- a/packages/bundlemon/src/main/outputs/outputs/index.ts +++ b/packages/bundlemon/src/main/outputs/outputs/index.ts @@ -1,6 +1,6 @@ /* istanbul ignore file */ import consoleOutput from './console'; -import githubOutput from './githubPr'; +import githubOutput from './github'; import type { Output } from '../types'; diff --git a/packages/bundlemon/src/main/outputs/utils.ts b/packages/bundlemon/src/main/outputs/utils.ts index 2613a76..639ead1 100644 --- a/packages/bundlemon/src/main/outputs/utils.ts +++ b/packages/bundlemon/src/main/outputs/utils.ts @@ -1,4 +1,4 @@ -import * as bytes from 'bytes'; +import bytes from 'bytes'; import { NormalizedConfig } from '../types'; export function parseOutput(output: NormalizedConfig['reportOutput'][0]): { name: string; options: unknown } { diff --git a/packages/bundlemon/src/main/report/__tests__/generateReport.spec.ts b/packages/bundlemon/src/main/report/__tests__/generateReport.spec.ts index 06672e9..755cf00 100644 --- a/packages/bundlemon/src/main/report/__tests__/generateReport.spec.ts +++ b/packages/bundlemon/src/main/report/__tests__/generateReport.spec.ts @@ -1,7 +1,6 @@ import { mocked } from 'ts-jest/utils'; import { generateReport } from '../generateReport'; -import { generateNormalizedConfig } from '../../utils/__tests__/configUtils'; -import { saveCommitRecord } from '../serviceHelper'; +import { generateNormalizedConfigRemoteOn, generateNormalizedConfigRemoteOff } from '../../utils/__tests__/configUtils'; import { FileDetails, DiffChange, @@ -12,8 +11,8 @@ import { CommitRecord, Compression, } from 'bundlemon-utils'; -import { GitVars } from '../../types'; -import { getGitVars } from '../../utils/configUtils'; +import { createCommitRecord } from '../../../common/service'; +import type { GitVars } from '../../types'; const localFiles: FileDetails[] = [ { pattern: '**/*.js', path: 'path/to/file.js', compression: Compression.Gzip, size: 120 }, @@ -64,7 +63,7 @@ function generateCommitRecord(override: Partial = {}): CommitRecor } jest.mock('bundlemon-utils'); -jest.mock('../serviceHelper'); +jest.mock('../../../common/service'); jest.mock('../../../common/logger'); jest.mock('../../utils/configUtils'); @@ -75,8 +74,8 @@ describe('generateReport', () => { mocked(generateDiffReport).mockReturnValue(generateDiffReportResult); }); - test('onlyLocalAnalyze: true', async () => { - const config = generateNormalizedConfig({ onlyLocalAnalyze: true }); + test('remote: false', async () => { + const config = generateNormalizedConfigRemoteOff(); const result = await generateReport(config, { files: localFiles, groups: localGroups }); @@ -86,35 +85,21 @@ describe('generateReport', () => { }; expect(generateDiffReport).toHaveBeenCalledWith({ files: localFiles, groups: localGroups }, undefined); - expect(getGitVars).toHaveBeenCalledTimes(0); - expect(saveCommitRecord).toHaveBeenCalledTimes(0); + expect(createCommitRecord).toHaveBeenCalledTimes(0); expect(result).toEqual(expectedResult); }); - test('no git vars', async () => { - mocked(getGitVars).mockReturnValue(undefined); - const config = generateNormalizedConfig(); - - const result = await generateReport(config, { files: localFiles, groups: localGroups }); - - expect(getGitVars).toHaveBeenCalledTimes(1); - expect(generateDiffReport).toHaveBeenCalledTimes(0); - expect(saveCommitRecord).toHaveBeenCalledTimes(0); - expect(result).toEqual(undefined); - }); - - describe('with git vars', () => { + describe('remote: true', () => { test('save commit record, no base commit record', async () => { const gitVars: GitVars = { branch: 'main', commitSha: '18723' }; - mocked(getGitVars).mockReturnValue(gitVars); const saveReportResult: CreateCommitRecordResponse = { linkToReport: 'link', record: generateCommitRecord(), }; - mocked(saveCommitRecord).mockResolvedValue(saveReportResult); + mocked(createCommitRecord).mockResolvedValue(saveReportResult); - const config = generateNormalizedConfig(); + const config = generateNormalizedConfigRemoteOn({ gitVars }); const result = await generateReport(config, { files: localFiles, groups: localGroups }); @@ -125,23 +110,26 @@ describe('generateReport', () => { }, }; - expect(saveCommitRecord).toHaveBeenCalledWith({ ...gitVars, files: localFiles, groups: localGroups }); + expect(createCommitRecord).toHaveBeenCalledWith(config.getProjectIdentifiers(), { + ...gitVars, + files: localFiles, + groups: localGroups, + }); expect(generateDiffReport).toHaveBeenCalledWith({ files: localFiles, groups: localGroups }, undefined); expect(result).toEqual(expectedResult); }); test('save commit record, get base commit record', async () => { const gitVars: GitVars = { branch: 'main', commitSha: '18723' }; - mocked(getGitVars).mockReturnValue(gitVars); const saveReportResult: CreateCommitRecordResponse = { linkToReport: 'link', record: generateCommitRecord({ baseBranch: 'prod' }), baseRecord: generateCommitRecord({ branch: 'prod' }), }; - mocked(saveCommitRecord).mockResolvedValue(saveReportResult); + mocked(createCommitRecord).mockResolvedValue(saveReportResult); - const config = generateNormalizedConfig(); + const config = generateNormalizedConfigRemoteOn({ gitVars }); const result = await generateReport(config, { files: localFiles, groups: localGroups }); @@ -152,7 +140,11 @@ describe('generateReport', () => { }, }; - expect(saveCommitRecord).toHaveBeenCalledWith({ ...gitVars, files: localFiles, groups: localGroups }); + expect(createCommitRecord).toHaveBeenCalledWith(config.getProjectIdentifiers(), { + ...gitVars, + files: localFiles, + groups: localGroups, + }); expect(generateDiffReport).toHaveBeenCalledWith( { files: localFiles, groups: localGroups }, { files: saveReportResult.baseRecord?.files, groups: saveReportResult.baseRecord?.groups } @@ -162,14 +154,17 @@ describe('generateReport', () => { test('undefined returned from save commit record', async () => { const gitVars: GitVars = { branch: 'main', commitSha: '18723' }; - mocked(getGitVars).mockReturnValue(gitVars); - mocked(saveCommitRecord).mockResolvedValue(undefined); + mocked(createCommitRecord).mockResolvedValue(undefined); - const config = generateNormalizedConfig(); + const config = generateNormalizedConfigRemoteOn({ gitVars }); const result = await generateReport(config, { files: localFiles, groups: localGroups }); - expect(saveCommitRecord).toHaveBeenCalledWith({ ...gitVars, files: localFiles, groups: localGroups }); + expect(createCommitRecord).toHaveBeenCalledWith(config.getProjectIdentifiers(), { + ...gitVars, + files: localFiles, + groups: localGroups, + }); expect(generateDiffReport).toHaveBeenCalledTimes(0); expect(result).toEqual(undefined); }); diff --git a/packages/bundlemon/src/main/report/generateReport.ts b/packages/bundlemon/src/main/report/generateReport.ts index c2ba0ea..32bd126 100644 --- a/packages/bundlemon/src/main/report/generateReport.ts +++ b/packages/bundlemon/src/main/report/generateReport.ts @@ -1,7 +1,7 @@ import { generateDiffReport, Report, CommitRecord, DiffReportInput } from 'bundlemon-utils'; import logger from '../../common/logger'; -import { getGitVars } from '../utils/configUtils'; -import { saveCommitRecord } from './serviceHelper'; +import { createCommitRecord } from '../../common/service'; + import type { NormalizedConfig } from '../types'; export async function generateReport(config: NormalizedConfig, input: DiffReportInput): Promise { @@ -11,21 +11,14 @@ export async function generateReport(config: NormalizedConfig, input: DiffReport let baseRecord: CommitRecord | undefined; let linkToReport: string | undefined; - if (config.onlyLocalAnalyze) { - logger.info('Only local analyze is ON - showing only local results'); + if (!config.remote) { + logger.warn('remote flag is OFF, showing only local results'); } else { - const gitVars = getGitVars(); - - if (!gitVars) { - logger.error(`Missing git env variables`); - return undefined; - } - - const { branch } = gitVars; + const { gitVars } = config; - logger.info(`Save commit record for branch "${branch}"`); + logger.info(`Save commit record for branch "${gitVars.branch}"`); - const result = await saveCommitRecord({ + const result = await createCommitRecord(config.getProjectIdentifiers(), { ...gitVars, ...input, }); diff --git a/packages/bundlemon/src/main/report/serviceHelper.ts b/packages/bundlemon/src/main/report/serviceHelper.ts deleted file mode 100644 index 4f32061..0000000 --- a/packages/bundlemon/src/main/report/serviceHelper.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { CommitRecordPayload, CreateCommitRecordResponse } from 'bundlemon-utils'; -import logger from '../../common/logger'; -import { createCommitRecord } from '../../common/service'; -import { EnvVar } from '../../common/consts'; - -export async function saveCommitRecord(record: CommitRecordPayload): Promise { - const projectId = process.env[EnvVar.projectId]; - const apiKey = process.env[EnvVar.projectApiKey]; - - if (!projectId) { - logger.error(`Missing "${EnvVar.projectId}" env var`); - return undefined; - } - - if (!apiKey) { - logger.error(`Missing "${EnvVar.projectApiKey}" env var`); - return undefined; - } - - const response = await createCommitRecord({ projectId, apiKey }, record); - - return response; -} diff --git a/packages/bundlemon/src/main/types.ts b/packages/bundlemon/src/main/types.ts index 549f07b..4c83bbb 100644 --- a/packages/bundlemon/src/main/types.ts +++ b/packages/bundlemon/src/main/types.ts @@ -19,15 +19,33 @@ export interface Config { verbose?: boolean; defaultCompression?: Compression; reportOutput?: (string | [string, unknown])[]; - onlyLocalAnalyze?: boolean; } -export interface NormalizedConfig extends Omit, 'files' | 'groups'> { +export interface BaseNormalizedConfig extends Omit, 'files' | 'groups'> { files: NormalizedFileConfig[]; groups: NormalizedFileConfig[]; + remote: boolean; } -export interface ProjectConfig { +export interface NormalizedConfigRemoteOn extends BaseNormalizedConfig { + remote: true; + gitVars: GitVars; + getProjectIdentifiers: () => ProjectIdentifiers; +} + +export interface NormalizedConfigRemoteOff extends BaseNormalizedConfig { + remote: false; +} + +export type NormalizedConfig = NormalizedConfigRemoteOn | NormalizedConfigRemoteOff; + +// export interface NormalizedConfig extends Omit, 'files' | 'groups'> { +// files: NormalizedFileConfig[]; +// groups: NormalizedFileConfig[]; +// remote: boolean; +// } + +export interface ProjectIdentifiers { projectId: string; apiKey: string; } diff --git a/packages/bundlemon/src/main/utils/__tests__/configUtils.ts b/packages/bundlemon/src/main/utils/__tests__/configUtils.ts index 8d74796..b685b47 100644 --- a/packages/bundlemon/src/main/utils/__tests__/configUtils.ts +++ b/packages/bundlemon/src/main/utils/__tests__/configUtils.ts @@ -1,15 +1,52 @@ import { Compression } from 'bundlemon-utils'; -import { NormalizedConfig } from '../../types'; +import { + BaseNormalizedConfig, + NormalizedConfigRemoteOn, + NormalizedConfigRemoteOff, + ProjectIdentifiers, +} from '../../types'; -export function generateNormalizedConfig(override: Partial = {}): NormalizedConfig { +const baseNormalizedConfig: Omit = { + baseDir: '', + defaultCompression: Compression.Gzip, + files: [], + groups: [], + reportOutput: [], + verbose: false, +}; + +export function generateNormalizedConfigRemoteOn( + override: Partial = {} +): NormalizedConfigRemoteOn { + const projectIdentifiers: ProjectIdentifiers = { + projectId: generateRandomString(), + apiKey: generateRandomString(), + }; + + return { + ...baseNormalizedConfig, + remote: true, + gitVars: { + branch: generateRandomString(), + commitSha: generateRandomString(), + }, + getProjectIdentifiers: () => projectIdentifiers, + ...override, + }; +} + +export function generateNormalizedConfigRemoteOff( + override: Partial = {} +): NormalizedConfigRemoteOff { return { - baseDir: '', - defaultCompression: Compression.Gzip, - files: [], - groups: [], - onlyLocalAnalyze: false, - reportOutput: [], - verbose: false, + ...baseNormalizedConfig, + remote: false, ...override, }; } + +function generateRandomString(length = 10) { + return Math.round(Math.pow(36, length + 1) - Math.random() * Math.pow(36, length)) + .toString(36) + .slice(1); +} diff --git a/packages/bundlemon/src/main/utils/ci/index.ts b/packages/bundlemon/src/main/utils/ci/index.ts index c7d5576..da7e0ef 100644 --- a/packages/bundlemon/src/main/utils/ci/index.ts +++ b/packages/bundlemon/src/main/utils/ci/index.ts @@ -3,6 +3,7 @@ import { getEnvVar } from './utils'; import type { CIEnvVars } from './types'; const overrideVars: CIEnvVars = { + ci: getEnvVar('CI') === 'true', owner: getEnvVar('CI_REPO_OWNER'), repo: getEnvVar('CI_REPO_NAME'), branch: getEnvVar('CI_BRANCH'), @@ -18,12 +19,13 @@ const vars = { ...overrideVars }; if (providerVars) { // Use provider var if override var is undefined (Object.keys(providerVars) as (keyof CIEnvVars)[]).forEach((varName) => { + // @ts-ignore vars[varName] = vars[varName] ?? providerVars[varName]; }); } export default vars; -const { owner, repo, branch, commitSha, prNumber, targetBranch } = vars; +const { ci, owner, repo, branch, commitSha, prNumber, targetBranch } = vars; -export { owner, repo, branch, commitSha, prNumber, targetBranch }; +export { ci, owner, repo, branch, commitSha, prNumber, targetBranch }; diff --git a/packages/bundlemon/src/main/utils/ci/providers/circleCI.ts b/packages/bundlemon/src/main/utils/ci/providers/circleCI.ts index 706b9d2..32136e3 100644 --- a/packages/bundlemon/src/main/utils/ci/providers/circleCI.ts +++ b/packages/bundlemon/src/main/utils/ci/providers/circleCI.ts @@ -6,6 +6,7 @@ import { getEnvVar } from '../utils'; const provider: Provider = { isItMe: getEnvVar('CIRCLECI') === 'true', getVars: () => ({ + ci: true, owner: getEnvVar('CIRCLE_PROJECT_USERNAME'), repo: getEnvVar('CIRCLE_PROJECT_REPONAME'), branch: getEnvVar('CIRCLE_BRANCH'), diff --git a/packages/bundlemon/src/main/utils/ci/providers/codefresh.ts b/packages/bundlemon/src/main/utils/ci/providers/codefresh.ts index 22da5e0..9df3e57 100644 --- a/packages/bundlemon/src/main/utils/ci/providers/codefresh.ts +++ b/packages/bundlemon/src/main/utils/ci/providers/codefresh.ts @@ -6,6 +6,7 @@ import { getEnvVar } from '../utils'; const provider: Provider = { isItMe: !!getEnvVar('CF_BUILD_URL'), getVars: () => ({ + ci: true, owner: getEnvVar('CF_REPO_OWNER'), repo: getEnvVar('CF_REPO_NAME'), branch: getEnvVar('CF_BRANCH'), diff --git a/packages/bundlemon/src/main/utils/ci/providers/github.ts b/packages/bundlemon/src/main/utils/ci/providers/github.ts index b2689e6..d6dbacb 100644 --- a/packages/bundlemon/src/main/utils/ci/providers/github.ts +++ b/packages/bundlemon/src/main/utils/ci/providers/github.ts @@ -14,6 +14,7 @@ const provider: Provider = { const ref = getEnvVar('GITHUB_REF')?.split('/'); return { + ci: true, owner, repo, branch: isPr ? getEnvVar('GITHUB_HEAD_REF') : ref?.slice(2).join('/'), diff --git a/packages/bundlemon/src/main/utils/ci/providers/travis.ts b/packages/bundlemon/src/main/utils/ci/providers/travis.ts index 51f3c27..923a7e1 100644 --- a/packages/bundlemon/src/main/utils/ci/providers/travis.ts +++ b/packages/bundlemon/src/main/utils/ci/providers/travis.ts @@ -12,6 +12,7 @@ const provider: Provider = { const isPushEvent = getEnvVar('TRAVIS_EVENT_TYPE') === 'push'; return { + ci: true, owner, repo, branch: isPushEvent ? getEnvVar('TRAVIS_BRANCH') : getEnvVar('TRAVIS_PULL_REQUEST_BRANCH'), diff --git a/packages/bundlemon/src/main/utils/ci/types.ts b/packages/bundlemon/src/main/utils/ci/types.ts index 17c23a5..4b30649 100644 --- a/packages/bundlemon/src/main/utils/ci/types.ts +++ b/packages/bundlemon/src/main/utils/ci/types.ts @@ -1,4 +1,5 @@ export interface CIEnvVars { + ci: boolean; owner?: string; repo?: string; branch?: string; diff --git a/packages/bundlemon/src/main/utils/configUtils.ts b/packages/bundlemon/src/main/utils/configUtils.ts index e5cff87..b965179 100644 --- a/packages/bundlemon/src/main/utils/configUtils.ts +++ b/packages/bundlemon/src/main/utils/configUtils.ts @@ -1,11 +1,19 @@ import * as path from 'path'; import * as yup from 'yup'; -import * as bytes from 'bytes'; +import bytes from 'bytes'; import ciVars from '../utils/ci'; -import { Config, NormalizedConfig, NormalizedFileConfig, GitVars, FileConfig } from '../types'; +import { + Config, + NormalizedConfig, + NormalizedFileConfig, + FileConfig, + BaseNormalizedConfig, + ProjectIdentifiers, +} from '../types'; import logger from '../../common/logger'; import { Compression } from 'bundlemon-utils'; import { validateYup } from './validationUtils'; +import { EnvVar } from '../../common/consts'; function normalizedFileConfig(file: FileConfig, defaultCompression: Compression): NormalizedFileConfig { const { maxSize, ...rest } = file; @@ -13,29 +21,7 @@ function normalizedFileConfig(file: FileConfig, defaultCompression: Compression) return { maxSize: maxSize ? bytes(maxSize) : undefined, compression: defaultCompression, ...rest }; } -export function normalizeConfig(config: Config): NormalizedConfig { - const { - baseDir = process.cwd(), - files, - groups = [], - defaultCompression: defaultCompressionOption, - ...restConfig - } = config; - const defaultCompression: Compression = defaultCompressionOption || Compression.Gzip; - - return { - baseDir: path.resolve(baseDir), - verbose: false, - defaultCompression, - reportOutput: [], - onlyLocalAnalyze: false, - files: files.map((f) => normalizedFileConfig(f, defaultCompression)), - groups: groups.map((f) => normalizedFileConfig(f, defaultCompression)), - ...restConfig, - }; -} - -export function validateConfig(config: Config): config is Config { +function getConfigSchema() { const fileSchema = yup .object() .required() @@ -60,14 +46,13 @@ export function validateConfig(config: Config): config is Config { maxPercentIncrease: yup.number().optional().positive(), }); - const schema = yup + const configSchema = yup .object() .required() .shape({ baseDir: yup.string().optional(), verbose: yup.boolean().optional(), defaultCompression: yup.string().optional().oneOf(Object.values(Compression)), - onlyLocalAnalyze: yup.boolean().optional(), reportOutput: yup .array() .of( @@ -77,10 +62,49 @@ export function validateConfig(config: Config): config is Config { groups: yup.array().optional().of(fileSchema), }); - return validateYup(schema, config, 'bundlemon'); + return configSchema; } -export function getGitVars(): GitVars | undefined { +export function validateConfig(config: Config): NormalizedConfig | undefined { + const validatedConfig = validateYup(getConfigSchema(), config, 'bundlemon'); + + if (!validatedConfig) { + return undefined; + } + + const { + baseDir = process.cwd(), + files, + groups = [], + defaultCompression: defaultCompressionOption, + ...restConfig + } = config; + const defaultCompression: Compression = defaultCompressionOption || Compression.Gzip; + + const isRemote = ciVars.ci && process.env[EnvVar.remoteFlag] !== 'false'; + + const baseNormalizedConfig: Omit = { + baseDir: path.resolve(baseDir), + verbose: false, + defaultCompression, + reportOutput: [], + files: files.map((f) => normalizedFileConfig(f, defaultCompression)), + groups: groups.map((f) => normalizedFileConfig(f, defaultCompression)), + ...restConfig, + }; + + if (!isRemote) { + return { ...baseNormalizedConfig, remote: false }; + } + + // Remote is enabled, validate remote config + + const projectIdentifiers = getProjectIdentifiers(); + + if (!projectIdentifiers) { + return undefined; + } + const { branch, commitSha, targetBranch, prNumber } = ciVars; if (!branch) { @@ -94,9 +118,26 @@ export function getGitVars(): GitVars | undefined { } return { - branch, - commitSha, - baseBranch: targetBranch, - prNumber, + ...baseNormalizedConfig, + remote: true, + gitVars: { branch, commitSha, baseBranch: targetBranch, prNumber }, + getProjectIdentifiers: () => projectIdentifiers, }; } + +function getProjectIdentifiers(): ProjectIdentifiers | undefined { + const projectId = process.env[EnvVar.projectId]; + const apiKey = process.env[EnvVar.projectApiKey]; + + if (!projectId) { + logger.error(`Missing "${EnvVar.projectId}" env var`); + return undefined; + } + + if (!apiKey) { + logger.error(`Missing "${EnvVar.projectApiKey}" env var`); + return undefined; + } + + return { projectId, apiKey }; +} diff --git a/packages/bundlemon/src/main/utils/validationUtils.ts b/packages/bundlemon/src/main/utils/validationUtils.ts index 6e2454e..e99498f 100644 --- a/packages/bundlemon/src/main/utils/validationUtils.ts +++ b/packages/bundlemon/src/main/utils/validationUtils.ts @@ -1,11 +1,9 @@ import * as yup from 'yup'; import logger from '../../common/logger'; -export function validateYup(schema: yup.Schema, value: T, configName: string): value is T { +export function validateYup(schema: yup.Schema, value: unknown, configName: string): T | undefined { try { - schema.validateSync(value, { abortEarly: false, strict: true }); - - return true; + return schema.validateSync(value, { abortEarly: false, strict: false }); } catch (err) { let error = err; @@ -16,5 +14,5 @@ export function validateYup(schema: yup.Schema, value: T, configName: stri logger.error(`Validation error in ${configName} config`, error); } - return false; + return undefined; } diff --git a/service/.eslintrc.json b/service/.eslintrc.json new file mode 100644 index 0000000..08e54d1 --- /dev/null +++ b/service/.eslintrc.json @@ -0,0 +1,4 @@ +{ + "extends": ["../.eslintrc.json"], + "env": { "browser": true } +} diff --git a/service/.gitignore b/service/.gitignore new file mode 100644 index 0000000..16c5327 --- /dev/null +++ b/service/.gitignore @@ -0,0 +1,2 @@ +dist + diff --git a/service/.vercelignore b/service/.vercelignore new file mode 100644 index 0000000..60bf2f5 --- /dev/null +++ b/service/.vercelignore @@ -0,0 +1,7 @@ +.npmrc +.vscode +.DS_STORE +build +dist +.vercel +.env diff --git a/service/api/serverless.js b/service/api/serverless.js new file mode 100644 index 0000000..5ed57dc --- /dev/null +++ b/service/api/serverless.js @@ -0,0 +1,9 @@ +import init from '../src/app'; + +export default async (req, res) => { + const app = init(); + + await app.ready(); + + app.server.emit('request', req, res); +}; diff --git a/service/package.json b/service/package.json new file mode 100644 index 0000000..7482ac6 --- /dev/null +++ b/service/package.json @@ -0,0 +1,42 @@ +{ + "name": "bundlemon-service", + "version": "1.0.0", + "private": true, + "license": "MIT", + "scripts": { + "start:server:watch": "nodemon --watch \"src/*\" --exec ts-node -r dotenv/config \"src/app.ts\"", + "start:watch": "nodemon --watch \"src/*\" --ignore \"src/consts/schemas.ts\" --ext \".ts\" --exec \"yarn generate-schemas && ts-node src/app.ts\"", + "watch": "tsc --watch --preserveWatchOutput --pretty", + "start:dev": "docker-compose -f docker-compose.dev.yml up --build", + "prebuild": "yarn generate-schemas", + "build": "rimraf dist/ && tsc", + "generate-schemas": "node ./scripts/generateSchemas.js", + "lint": "eslint --max-warnings=0 \"src/**/*\"", + "lint:fix": "yarn lint --fix", + "type-check": "tsc --noEmit", + "prevercel-deploy": "yarn lint && yarn type-check", + "vercel-deploy": "vercel deploy" + }, + "dependencies": { + "@octokit/auth-app": "^3.4.0", + "@octokit/rest": "^18.5.3", + "aws-lambda-fastify": "^1.4.4", + "bundlemon-utils": "^0.3.0", + "bytes": "^3.1.0", + "env-var": "^7.0.1", + "fastify": "^3.15.1", + "fastify-cors": "^6.0.1", + "mongodb": "^3.6.8" + }, + "devDependencies": { + "@types/bytes": "^3.1.0", + "@types/fastify-cors": "^2.1.0", + "@types/mongodb": "^3.6.16", + "dotenv": "^10.0.0", + "nodemon": "^2.0.7", + "rimraf": "^3.0.2", + "ts-json-schema-generator": "^0.92.0", + "ts-node": "^9.1.1", + "vercel": "^21.3.3" + } +} diff --git a/service/public/index.html b/service/public/index.html new file mode 100644 index 0000000..9208f66 --- /dev/null +++ b/service/public/index.html @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/service/scripts/generateSchemas.js b/service/scripts/generateSchemas.js new file mode 100644 index 0000000..9de4d50 --- /dev/null +++ b/service/scripts/generateSchemas.js @@ -0,0 +1,34 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ + +const { writeFileSync } = require('fs'); +const path = require('path'); +const { execSync } = require('child_process'); +const { createGenerator } = require('ts-json-schema-generator'); + +const startTime = Date.now(); + +const output_path = './src/consts/schemas.ts'; + +const schema = createGenerator({ + path: './src/types/schemas/**/*.ts', + tsconfig: './tsconfig.json', +}).createSchema('*'); + +let fileString = ''; + +for (let name of Object.keys(schema.definitions)) { + console.log(`create ${name} schema`); + fileString += `export const ${name} = ${JSON.stringify( + { $id: `#/definitions/${name}`, ...schema.definitions[name] }, + null, + 2 + )};\n\n`; +} + +writeFileSync(output_path, fileString); + +if (!process.env.CI) { + execSync(`yarn eslint "${output_path}" --fix`, { cwd: path.join(__dirname, '../'), stdio: 'inherit' }); +} + +console.log(`Done - ${Date.now() - startTime}ms`); diff --git a/service/src/app.ts b/service/src/app.ts new file mode 100644 index 0000000..82b141d --- /dev/null +++ b/service/src/app.ts @@ -0,0 +1,55 @@ +import fastify from 'fastify'; +import routes from './routes'; +import cors from 'fastify-cors'; +import * as schemas from './consts/schemas'; + +function init() { + const app = fastify({ + logger: true, + }); + + Object.values(schemas) + .filter((schema) => !schema.$id.endsWith('RequestSchema')) + .forEach((schema) => { + app.addSchema(schema); + }); + + app.register(cors); + app.register(routes); + + app.setErrorHandler((error, req, res) => { + // check if we have a validation error + if (error.validation) { + res.status(400).send({ + // @ts-ignore + message: `A validation error occurred when validating the ${error.validationContext}`, + errors: error.validation, + }); + + return; + } + + req.log.error(error); + + res.status(500).send('unknown error'); + }); + + return app; +} + +// If called directly i.e. "node app" +if (require.main === module) { + const app = init(); + + // TODO: serve static files? + + app.listen(3333, '0.0.0.0', (err) => { + if (err) { + app.log.fatal(err); + process.exit(1); + } + }); +} + +// Required as a module => executed on aws lambda +export default init; diff --git a/service/src/consts/commitRecords.ts b/service/src/consts/commitRecords.ts new file mode 100644 index 0000000..28143b4 --- /dev/null +++ b/service/src/consts/commitRecords.ts @@ -0,0 +1,6 @@ +export enum CommitRecordsQueryResolution { + All = 'all', + Days = 'days', + Weeks = 'weeks', + Months = 'months', +} diff --git a/service/src/consts/schemas.ts b/service/src/consts/schemas.ts new file mode 100644 index 0000000..90af995 --- /dev/null +++ b/service/src/consts/schemas.ts @@ -0,0 +1,620 @@ +export const BaseRequestSchema = { + $id: '#/definitions/BaseRequestSchema', + type: 'object', + properties: { + body: {}, + query: {}, + params: {}, + headers: {}, + }, + additionalProperties: false, +}; + +export const CreateCommitRecordRequestSchema = { + $id: '#/definitions/CreateCommitRecordRequestSchema', + type: 'object', + properties: { + body: { + $ref: '#/definitions/CommitRecordPayload', + }, + query: {}, + params: { + type: 'object', + properties: { + projectId: { + type: 'string', + pattern: '^[0-9a-fA-F]{24}$', + }, + }, + required: ['projectId'], + additionalProperties: false, + }, + headers: { + type: 'object', + properties: { + 'x-api-key': { + type: 'string', + minLength: 1, + }, + }, + required: ['x-api-key'], + additionalProperties: false, + }, + }, + required: ['body', 'params', 'headers'], + additionalProperties: false, +}; + +export const CommitRecordPayload = { + $id: '#/definitions/CommitRecordPayload', + type: 'object', + properties: { + files: { + type: 'array', + items: { + $ref: '#/definitions/FileDetails', + }, + }, + groups: { + type: 'array', + items: { + $ref: '#/definitions/FileDetails', + }, + }, + branch: { + type: 'string', + }, + commitSha: { + type: 'string', + }, + baseBranch: { + type: 'string', + }, + prNumber: { + type: 'string', + }, + }, + required: ['files', 'groups', 'branch', 'commitSha'], + additionalProperties: false, +}; + +export const FileDetails = { + $id: '#/definitions/FileDetails', + type: 'object', + properties: { + pattern: { + type: 'string', + }, + path: { + type: 'string', + }, + size: { + type: 'number', + }, + compression: { + $ref: '#/definitions/Compression', + }, + maxSize: { + type: 'number', + }, + maxPercentIncrease: { + type: 'number', + }, + }, + required: ['pattern', 'path', 'size', 'compression'], + additionalProperties: false, +}; + +export const Compression = { + $id: '#/definitions/Compression', + type: 'string', + enum: ['none', 'gzip'], +}; + +export const GetCommitRecordRequestSchema = { + $id: '#/definitions/GetCommitRecordRequestSchema', + type: 'object', + properties: { + body: {}, + query: {}, + params: { + type: 'object', + properties: { + projectId: { + type: 'string', + pattern: '^[0-9a-fA-F]{24}$', + }, + recordId: { + type: 'string', + }, + }, + required: ['projectId', 'recordId'], + additionalProperties: false, + }, + headers: {}, + }, + required: ['params'], + additionalProperties: false, +}; + +export const GetCommitRecordsQuery = { + $id: '#/definitions/GetCommitRecordsQuery', + type: 'object', + properties: { + branch: { + type: 'string', + }, + latest: { + type: 'boolean', + }, + resolution: { + $ref: '#/definitions/CommitRecordsQueryResolution', + }, + }, + required: ['branch'], + additionalProperties: false, +}; + +export const CommitRecordsQueryResolution = { + $id: '#/definitions/CommitRecordsQueryResolution', + type: 'string', + enum: ['all', 'days', 'weeks', 'months'], +}; + +export const GetCommitRecordsRequestSchema = { + $id: '#/definitions/GetCommitRecordsRequestSchema', + type: 'object', + properties: { + body: {}, + query: { + $ref: '#/definitions/GetCommitRecordsQuery', + }, + params: { + type: 'object', + properties: { + projectId: { + type: 'string', + pattern: '^[0-9a-fA-F]{24}$', + }, + }, + required: ['projectId'], + additionalProperties: false, + }, + headers: {}, + }, + required: ['params', 'query'], + additionalProperties: false, +}; + +export const CreateGithubCheckRequestSchema = { + $id: '#/definitions/CreateGithubCheckRequestSchema', + type: 'object', + properties: { + body: { + type: 'object', + properties: { + report: { + $ref: '#/definitions/Report', + }, + git: { + type: 'object', + properties: { + owner: { + type: 'string', + }, + repo: { + type: 'string', + }, + commitSha: { + type: 'string', + }, + }, + required: ['owner', 'repo', 'commitSha'], + additionalProperties: false, + }, + }, + required: ['report', 'git'], + additionalProperties: false, + }, + query: {}, + params: { + type: 'object', + properties: { + projectId: { + type: 'string', + pattern: '^[0-9a-fA-F]{24}$', + }, + }, + required: ['projectId'], + additionalProperties: false, + }, + headers: { + type: 'object', + properties: { + 'x-api-key': { + type: 'string', + minLength: 1, + }, + }, + required: ['x-api-key'], + additionalProperties: false, + }, + }, + required: ['body', 'params', 'headers'], + additionalProperties: false, +}; + +export const Report = { + $id: '#/definitions/Report', + type: 'object', + properties: { + files: { + type: 'array', + items: { + $ref: '#/definitions/FileDetailsDiff', + }, + }, + stats: { + $ref: '#/definitions/DiffStats', + }, + groups: { + type: 'array', + items: { + $ref: '#/definitions/FileDetailsDiff', + }, + }, + status: { + $ref: '#/definitions/Status', + }, + metadata: { + $ref: '#/definitions/ReportMetadata', + }, + }, + required: ['files', 'groups', 'metadata', 'stats', 'status'], + additionalProperties: false, +}; + +export const DiffReport = { + $id: '#/definitions/DiffReport', + type: 'object', + properties: { + files: { + type: 'array', + items: { + $ref: '#/definitions/FileDetailsDiff', + }, + }, + stats: { + $ref: '#/definitions/DiffStats', + }, + groups: { + type: 'array', + items: { + $ref: '#/definitions/FileDetailsDiff', + }, + }, + status: { + $ref: '#/definitions/Status', + }, + }, + required: ['files', 'stats', 'groups', 'status'], + additionalProperties: false, +}; + +export const FileDetailsDiff = { + $id: '#/definitions/FileDetailsDiff', + anyOf: [ + { + type: 'object', + additionalProperties: false, + properties: { + status: { + type: 'string', + const: 'Pass', + }, + failReasons: { + not: {}, + }, + diff: { + $ref: '#/definitions/DiffFromBase', + }, + pattern: { + type: 'string', + }, + path: { + type: 'string', + }, + size: { + type: 'number', + }, + compression: { + $ref: '#/definitions/Compression', + }, + maxSize: { + type: 'number', + }, + maxPercentIncrease: { + type: 'number', + }, + }, + required: ['compression', 'diff', 'path', 'pattern', 'size', 'status'], + }, + { + type: 'object', + additionalProperties: false, + properties: { + status: { + type: 'string', + const: 'Fail', + }, + failReasons: { + type: 'array', + items: { + $ref: '#/definitions/FailReason', + }, + }, + diff: { + $ref: '#/definitions/DiffFromBase', + }, + pattern: { + type: 'string', + }, + path: { + type: 'string', + }, + size: { + type: 'number', + }, + compression: { + $ref: '#/definitions/Compression', + }, + maxSize: { + type: 'number', + }, + maxPercentIncrease: { + type: 'number', + }, + }, + required: ['compression', 'diff', 'failReasons', 'path', 'pattern', 'size', 'status'], + }, + ], +}; + +export const DiffFromBase = { + $id: '#/definitions/DiffFromBase', + type: 'object', + properties: { + bytes: { + type: 'number', + }, + percent: { + type: 'number', + }, + change: { + $ref: '#/definitions/DiffChange', + }, + }, + required: ['bytes', 'percent', 'change'], + additionalProperties: false, +}; + +export const DiffChange = { + $id: '#/definitions/DiffChange', + type: 'string', + enum: ['No change', 'Update', 'Add', 'Remove'], +}; + +export const FailReason = { + $id: '#/definitions/FailReason', + type: 'string', + enum: ['MaxSize', 'MaxPercentIncrease'], +}; + +export const DiffStats = { + $id: '#/definitions/DiffStats', + type: 'object', + properties: { + currBranchSize: { + type: 'number', + }, + baseBranchSize: { + type: 'number', + }, + diff: { + type: 'object', + properties: { + bytes: { + type: 'number', + }, + percent: { + type: 'number', + }, + }, + required: ['bytes', 'percent'], + additionalProperties: false, + }, + }, + required: ['currBranchSize', 'baseBranchSize', 'diff'], + additionalProperties: false, +}; + +export const Status = { + $id: '#/definitions/Status', + type: 'string', + enum: ['Pass', 'Fail'], +}; + +export const ReportMetadata = { + $id: '#/definitions/ReportMetadata', + type: 'object', + properties: { + linkToReport: { + type: 'string', + }, + record: { + $ref: '#/definitions/CommitRecord', + }, + baseRecord: { + $ref: '#/definitions/CommitRecord', + }, + }, + additionalProperties: false, +}; + +export const CommitRecord = { + $id: '#/definitions/CommitRecord', + type: 'object', + properties: { + files: { + type: 'array', + items: { + $ref: '#/definitions/FileDetails', + }, + }, + groups: { + type: 'array', + items: { + $ref: '#/definitions/FileDetails', + }, + }, + branch: { + type: 'string', + }, + commitSha: { + type: 'string', + }, + baseBranch: { + type: 'string', + }, + prNumber: { + type: 'string', + }, + id: { + type: 'string', + }, + projectId: { + type: 'string', + }, + creationDate: { + type: 'string', + }, + }, + required: ['branch', 'commitSha', 'creationDate', 'files', 'groups', 'id', 'projectId'], + additionalProperties: false, +}; + +export const CreateGithubCommitStatusRequestSchema = { + $id: '#/definitions/CreateGithubCommitStatusRequestSchema', + type: 'object', + properties: { + body: { + type: 'object', + properties: { + report: { + $ref: '#/definitions/Report', + }, + git: { + type: 'object', + properties: { + owner: { + type: 'string', + }, + repo: { + type: 'string', + }, + commitSha: { + type: 'string', + }, + }, + required: ['owner', 'repo', 'commitSha'], + additionalProperties: false, + }, + }, + required: ['report', 'git'], + additionalProperties: false, + }, + query: {}, + params: { + type: 'object', + properties: { + projectId: { + type: 'string', + pattern: '^[0-9a-fA-F]{24}$', + }, + }, + required: ['projectId'], + additionalProperties: false, + }, + headers: { + type: 'object', + properties: { + 'x-api-key': { + type: 'string', + minLength: 1, + }, + }, + required: ['x-api-key'], + additionalProperties: false, + }, + }, + required: ['body', 'params', 'headers'], + additionalProperties: false, +}; + +export const PostGithubPRCommentRequestSchema = { + $id: '#/definitions/PostGithubPRCommentRequestSchema', + type: 'object', + properties: { + body: { + type: 'object', + properties: { + report: { + $ref: '#/definitions/Report', + }, + git: { + type: 'object', + properties: { + owner: { + type: 'string', + }, + repo: { + type: 'string', + }, + prNumber: { + type: 'string', + }, + }, + required: ['owner', 'repo', 'prNumber'], + additionalProperties: false, + }, + }, + required: ['report', 'git'], + additionalProperties: false, + }, + query: {}, + params: { + type: 'object', + properties: { + projectId: { + type: 'string', + pattern: '^[0-9a-fA-F]{24}$', + }, + }, + required: ['projectId'], + additionalProperties: false, + }, + headers: { + type: 'object', + properties: { + 'x-api-key': { + type: 'string', + minLength: 1, + }, + }, + required: ['x-api-key'], + additionalProperties: false, + }, + }, + required: ['body', 'params', 'headers'], + additionalProperties: false, +}; diff --git a/service/src/controllers/commitRecordsController.ts b/service/src/controllers/commitRecordsController.ts new file mode 100644 index 0000000..37e21c3 --- /dev/null +++ b/service/src/controllers/commitRecordsController.ts @@ -0,0 +1,78 @@ +import { getProjectApiKeyHash, createCommitRecord, getCommitRecords, getCommitRecord } from '../framework/mongo'; +import { verifyHash } from '../utils/hashUtils'; + +import type { + FastifyValidatedRoute, + CreateCommitRecordRequestSchema, + GetCommitRecordRequestSchema, + GetCommitRecordsRequestSchema, +} from '../types/schemas'; +import type { BaseCommitRecordResponse, CommitRecord, CreateCommitRecordResponse } from 'bundlemon-utils'; + +export const getCommitRecordsController: FastifyValidatedRoute = async (req, res) => { + const records = await getCommitRecords(req.params.projectId, req.query); + + res.send(records); +}; + +export const createCommitRecordController: FastifyValidatedRoute = async ( + req, + res +) => { + const { + params: { projectId }, + body, + headers, + } = req; + + const hash = await getProjectApiKeyHash(projectId); + + if (!hash || !(await verifyHash(headers['x-api-key'], hash))) { + res.status(403).send(''); + return; + } + + let baseRecord: CommitRecord | undefined; + + if (body.baseBranch) { + try { + baseRecord = (await getCommitRecords(projectId, { branch: body.baseBranch, latest: true }))?.[0]; + + console.log({ message: 'baseRecord fetched', extra: { baseRecord } }); + } catch (err) { + console.error({ message: 'Error while fetching base branch', err }); + } + } + + const record = await createCommitRecord(projectId, body); + + console.log({ message: 'commit record created', extra: { record } }); + + // TODO: linkToReport + const response: CreateCommitRecordResponse = { record, baseRecord, linkToReport: '' }; + + res.send(response); +}; + +export const getCommitRecordWithBaseController: FastifyValidatedRoute = async ( + req, + res +) => { + const { projectId, recordId } = req.params; + + const record = await getCommitRecord({ projectId, commitRecordId: recordId }); + + if (!record) { + console.info(`Commit record "${recordId}" in project "${projectId}" not found`); + res.status(404).send(''); + return; + } + + const baseRecord = record.baseBranch + ? (await getCommitRecords(projectId, { branch: record.baseBranch, latest: true }))?.[0] + : undefined; + + const response: BaseCommitRecordResponse = { record, baseRecord }; + + res.send(response); +}; diff --git a/service/src/controllers/githubController.ts b/service/src/controllers/githubController.ts new file mode 100644 index 0000000..596c981 --- /dev/null +++ b/service/src/controllers/githubController.ts @@ -0,0 +1,175 @@ +import { Status } from 'bundlemon-utils'; +import { getReportConclusionText } from 'bundlemon-utils/lib/cjs/textUtils'; +import { + getInstallationId, + getGithubToken, + createCheck, + createCommitStatus, + createOrUpdatePRComment, + COMMENT_IDENTIFIER, +} from '../framework/github'; +import { getProjectApiKeyHash } from '../framework/mongo'; +import { verifyHash } from '../utils/hashUtils'; +import { generateReportMarkdown } from './utils/markdownReportGenerator'; + +import type { + FastifyValidatedRoute, + CreateGithubCheckRequestSchema, + CreateGithubCommitStatusRequestSchema, + PostGithubPRCommentRequestSchema, +} from '../types/schemas'; +import type { FastifyReply } from 'fastify'; + +export interface GetGithubAppTokenParams { + projectId: string; + apiKey: string; + owner: string; + repo: string; +} + +async function getGithubAppToken({ projectId, apiKey, owner, repo }: GetGithubAppTokenParams, res: FastifyReply) { + const hash = await getProjectApiKeyHash(projectId); + + if (!hash || !(await verifyHash(apiKey, hash))) { + res.status(403).send(''); + return undefined; + } + + const installationId = await getInstallationId(owner, repo); + + if (!installationId) { + res.status(404).send({ + error: `BundleMon GitHub app is not installed on this repo (${owner}/${repo})`, + }); + return undefined; + } + + const token = await getGithubToken(installationId); + + return token; +} + +export const createGithubCheckController: FastifyValidatedRoute = async (req, res) => { + try { + const { + params: { projectId }, + headers: { 'x-api-key': apiKey }, + body: { + git: { owner, repo, commitSha }, + report, + }, + } = req; + + const token = await getGithubAppToken({ projectId, apiKey, owner, repo }, res); + + if (!token) { + return; + } + + const summary = generateReportMarkdown(report); + + req.log.info(`summary length: ${summary.length}`); + + const checkRes = await createCheck({ + owner, + repo, + commitSha, + token, + detailsUrl: report.metadata.linkToReport || undefined, + title: getReportConclusionText(report), + summary, + conclusion: report.status === Status.Pass ? 'success' : 'failure', + }); + + res.send(checkRes); + } catch (err) { + req.log.error(err); + + res.status(500).send({ + message: 'failed to create check', + error: err.message, + }); + } +}; + +export const createGithubCommitStatusController: FastifyValidatedRoute = async ( + req, + res +) => { + try { + const { + params: { projectId }, + headers: { 'x-api-key': apiKey }, + body: { + git: { owner, repo, commitSha }, + report, + }, + } = req; + + const token = await getGithubAppToken({ projectId, apiKey, owner, repo }, res); + + if (!token) { + return; + } + + const checkRes = await createCommitStatus({ + owner, + repo, + commitSha, + token, + state: report.status === Status.Pass ? 'success' : 'error', + description: getReportConclusionText(report), + targetUrl: report.metadata.linkToReport || undefined, + }); + + res.send(checkRes); + } catch (err) { + req.log.error(err); + + res.status(500).send({ + message: 'failed to create commit status', + error: err.message, + }); + } +}; + +export const postGithubPRCommentController: FastifyValidatedRoute = async ( + req, + res +) => { + try { + const { + params: { projectId }, + headers: { 'x-api-key': apiKey }, + body: { + git: { owner, repo, prNumber }, + report, + }, + } = req; + + const token = await getGithubAppToken({ projectId, apiKey, owner, repo }, res); + + if (!token) { + return; + } + + const body = `${COMMENT_IDENTIFIER}\n## BundleMon\n${generateReportMarkdown(report)}`; + + const checkRes = await createOrUpdatePRComment({ + owner, + repo, + prNumber, + token, + body, + }); + + res.send(checkRes); + } catch (err) { + req.log.error(err); + + res.status(500).send({ + message: 'failed to post PR comment', + error: err.message, + }); + } +}; diff --git a/service/src/controllers/projectsController.ts b/service/src/controllers/projectsController.ts new file mode 100644 index 0000000..6f94b4a --- /dev/null +++ b/service/src/controllers/projectsController.ts @@ -0,0 +1,18 @@ +import { randomBytes } from 'crypto'; +import { createProject } from '../framework/mongo'; +import { createHash } from '../utils/hashUtils'; + +import type { CreateProjectResponse } from 'bundlemon-utils'; +import type { RouteHandlerMethod } from 'fastify'; + +export const createProjectController: RouteHandlerMethod = async (_req, res) => { + const apiKey = randomBytes(32).toString('hex'); + const startKey = apiKey.substring(0, 3); + + const hash = await createHash(apiKey); + const projectId = await createProject({ hash, startKey }); + + const response: CreateProjectResponse = { projectId, apiKey }; + + res.send(response); +}; diff --git a/service/src/controllers/utils/markdownReportGenerator.ts b/service/src/controllers/utils/markdownReportGenerator.ts new file mode 100644 index 0000000..5344245 --- /dev/null +++ b/service/src/controllers/utils/markdownReportGenerator.ts @@ -0,0 +1,237 @@ +import bytes from 'bytes'; +import { DiffChange, Status, FileDetailsDiff, FailReason, Report, CommitRecord } from 'bundlemon-utils'; +import { getDiffPercentText, getDiffSizeText, getLimitsCellText } from 'bundlemon-utils/lib/cjs/textUtils'; +import { escapeMarkdown, formatText, generateMarkdownTable } from './markdownUtils'; +import { CommitRecordsQueryResolution } from '../../consts/commitRecords'; + +function sortBySizeDESC(a: FileDetailsDiff, b: FileDetailsDiff) { + return b.size - a.size; +} + +function sortByDiffSizeASC(a: FileDetailsDiff, b: FileDetailsDiff) { + return a.diff.bytes - b.diff.bytes; +} + +function sortByDiffSizeDESC(a: FileDetailsDiff, b: FileDetailsDiff) { + return b.diff.bytes - a.diff.bytes; +} + +interface DiffSectionConfig { + compareFn: (a: FileDetailsDiff, b: FileDetailsDiff) => number; + isSectionOpen: boolean; +} + +const diffSectionConfig: Record = { + [DiffChange.Add]: { + compareFn: sortBySizeDESC, + isSectionOpen: true, + }, + [DiffChange.Remove]: { + compareFn: sortByDiffSizeASC, + isSectionOpen: true, + }, + [DiffChange.Update]: { + compareFn: sortByDiffSizeDESC, + isSectionOpen: true, + }, + [DiffChange.NoChange]: { + compareFn: sortBySizeDESC, + isSectionOpen: false, + }, +}; + +function normalizePath(path: string): string { + return escapeMarkdown(path.replace(/(.{1,45})/g, '$1
')); +} + +function getSizeCellText(file: FileDetailsDiff) { + const prettySize = bytes(file.size); + const sizeText = formatText(prettySize, { bold: file.failReasons?.includes(FailReason.MaxSize) }); + + switch (file.diff.change) { + case DiffChange.NoChange: + return sizeText; + case DiffChange.Add: + return formatText(getDiffSizeText(file.size), { bold: file.failReasons?.includes(FailReason.MaxSize) }); + case DiffChange.Remove: + return getDiffSizeText(file.diff.bytes); + case DiffChange.Update: + default: + return sizeText.concat( + ` (${getDiffSizeText(file.diff.bytes)} ${formatText(getDiffPercentText(file.diff.percent), { + bold: file.failReasons?.includes(FailReason.MaxPercentIncrease), + })})` + ); + } +} + +function getSectionTitle(change: DiffChange, isGroup = false) { + const type = isGroup ? 'Groups' : 'Files'; + + switch (change) { + case DiffChange.Add: + return `${type} added`; + case DiffChange.Remove: + return `${type} removed`; + case DiffChange.Update: + return `${type} updated`; + case DiffChange.NoChange: + return `Unchanged ${type.toLowerCase()}`; + } +} + +function generateDiffTables(files: FileDetailsDiff[], isGroup: boolean) { + const filesByChange: Record = { + [DiffChange.Add]: [], + [DiffChange.Remove]: [], + [DiffChange.Update]: [], + [DiffChange.NoChange]: [], + }; + + files.forEach((f) => { + filesByChange[f.diff.change].push(f); + }); + + return ` + ${generateFileDetailsDiffSection({ + change: DiffChange.Add, + filesByChange, + isGroup, + })} + + ${generateFileDetailsDiffSection({ + change: DiffChange.Remove, + filesByChange, + isGroup, + })} + + ${generateFileDetailsDiffSection({ + change: DiffChange.Update, + filesByChange, + isGroup, + })} + + ${generateFileDetailsDiffSection({ + change: DiffChange.NoChange, + filesByChange, + isGroup, + })} +`; +} + +interface GetReportsPageLinkParams { + projectId: string; + branch: string; + resolution: CommitRecordsQueryResolution; + text: string; +} + +function getReportsPageLink({ projectId, branch, resolution, text }: GetReportsPageLinkParams): string { + return `
${text}`; +} + +interface GenerateFileDetailsDiffSectionParams { + change: DiffChange; + filesByChange: Record; + isGroup: boolean; +} + +function generateFileDetailsDiffSection({ filesByChange, change, isGroup }: GenerateFileDetailsDiffSectionParams) { + const { isSectionOpen, compareFn } = diffSectionConfig[change]; + const files = filesByChange[change].sort(compareFn); + + if (files.length === 0) { + return ''; + } + + let body = ` + +

${getSectionTitle(change, isGroup)} (${files.length})\n\n`; + + body += generateMarkdownTable({ + columns: [ + { label: 'Status', center: true }, + { label: 'Path', center: false }, + { label: 'Size', center: true }, + { label: 'Limits', center: true }, + ], + rows: files.map((file) => [ + file.status === Status.Pass ? ':white_check_mark:' : ':x:', + normalizePath(file.path), + getSizeCellText(file), + getLimitsCellText(file), + ]), + }); + + body += '\n'; + + return body; +} + +// TODO: max 65535 chars +export function generateReportMarkdown({ + files, + groups, + stats, + status, + metadata: { linkToReport, record, baseRecord }, +}: Report): string { + let body = ''; + + if (files.length > 0) { + body += `${generateDiffTables(files, false)}\n\n`; + } + + if (stats.diff.bytes === 0) { + body += 'No change in files bundle size'; + } else { + body += `Total files change ${getDiffSizeText(stats.diff.bytes)} ${ + Number.isFinite(stats.diff.percent) ? getDiffPercentText(stats.diff.percent) : '' + }`; + } + + body += '\n\n'; + + if (groups.length > 0) { + body += `${generateDiffTables(groups, true)}\n\n`; + } + + body += `Final result: ${status === Status.Pass ? ':white_check_mark:' : ':x:'}`; + + if (linkToReport) { + body += `\n\n[View report in BundleMon website ➡️](${linkToReport})`; + } + + if (record || baseRecord) { + const projectId = ((record || baseRecord) as CommitRecord).projectId; + + const links: string[] = []; + + if (record) { + links.push( + getReportsPageLink({ + projectId, + branch: record.branch, + resolution: CommitRecordsQueryResolution.All, + text: 'Current branch size history', + }) + ); + } + + if (baseRecord) { + links.push( + getReportsPageLink({ + projectId, + branch: baseRecord.branch, + resolution: CommitRecordsQueryResolution.Days, + text: 'Target branch size history', + }) + ); + } + + // TODO: temp + // body += `\n\n---\n

${links.join(' | ')}

`; + } + + return body; +} diff --git a/service/src/controllers/utils/markdownUtils.ts b/service/src/controllers/utils/markdownUtils.ts new file mode 100644 index 0000000..61ec2ac --- /dev/null +++ b/service/src/controllers/utils/markdownUtils.ts @@ -0,0 +1,44 @@ +export function escapeMarkdown(str: string): string { + return str.replace(/~/g, '\\~'); +} + +interface FormatTextOptions { + bold?: boolean; +} + +export function formatText(text: string, { bold = false }: FormatTextOptions) { + if (bold) { + return `**${text}**`; + } + + return text; +} + +interface Column { + label: string; + center?: boolean; +} + +interface GenerateTableParams { + columns: Column[]; + rows: string[][]; +} + +export function generateMarkdownTable({ columns, rows }: GenerateTableParams) { + let table = ''; + + table += columns + .map((column) => column.label) + .join(' | ') + .concat('\n'); + table += columns + .map((column) => (column.center ? ':------------:' : '------------')) + .join(' | ') + .concat('\n'); + table += rows + .map((row) => row.join(' | ')) + .join('\n') + .concat('\n'); + + return table; +} diff --git a/service/src/framework/env.ts b/service/src/framework/env.ts new file mode 100644 index 0000000..1e39be3 --- /dev/null +++ b/service/src/framework/env.ts @@ -0,0 +1,13 @@ +import * as env from 'env-var'; + +const getRequiredString = (key: string) => env.get(key).required().asString(); +const getOptionalString = (key: string) => env.get(key).asString(); + +export const nodeEnv = getRequiredString('NODE_ENV'); +export const mongoUrl = getRequiredString('MONGO_URL'); +export const mongoDbName = getRequiredString('MONGO_DB_NAME'); +export const mongoDbUser = getRequiredString('MONGO_DB_USER'); +export const mongoDbPassword = getRequiredString('MONGO_DB_PASSWORD'); + +export const githubAppId = getOptionalString('GITHUB_APP_ID'); +export const githubAppPrivateKey = getOptionalString('GITHUB_APP_PRIVATE_KEY'); diff --git a/service/src/framework/github.ts b/service/src/framework/github.ts new file mode 100644 index 0000000..0b9859e --- /dev/null +++ b/service/src/framework/github.ts @@ -0,0 +1,186 @@ +import { githubAppId, githubAppPrivateKey } from './env'; +import { Octokit } from '@octokit/rest'; +import { createAppAuth } from '@octokit/auth-app'; + +import type { RequestError } from '@octokit/types'; + +let _app: Octokit | undefined; + +const getApp = () => { + if (!_app) { + if (!githubAppId) { + throw new Error('githubAppId is empty'); + } + + if (!githubAppPrivateKey) { + throw new Error('githubAppPrivateKey is empty'); + } + + _app = new Octokit({ + authStrategy: createAppAuth, + auth: { appId: githubAppId, privateKey: githubAppPrivateKey.replace(/\\n/g, '\n') }, + }); + } + + return _app; +}; + +export const getInstallationId = async (owner: string, repo: string): Promise => { + try { + const { data } = await getApp().apps.getRepoInstallation({ owner, repo }); + + return data.id; + } catch (err) { + const reqErr = err as RequestError; + + if (reqErr.status === 404) { + return undefined; + } + + throw err; + } +}; + +export const getGithubToken = async (installationId: number): Promise => { + const res = await getApp().auth({ type: 'installation', installationId }); + + // @ts-ignore + return res.token; +}; + +interface CreateCheckParams { + owner: string; + repo: string; + commitSha: string; + token: string; + detailsUrl?: string; + title: string; + summary: string; + conclusion: 'success' | 'failure'; +} + +export const createCheck = async ({ + owner, + repo, + commitSha, + token, + detailsUrl, + title, + summary, + conclusion, +}: CreateCheckParams) => { + const octokit = new Octokit({ auth: token }); + + const { + data: { id, html_url }, + } = await octokit.checks.create({ + name: 'BundleMon', + owner, + repo, + conclusion, + head_sha: commitSha, + details_url: detailsUrl, + status: 'completed', + output: { title, summary }, + }); + + return { + id, + url: html_url, + }; +}; + +interface CreateCommitStatusParams { + owner: string; + repo: string; + commitSha: string; + token: string; + state: 'success' | 'error'; + description: string; + targetUrl?: string; +} + +export const createCommitStatus = async ({ + owner, + repo, + commitSha, + token, + state, + description, + targetUrl, +}: CreateCommitStatusParams) => { + const octokit = new Octokit({ auth: token }); + + const { + data: { id }, + } = await octokit.repos.createCommitStatus({ + owner, + repo, + sha: commitSha, + context: 'BundleMon', + state, + description, + target_url: targetUrl, + }); + + return { + id, + }; +}; + +export const COMMENT_IDENTIFIER = ''; + +interface CreateOrUpdatePRCommentParams { + owner: string; + repo: string; + prNumber: string; + token: string; + body: string; +} + +export const createOrUpdatePRComment = async ({ + owner, + repo, + prNumber, + token, + body, +}: CreateOrUpdatePRCommentParams) => { + const octokit = new Octokit({ auth: token }); + + const comments = await octokit.issues.listComments({ + owner, + repo, + issue_number: Number(prNumber), + }); + + const existingComment = comments.data.find((comment: any) => comment?.body?.startsWith(COMMENT_IDENTIFIER)); + + if (existingComment?.id) { + console.debug('Replace existing comment'); + + const { + data: { id }, + } = await octokit.issues.updateComment({ + owner, + repo, + issue_number: prNumber, + comment_id: existingComment.id, + body, + }); + + return { id }; + } + + console.debug('Post new comment'); + + const { + data: { id }, + } = await octokit.issues.createComment({ + owner, + repo, + issue_number: Number(prNumber), + body, + }); + + return { id }; +}; diff --git a/service/src/framework/mongo.ts b/service/src/framework/mongo.ts new file mode 100644 index 0000000..dba9c11 --- /dev/null +++ b/service/src/framework/mongo.ts @@ -0,0 +1,200 @@ +import { MongoClient, ReadPreference, Db, ObjectId, WithId, MongoClientOptions } from 'mongodb'; +import { mongoUrl, mongoDbName, nodeEnv, mongoDbUser, mongoDbPassword } from './env'; +import { CommitRecordsQueryResolution } from '../consts/commitRecords'; + +import type { CommitRecordPayload, CommitRecord } from 'bundlemon-utils'; +import type { GetCommitRecordsQuery } from '../types/schemas'; +import type { ProjectApiKey } from '../types'; + +interface CommitRecordDB extends WithId { + projectId: string; + creationDate: Date; +} + +interface ProjectDB extends WithId { + apiKey: ProjectApiKey; + creationDate: Date; +} + +let db: Db | undefined; + +const getDB = async () => { + if (!db) { + try { + const auth: MongoClientOptions['auth'] = + nodeEnv === 'production' ? { user: mongoDbUser, password: mongoDbPassword } : undefined; + + const client = await MongoClient.connect(`${mongoUrl}/${mongoDbName}?retryWrites=true&w=majority`, { + auth, + useNewUrlParser: true, + readPreference: ReadPreference.PRIMARY, + useUnifiedTopology: true, + }); + + db = client.db(mongoDbName); + } catch (err) { + throw new Error('Could not connect to mongo\n ' + err); + } + } + + return db; +}; + +const getCollection = async (collectionName: string) => (await getDB()).collection(collectionName); + +const getProjectsCollection = () => getCollection('projects'); +const getCommitRecordsCollection = () => getCollection('commitRecords'); + +export const createProject = async (apiKey: ProjectApiKey): Promise => { + const projectsCollection = await getProjectsCollection(); + const id = (await projectsCollection.insertOne({ apiKey, creationDate: new Date() })).insertedId; + + return id.toHexString(); +}; + +export const getProjectApiKeyHash = async (projectId: string): Promise => { + const projectsCollection = await getProjectsCollection(); + const data = await projectsCollection.findOne<{ apiKey: { hash: string } }>( + { _id: new ObjectId(projectId) }, + { projection: { 'apiKey.hash': 1, _id: 0 } } + ); + + return data?.apiKey?.hash; +}; + +const commitRecordDBToResponse = (record: CommitRecordDB): CommitRecord => { + const { _id, creationDate, ...restRecord } = record; + + return { id: _id.toHexString(), creationDate: creationDate.toISOString(), ...restRecord }; +}; + +export const createCommitRecord = async (projectId: string, record: CommitRecordPayload): Promise => { + const commitRecordsCollection = await getCommitRecordsCollection(); + const recordToSave: Omit = { ...record, projectId, creationDate: new Date() }; + + const result = await commitRecordsCollection.findOneAndReplace( + { projectId, commitSha: record.commitSha }, + recordToSave, + { + upsert: true, + returnOriginal: false, + } + ); + + const newRecord = result.value; + + if (!newRecord) { + throw new Error('Failed to findOneAndReplace record'); + } + + return commitRecordDBToResponse(newRecord); +}; + +export const getCommitRecord = async ({ + projectId, + commitRecordId, +}: { + projectId: string; + commitRecordId: string; +}): Promise => { + const commitRecordsCollection = await getCommitRecordsCollection(); + const record = await commitRecordsCollection.findOne>({ + _id: new ObjectId(commitRecordId), + projectId, + }); + + if (!record) { + return undefined; + } + + return commitRecordDBToResponse(record); +}; + +const MAX_RECORDS = 100; + +const resolutions: Record< + Exclude, + Record +> = { + [CommitRecordsQueryResolution.Days]: { + year: { + $year: '$creationDate', + }, + month: { + $month: '$creationDate', + }, + day: { + $dayOfMonth: '$creationDate', + }, + }, + [CommitRecordsQueryResolution.Weeks]: { + year: { + $year: '$creationDate', + }, + week: { + $week: '$creationDate', + }, + }, + [CommitRecordsQueryResolution.Months]: { + year: { + $year: '$creationDate', + }, + month: { + $month: '$creationDate', + }, + }, +}; + +export async function getCommitRecords( + projectId: string, + { branch, latest, resolution }: GetCommitRecordsQuery +): Promise { + const commitRecordsCollection = await getCommitRecordsCollection(); + + let records: CommitRecordDB[] = []; + + if (resolution && resolution !== CommitRecordsQueryResolution.All) { + records = await commitRecordsCollection + .aggregate([ + { + $match: { + projectId, + branch, + }, + }, + { + $sort: { + creationDate: -1, + }, + }, + { + $group: { + _id: resolutions[resolution], + doc: { + $first: '$$ROOT', + }, + }, + }, + { + $replaceRoot: { + newRoot: '$doc', + }, + }, + { + $sort: { + creationDate: -1, + }, + }, + { + $limit: latest ? 1 : MAX_RECORDS, + }, + ]) + .toArray(); + } else { + records = await commitRecordsCollection + .find({ projectId, branch: branch }, { sort: { creationDate: -1 }, limit: latest ? 1 : MAX_RECORDS }) + .toArray(); + } + + return records.map(commitRecordDBToResponse); +} diff --git a/service/src/routes/api/index.ts b/service/src/routes/api/index.ts new file mode 100644 index 0000000..26832ee --- /dev/null +++ b/service/src/routes/api/index.ts @@ -0,0 +1,11 @@ +import v1Routes from './v1'; + +import type { FastifyPluginCallback } from 'fastify'; + +const apiRoutes: FastifyPluginCallback = (app, _opts, done) => { + app.register(v1Routes, { prefix: '/v1' }); + + done(); +}; + +export default apiRoutes; diff --git a/service/src/routes/api/v1.ts b/service/src/routes/api/v1.ts new file mode 100644 index 0000000..1d4024f --- /dev/null +++ b/service/src/routes/api/v1.ts @@ -0,0 +1,75 @@ +import { + createCommitRecordController, + getCommitRecordsController, + getCommitRecordWithBaseController, +} from '../../controllers/commitRecordsController'; +import { createProjectController } from '../../controllers/projectsController'; +import { + CreateCommitRecordRequestSchema, + GetCommitRecordsRequestSchema, + GetCommitRecordRequestSchema, + CreateGithubCheckRequestSchema, + CreateGithubCommitStatusRequestSchema, + PostGithubPRCommentRequestSchema, +} from '../../consts/schemas'; + +import type { FastifyPluginCallback } from 'fastify'; +import { + createGithubCheckController, + createGithubCommitStatusController, + postGithubPRCommentController, +} from '../../controllers/githubController'; + +const commitRecordRoutes: FastifyPluginCallback = (app, _opts, done) => { + app.get('/base', { schema: GetCommitRecordRequestSchema.properties }, getCommitRecordWithBaseController); + + done(); +}; + +const commitRecordsRoutes: FastifyPluginCallback = (app, _opts, done) => { + app.get('/', { schema: GetCommitRecordsRequestSchema.properties }, getCommitRecordsController); + app.post('/', { schema: CreateCommitRecordRequestSchema.properties }, createCommitRecordController); + + app.register(commitRecordRoutes, { prefix: '/:commitRecordId' }); + + done(); +}; + +const outputsRoutes: FastifyPluginCallback = (app, _opts, done) => { + app.post('/github/check-run', { schema: CreateGithubCheckRequestSchema.properties }, createGithubCheckController); + app.post( + '/github/commit-status', + { schema: CreateGithubCommitStatusRequestSchema.properties }, + createGithubCommitStatusController + ); + app.post( + '/github/pr-comment', + { schema: PostGithubPRCommentRequestSchema.properties }, + postGithubPRCommentController + ); + + done(); +}; + +const projectRoutes: FastifyPluginCallback = (app, _opts, done) => { + app.register(commitRecordsRoutes, { prefix: '/commit-records' }); + app.register(outputsRoutes, { prefix: '/outputs' }); + + done(); +}; + +const projectsRoutes: FastifyPluginCallback = (app, _opts, done) => { + app.post('/', createProjectController); + + app.register(projectRoutes, { prefix: '/:projectId' }); + + done(); +}; + +const v1Routes: FastifyPluginCallback = (app, _opts, done) => { + app.register(projectsRoutes, { prefix: '/projects' }); + + done(); +}; + +export default v1Routes; diff --git a/service/src/routes/index.ts b/service/src/routes/index.ts new file mode 100644 index 0000000..bdfdcf2 --- /dev/null +++ b/service/src/routes/index.ts @@ -0,0 +1,12 @@ +import apiRoutes from './api'; + +import type { FastifyPluginCallback } from 'fastify'; + +const routes: FastifyPluginCallback = (app, _opts, done) => { + // TODO: prefix with /api if not using subdomain + app.register(apiRoutes, { prefix: '' }); + + done(); +}; + +export default routes; diff --git a/service/src/types.ts b/service/src/types.ts new file mode 100644 index 0000000..e6edc1c --- /dev/null +++ b/service/src/types.ts @@ -0,0 +1,10 @@ +export interface ProjectApiKey { + hash: string; + startKey: string; +} + +export interface Project { + id: string; + creationDate: string; + apiKey: ProjectApiKey; +} diff --git a/service/src/types/schemas/commitRecords.ts b/service/src/types/schemas/commitRecords.ts new file mode 100644 index 0000000..a55b6f8 --- /dev/null +++ b/service/src/types/schemas/commitRecords.ts @@ -0,0 +1,42 @@ +import type { CommitRecordPayload } from 'bundlemon-utils'; +import type { CommitRecordsQueryResolution } from '../../consts/commitRecords'; +import type { BaseRequestSchema } from './common'; + +interface ProjectIdParams { + /** + * @pattern ^[0-9a-fA-F]{24}$ + */ + projectId: string; +} + +interface CreateCommitRecordHeaders { + /** + * @minLength 1 + */ + 'x-api-key': string; +} + +export interface CreateCommitRecordRequestSchema extends BaseRequestSchema { + body: CommitRecordPayload; + params: ProjectIdParams; + headers: CreateCommitRecordHeaders; +} + +interface GetCommitRecordRequestParams extends ProjectIdParams { + recordId: string; +} + +export interface GetCommitRecordRequestSchema extends BaseRequestSchema { + params: GetCommitRecordRequestParams; +} + +export interface GetCommitRecordsQuery { + branch: string; + latest?: boolean; + resolution?: CommitRecordsQueryResolution; +} + +export interface GetCommitRecordsRequestSchema extends BaseRequestSchema { + params: ProjectIdParams; + query: GetCommitRecordsQuery; +} diff --git a/service/src/types/schemas/common.ts b/service/src/types/schemas/common.ts new file mode 100644 index 0000000..0546f1e --- /dev/null +++ b/service/src/types/schemas/common.ts @@ -0,0 +1,25 @@ +import type { + RawReplyDefaultExpression, + RawRequestDefaultExpression, + RawServerDefault, + RouteHandlerMethod, +} from 'fastify'; + +export interface BaseRequestSchema { + body?: unknown; + query?: unknown; + params?: unknown; + headers?: unknown; +} + +export type FastifyValidatedRoute = RouteHandlerMethod< + RawServerDefault, + RawRequestDefaultExpression, + RawReplyDefaultExpression, + { + Body: RouteGeneric['body']; + Querystring: RouteGeneric['query']; + Params: RouteGeneric['params']; + Headers: RouteGeneric['headers']; + } +>; diff --git a/service/src/types/schemas/githubOutput.ts b/service/src/types/schemas/githubOutput.ts new file mode 100644 index 0000000..2fe8d79 --- /dev/null +++ b/service/src/types/schemas/githubOutput.ts @@ -0,0 +1,61 @@ +import type { Report } from 'bundlemon-utils'; +import type { BaseRequestSchema } from './common'; + +interface ProjectIdParams { + /** + * @pattern ^[0-9a-fA-F]{24}$ + */ + projectId: string; +} + +interface ProjectApiKeyHeaders { + /** + * @minLength 1 + */ + 'x-api-key': string; +} + +interface CreateGithubCheckBody { + report: Report; + git: { + owner: string; + repo: string; + commitSha: string; + }; +} + +export interface CreateGithubCheckRequestSchema extends BaseRequestSchema { + body: CreateGithubCheckBody; + params: ProjectIdParams; + headers: ProjectApiKeyHeaders; +} + +interface CreateGithubCommitStatusBody { + report: Report; + git: { + owner: string; + repo: string; + commitSha: string; + }; +} + +export interface CreateGithubCommitStatusRequestSchema extends BaseRequestSchema { + body: CreateGithubCommitStatusBody; + params: ProjectIdParams; + headers: ProjectApiKeyHeaders; +} + +interface CreateGithubPrCommentBody { + report: Report; + git: { + owner: string; + repo: string; + prNumber: string; + }; +} + +export interface PostGithubPRCommentRequestSchema extends BaseRequestSchema { + body: CreateGithubPrCommentBody; + params: ProjectIdParams; + headers: ProjectApiKeyHeaders; +} diff --git a/service/src/types/schemas/index.ts b/service/src/types/schemas/index.ts new file mode 100644 index 0000000..0f201aa --- /dev/null +++ b/service/src/types/schemas/index.ts @@ -0,0 +1,3 @@ +export * from './common'; +export * from './commitRecords'; +export * from './githubOutput'; diff --git a/service/src/utils/hashUtils.ts b/service/src/utils/hashUtils.ts new file mode 100644 index 0000000..aee5877 --- /dev/null +++ b/service/src/utils/hashUtils.ts @@ -0,0 +1,22 @@ +import * as crypto from 'crypto'; + +export async function createHash(secret: string): Promise { + return new Promise((resolve, reject) => { + const salt = crypto.randomBytes(8).toString('hex'); + + crypto.scrypt(secret, salt, 64, (err, derivedKey) => { + if (err) reject(err); + resolve(salt + ':' + derivedKey.toString('hex')); + }); + }); +} + +export async function verifyHash(secret: string, hash: string): Promise { + return new Promise((resolve, reject) => { + const [salt, key] = hash.split(':'); + crypto.scrypt(secret, salt, 64, (err, derivedKey) => { + if (err) reject(err); + resolve(key == derivedKey.toString('hex')); + }); + }); +} diff --git a/service/tsconfig.json b/service/tsconfig.json new file mode 100644 index 0000000..f2aae8c --- /dev/null +++ b/service/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "outDir": "dist", + "rootDir": "src", + "target": "ES5", + "module": "CommonJS", + "moduleResolution": "node", + "declaration": false, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "lib": ["es2020"], + "skipLibCheck": true, + "esModuleInterop": true, + }, + "include": ["src/**/*", "typings/**/*.ts"] +} diff --git a/service/vercel.json b/service/vercel.json new file mode 100644 index 0000000..4a85a12 --- /dev/null +++ b/service/vercel.json @@ -0,0 +1,8 @@ +{ + "rewrites": [ + { + "source": "/(.*)", + "destination": "/api/serverless.js" + } + ] +} diff --git a/tsconfig.json b/tsconfig.json index 85d54bd..68df029 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,13 +1,14 @@ { "compilerOptions": { "target": "ES2015", - "module": "ES2020", + "module": "ESNext", "moduleResolution": "node", "declaration": true, "strict": true, "forceConsistentCasingInFileNames": true, "noImplicitReturns": true, - "lib": ["dom", "es2020"], - "skipLibCheck": true + "lib": ["es2020"], + "skipLibCheck": true, + "esModuleInterop": true } } diff --git a/website/.bundlemonrc.json b/website/.bundlemonrc.json new file mode 100644 index 0000000..1ba394f --- /dev/null +++ b/website/.bundlemonrc.json @@ -0,0 +1,25 @@ +{ + "verbose": true, + "baseDir": "./build", + "files": [ + { + "path": "index.html" + }, + { + "path": "main..js" + }, + { + "path": "**/*..js" + } + ], + "groups": [ + { + "path": "**/*.js" + }, + { + "path": "**/*.png" + } + ], + "defaultCompression": "none", + "reportOutput": ["github"] +} diff --git a/website/.eslintrc.json b/website/.eslintrc.json new file mode 100644 index 0000000..f76ec2b --- /dev/null +++ b/website/.eslintrc.json @@ -0,0 +1,23 @@ +{ + "extends": ["../.eslintrc.json", "plugin:react/recommended", "plugin:react-hooks/recommended"], + "env": { "browser": true }, + "parserOptions": { + "ecmaFeatures": { + "jsx": true + } + }, + "rules": { + "react/prop-types": "off", + "react/react-in-jsx-scope": "off", + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-unused-vars": ["error", { "ignoreRestSiblings": true, "argsIgnorePattern": "^_" }] + }, + "globals": { + "React": "writable" + }, + "settings": { + "react": { + "version": "detect" + } + } +} diff --git a/website/babel.config.json b/website/babel.config.json new file mode 100644 index 0000000..7eaab8d --- /dev/null +++ b/website/babel.config.json @@ -0,0 +1,12 @@ +{ + "presets": [ + "@babel/preset-env", + [ + "@babel/preset-react", + { + "runtime": "automatic" + } + ], + "@babel/preset-typescript" + ] +} diff --git a/website/dev.env b/website/dev.env new file mode 100644 index 0000000..2f937be --- /dev/null +++ b/website/dev.env @@ -0,0 +1 @@ +BUNDLEMON_SERVICE_URL=http://localhost:3333 \ No newline at end of file diff --git a/website/package.json b/website/package.json new file mode 100644 index 0000000..2afeb3e --- /dev/null +++ b/website/package.json @@ -0,0 +1,54 @@ +{ + "name": "bundlemon-website", + "version": "1.0.0", + "private": true, + "license": "MIT", + "scripts": { + "start": "webpack serve --config webpack/webpack.config.js --env development", + "build": "webpack --config webpack/webpack.config.js --env prod", + "build:analyze": "yarn build --analyze", + "lint": "yarn eslint --max-warnings=0 \"src/**/*\"", + "type-check": "tsc --noEmit", + "bundlemon": "yarn --cwd ../ build-packages && bundlemon" + }, + "dependencies": { + "@emotion/styled": "^11.3.0", + "@material-ui/core": "^4.11.4", + "@material-ui/lab": "^4.0.0-alpha.58", + "bundlemon-utils": "^0.3.0", + "mui-datatables": "^3.7.7", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "react-router-dom": "^5.2.0", + "recharts": "^2.0.9", + "regenerator-runtime": "^0.13.7" + }, + "devDependencies": { + "@babel/core": "^7.12.10", + "@babel/plugin-transform-runtime": "^7.12.10", + "@babel/preset-env": "^7.12.11", + "@babel/preset-react": "^7.12.10", + "@babel/preset-typescript": "^7.12.7", + "@babel/runtime": "^7.12.5", + "@svgr/webpack": "^5.5.0", + "@types/mui-datatables": "^3.7.3", + "@types/react": "^17.0.0", + "@types/react-dom": "^17.0.0", + "@types/react-router-dom": "^5.1.7", + "babel-loader": "^8.2.2", + "bundlemon": "0.4.0-rc.2", + "clean-webpack-plugin": "^3.0.0", + "copy-webpack-plugin": "^8.1.1", + "dotenv-webpack": "^7.0.2", + "eslint-plugin-react": "^7.22.0", + "eslint-plugin-react-hooks": "^4.2.0", + "eslint-webpack-plugin": "^2.4.1", + "fork-ts-checker-webpack-plugin": "^6.0.8", + "html-webpack-plugin": "^4.5.1", + "webpack": "^5.11.1", + "webpack-bundle-analyzer": "^4.4.2", + "webpack-cli": "^4.3.1", + "webpack-dev-server": "^3.11.1", + "webpack-merge": "^5.7.3" + } +} diff --git a/website/prod.env b/website/prod.env new file mode 100644 index 0000000..4809986 --- /dev/null +++ b/website/prod.env @@ -0,0 +1 @@ +BUNDLEMON_SERVICE_URL=https://api.bundlemon.dev \ No newline at end of file diff --git a/website/public/_redirects b/website/public/_redirects new file mode 100644 index 0000000..7797f7c --- /dev/null +++ b/website/public/_redirects @@ -0,0 +1 @@ +/* /index.html 200 diff --git a/website/public/favicon.ico b/website/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..93f640fceabbe2fb7b13329fb2d5a9b05d21e27d GIT binary patch literal 15086 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 P-tP+I` + + + + BundleMon + + + + + + + + +
+ + \ No newline at end of file diff --git a/website/public/static/images/build-status-fail-max-size.png b/website/public/static/images/build-status-fail-max-size.png new file mode 100644 index 0000000000000000000000000000000000000000..c23fba40618f872b0c88416780c5deff25f52985 GIT binary patch literal 35526 zcmZU31xzKuw(Y^)-QfU(yABR>@WI_326uND90qrHm%-iL-QC??|Gby{{Co2&>7B}2 z-Br74S9iMBt}uC7aU^(rcmM!^Bq;$>1OUMD{?*x0q5s*Gx$Qv!08zvI#}9dPBO?Gn zVkj{gMmc^2+wX{}l%ie;vf%e7C>CEx3YH9yF4-hd>u($NW2d^j!s396RY^M>+;QtwrmM?js&D6di{sH|`pX!UP;n+x{6TIjU|$+x z-+rg3B4M5#`-FuQ9770d)o%ia+Bjo*nHsRx{rvR!$Rnh@hlP{KaDA25DPMpJ@GJN+ ziAf9j5)%#Phl5~z3l0b+legh76e==gF^2f=gnEmJWmfK<8qT)R-k?WC_6MN_4Zs>T zm23u)vjKikAtKCKpZ|edTdqtU3!Y;H_%1|xh(JaqM4Xf@C^_Ir$}8lJw@(zalDf4# z{+a$UF8t=@^GI60cWS$j8YYr7l>Nx0boZs@ljWd~!nl!&`dMRp;1I$KR2q#u~I@^8q5`7|AxnlGG`YO@yA}#wWQOHUJ z|AYeMV@t*5ky-xWl;0l|FLP!t2eNQ^2#HrkD!tf3q%y<>!<1hbooL+Fa7T60>#?9R zsREO(^Ek9MNM%Fik6_klwx8Z?AzO4Q4k(b9(P$L&pbgQ&MMM_<8dU<#^S(*hDr~pukR|SYE=|W}X-@?rHuf>PTK6(&@F}DLy zyTPTF*?K5qASfzzkaVt-J-#7c`x6>NpxMnxK&w(bO-bx<5M%lal7{&i+UeMRRls73 zyc`LazMg{DzM3JtsqF_)#oP%~3I$pc@8F2Rp2iO0Of`5ZJQ27&Zm%xIHOV!{>2TWotwZq(%R_zDmO!?xtErD~QzG1AKGk6i{f|b) zfA^L(&QTWu>dOihXl;H(syEws9_zlr&@K^YPgFRovF}ELou+as->|A0sxqsx*&TC) z*c*hL1MR6sibg0`cEPb>I-x-HS<1{_xMLFw6Ig%+UeS*fkBM_%HPUfMJ(B?+!1LVO z>npN%qNpyo{ui2C`qn3{BR5R;05Kp#gF${2VS!cKnXJ3mAGtk0(*Ju6G%_=gYa8la z2o)A8Ul>sWP^u3;UWc1y_B{pM)UPE6GQr}>-40G0 z!gc%Q1i&Q3<%Zya21!Qd^xGeo96OX@H?o<`iUI&9nis=Ofi)sji$;?NG9|r>VJ#rk zh_Di~h{=u(9Jb%5pAB9YAtucn)*BYb{9#@KW)ZxaOD@kjDoj2D>BN^7B`X#&{c?<6 zk6tO}n)`5Uf6wQEWG$|j!;jlt&-~3atVQ1{GGajATpjz{kf}kTI+SYEf`QC+c4t6? zkX)%JJ@EFFWEF)5u{lFlfSqGnK4EY zsuV2NZ|mO>zvHiMPD$G-(Zhb`@y`%!MwRvx?mF!n?t1JJ@3I&Y+@Spp0Ri#iGbBF? zaM81sg=ont$u59Ilsey>V>aU(hOv#g9B{u!(Np5Y(+%^Ehz}=^$c=Ph>Vz{4B%}X8 zQ!G+QQfyRAqsE~jO3*DMUdTF?lgT-hKT@PCb)Ju(Z<}Az)YMef6wowkpwM)zr)_w& z$ei)WdGIfibIh|hKVhe|hO_3qz`ek};K-D1%7>YmJBGTayvKiqd-Zv(9Ri z_iS`Ybm@3Bxk%>0B+?@KGYOdq%!JSU;K6Zjb)so?Y1P*0yrkct-3V;ua`L>#^&o#R zyuW?GKD(IbEr0r%U0_>GQpPl&UEL-6_4|_?da%aS4i9{gZ%}nmQY-{)rhC)REXGLQ zv}P@5A!ki~Yr2nl#IDRBamS#~<=bGr(QS(Rc;UGB_}O^$kMUr;;Lu=td_}JP+Zb1| zA5j63AhAL*&&Vn~Z+26>5d0&2CN3N1PP2e??$k(*RKwby{Q}7)`M_MCA5cG}LoNwC z)-XAoS)H6Jxsv?w*Pv@ZU(n#nYnYME(N*V{B+HvX-_Gh*v2 zT0CrI7)Y|FYt*s!Tz$;U?9i#*0B?hCGkX+!gvSu<&Uus`|Fb;|> z?x(}=iO_nqG4TxIn}LNnjw$Ezv&`66a`9+-;uZE=CN3&2f33td71vhJlsBst<1D)J4s4vLRgx3?Rm zq3le3Rx;b(oiHAZ7mOz}RMt2)7gMj@q3iM&{?zty=hO}GD*cA-AZCeX#bugXoWzJM z(-*TuGybv1Dc#r&8e~kh&^8L~5zUeEjL?jz?^g~+4oydo2b4z_BUDFb`y>gc(vF1; z@#9o7ne*QqlM;tlsorFDIa;)cX|{@lF!!*cprEh!J_2TiUjlE14TKC-cHU?tl^*35 z(rGh24ASQ6Mdz}xgRnl>iLx0}Hu?G-2G{XWOdU*ZvVz7(GZy&PJRaXyh#Y&5&Qqi_ z(|Mno43~Cqce(E3jyNW`(gn>v^GSMrOBiMtW0Tj_x103$M7(m14bFg1qL$d+G+0Sl zbdC(=)Nl3bHP7qOo9ro2&`gCfnFiE;8 z;>_*wMtlMz{VGG^yM2R+mGs%jaJ-ppP$rLkn&ay+-WOZQq+vSe4J>kXhG+3 zUlCu$oB3Vy3AQG)5S~6BCVrBq_PwBUQCqbU5)a=B&y(xhWWm7C_UX*ojT@=Yva9NW z>L@*1-@Tin7OKXh&$aiajw`7xg08I_|Bs#fq5Wt%&tfm2ciH>-bIXbJesY`li?=sx zXU5hSjbG0nQxmZ3B^SVPDS&yK3(`5G_3+F#v{m+k>bgr^2j`KC32?fd^QwK+o94uH z{&*S(St7825db*76jNXP)ZlAazOs;nKh z$}MG7$a`1y7MO`VaCu1^}Fy0f19|0Dvb20Kl=!XjS0*M?f1&i-W%Yx4@}Ct^Y&d>?AZC z0RU{u|GB^<6)CR&fiO;zGNLg1FnCbp;Gx=k$^W1L4`p>HMFUq-I|o}+b1M^4CwDs& zQWH0GQvd*VN#)NBk{>A|=!-XqT>CF3E)4lMo9$=th2NWUbIF?!7E|6coW1lEEG7(P z$FWMXq{`~ILi)s>@3?ErT1P{pBSqBQk-MFkz4ep~O2?qtZAGEa9DOX6cz4M!mj)Q3 zE8v80x-J?VbEizb$6o-z^Ij4ptn9XW-r?+qIo8EC7hd5%U7)!3MHwJVJBHIsmHzKuQ1U+8p#HmO z^k>&tW>TsDzHch-|A!1eToJB)u|yRTn!mpOx<~j?wBscG=Lmh1e`Do+xkCymU`6El z?H0OG+xXEGwJo*8tppV0*j-siyrNOi9luGbQ0Xxs*30TuSi-V5Wz4jaBsncJ%w1`}8l$HZcqiXV9g6uoF zW4GdFoW?@WIoU%ZQ;ow?8W}-HPVeXK!07q!psnO2O%9C6wnOj5fWnT#-;^{d5aS-E z2Bc6(`C&$M^6tSSew>O*_5C+n6jlr9%bmsp?9)L{94ZyhjIthhELPDBm zVcz9W{#0USVR?BH{PI~Dc{VTJ`fK#Hfimt}UieAtJ3Ga^dvX(fD_yPk`T3>xnSB2f z7xhD!Iw||=beQXfo+U?F1)uIjn5eo_F)l!xT{^Wzc%{fnxiMf>lc+*AgpFnrr3D?{ zIej6#q!s;AV8hj^9*ixSqx^s!TtKzi&GVJ5B&k`^uC&zde&VmqPxB_v(!mD@lpRe1tsI$V0cfrtUk+p>^BoIy@W@VtqoMJ9nl}-JWV}fUqBxFqA zg>RG;X=#LzN8DRrW`$PA^kW!VC5i%^VtiO>91L<2N++BhtM1s7SwQpvyRV|Br z76O2q*a}5_^#LBv0oj`7!T5aWhhNC7a*M-R-0nX7%L&F(tOGE(W1xS|C5X);9m|qH z2gHFS^W6OD6J;E53rd}0(MU5*a(;rH&_fv0#`qIrLiWOvgJY^FU?uwcc0^cz`J4!w z(<(rW1MWh&16#J*4LiZyX>BPf7O!?g*oRyqF>NVJ<1p2`(N+CkMiFt;n9WiNChAC& z4?5ey{xQmuy?Ra+pJDfc2a%b}ii*@DiTk9s`w`2+0+QVD)TNk$l$5A4h%7gsvNEQ( z0rN?Vvm|ca7 zHIN1Q_sNpoT%9*a|2|2g_B(>Ee)r`cVU@1o@w@-t*@{>l2YhN7Q46rtVIhxQp4YFn zcZ;K1>eR$YAyWqhibfw~7?;{)h`&C`zqx(i^Pd-dC=|7^)V7I8V4=+!I*jR=qebZ> z%oed{e~5uW;7%?#yF6wSyS<~V#GV_IBg8~H?E^G`>HG3lo@vyZ`?uAv*V4XA>K{hr zVFj7@vG(0OoV5&%{Bo~?`d?oRpE@2qAPgN4`k$|;e44!PXV^c`?7e0T5moxpDs|?R z!f>l2aRwP)GL!N2CSWyzvt&j?{5qrI^Aqx{JP+`(a}Q<$G&(|{eZzd0L{NQ}Swy`% zO|AJu$!1}@s1zfu$D$ypKoxZH-I+7uz47nci%k@0Q`X&+Zb`tc|9u+S6N##c{nLe!Nr14PKw!1d~hW}VqNoPx$=WQIpMCCYBL zF*W>c*Y4Mh$M4Xh)3V&pko98U?UKUj4kQ$`A$03vAKCt6Q!lo+p;B{pR^2om5TRVX znnz72EjbIfFm7ZE z@dq~GBdK`GqYTJ&M8+Km1kRviR1?dvlo33Mo(~Z&H824+MLP<1n0DPNycdaprd(_i z_(SC+f)pZFz*`j`31dEA57S20>`?CW)&V=T*t=VK@V&w}%3~&hQ7*WMWSw_+Jexcr_dpVElpz<;`W~or_NprJ% zY2YKlAGuXmv{L$^{YR#Qy;)1?hmk>jG;w@}h%E7bdtuKCUu+iB^sw=f8=qtyIa>;x znfH5TF=n$lN+C^IAAJcs=PyT_|4+&aFUJH<_=6VBPN*mDbSZ zCmzOM{=h#ktKi~Rs?>@sr?U!uOV>@rKBdTkF?@{UmNGNX7G(f(hid@O74 zg&z}{ak|(M%S_)le*t%&i@X;DMeBhc!hL%EI|Y;rb78-DA4~@4yW#|@TZ9$Em*se} zEMkH9X;o{Wdhph+SSn8MS6|W(b8$axhCKIU)eThp_1Vo6PBh05H%SsS$09shXAmJ( zL&&Q*T4jaq@-Ty;;GSFIcTgn#ASat;``gFQE)znG8K2|os59SFhrBR}1W^Bz5&v+r zu?^N=S7*cp(@^eC%dLkiU|RX5VRI-q;>7%fn+vD!XC>uQJe~mX&%vsPcU$PAV%M*8 z%-AQx(9mC*_oiZ$XhXag@t-;%$Jxr@1Hqh)m%F1sW#z%Z-Ow4}JvCa0jGR?-#PFng zzBQ-!xCZdg$}0AUQ~S|;*V#+6#9D4P21_u$!l9qrlf6Gn|2f4jcV6ZqQ|K>Arzt^Y zStT~-AE3J9NiiUrxK?Gi3oQcEf&IgbJ|^7IKSrswC6NK-EL7pRYJ3{Z^4R6 z5GFxFRqdf#8Vrq@59=e;{Ch7nQ{#hxPIOj`M^dfkypg{Cr~h#Ri?rdNo@47h8(Ap` z-qFkO)pVo^7wH;&fTB{GBvs6LoYL(;WyZViWHo9VOQZpKO>)P1bY1c8qhs*zx{MU{s2l5)C6LRBav!`hK`N( z&+~8{ba@B5m4tCpoP%0zsKuJ32hyeke@K9gx$GIY_g6p=y(vvixJpIXhh`3Z0Xg}K zKeAH}9kp(F^6tPD+rC>&g0YY%&n(Ag_+~ZbkscdUmuf9IEGeL$F%8hX9gK7B{{%TS zvHZz+xO_%>B8dgK5n$5NAo3!I1msH?w|+0j}(I;cfS2T zN;7&2VVef^;#GopB*K{3-il|_)S3Kb08xWfA5}vFc62DKRY}r)Zq3M5?boVHRKWQ= z+FRi2T@fQ|)A#a=6&Czk7xz;c6y&O@!$6!H3$%n|h5Kox&)BTP7v- z*W2aw{kdawG7f3ZQN%{Ig^17z&YrG`pILG?75qBH)MnQ($unl}lGu2322@g~g$f6f zgdiS$zR>G1y9Ux^nG#XC;BQW(33Ocu#;F#Umm;{OxUJBZIar{qC_@x2>?B6UrlzBR zi&E7X3MsD-x4$D=F{Y|5ti`*J?KK!T*W2zvdB=`VaEN&JI%MB~o548bn8}#Xn2|gO zheQXIpzhZ*VG^<~gLfS-HTu3kUos%3AWj$F&qFk`R28f;oIEHWk`MoJUt9>_rT1VY zcg#_S8=U6_wDT^ai5NS3mKl63dy{_OC& zo%Q0xfooOYfT>!Vo-b^+m`~aZC4R=;_rfM{Dc!=7IHd8pTM%MRV`Fk$={^#fJ@q)xiJkz1|#E$yQ79j`1raeZHHsq zU~#A|yAo{3Wyq`&>la3YktVBK=ib5E(jF=4M+8{)Y)_rYlo`yTe>boirqdgWrPR95 zYN^}3Wsdz!e;Wy<1^iY+gaRD1Ja5o<>0wE#iam*QmVo|A_tx@YP|{wpqMMxf4pF_&gA)S( zRZqwKIq`BS{6O~60k*l@q$rlGdGH5b*Hs!aOcyJoz`scs(H zoc5x?ay=Xe#jW2+p9$tW{+srjxGJQt4$2|_l~C1~k~>P0MiRxT)Uw{0UD2M(zqRG3 z#bmATZm3~$f|5Q#^!>>z#8qjF7Y4>p$>m=hMVX6Jq$l|ME1f>wsdoi`MR&!#k=*0d zm95O4qsV&uj5;2@cZ7z-?`)UnTgrAqH)OABS|es`Lk4L&?RPTfA*EL)<5NzTuoRVvu;A?S{}7)^f@jU*M}kl3g>l|lDA+O1CS7xl@P zGlf_lCI0x7X^J^a^2KC%W>W7bFD3lniZHaDWARssCe zBp`Q`YD-=Y*TY`-OWK@_&)UiI0tT^j)==Tn-;VDpffwqiyZ$Hnt;;HmBQTC*#1oLw z1{(Ls!2M&B;ZgP*86{J%Xu}1^qM&TQQA59-rD6LWPJW}o;^#pVDMw+^JfN_2R`moz zO39>g7G*yoBTioaT^?(yEBA;Rk9<$aJFlQ0$12&H!0N!@r53AA)y5C{@pb6*RY(bc z${bL#vT%QjA^)DxFQqtLefESzSJH}KxK>yRvwVjw1t8V&fN(p|#~)_j=-QUf~ol!KJH z41^dOTLj=${Uh;{XnyDv;{lF32-CL^P?K0$0a3&p-J;LOp-X_z{bAR-tBhI@J)R_! zL$WY+h9XQ;tgMt4pk#RFYN^NECCQ-y|H}Un^ocbu&!LP2Rrp6ys}$+b;4Z}-oqGgJ zAV8^p4&M@(!|kpPzDjCc(Fsc-k~aWtLAIbb0U0eL;>D-NX1~Ue+ zTy?eSn1gpdWnc280G16SfP9sXijJZ9Dy}Q>!X3onPK!HR@s*&9LhAnO7O(TA$I9|C zDXZq@E(yqc)_XzX%C_|cHf2eyf{_g&dlRG&Ym0-1_Z{ohwQNs$52-%V>U5Trp`xY1 z=PF70+G8u7+*U78S~Z!2@v3Ls>Kg|_;2cUZ?P3yYEw!=XFNb5doQ;*FhMXc_m8tO5 z9)p=h0A%X~B!b5Hk7lV2yK`>SVnWW)$(L*g3$6w2T2$*vw{b4|v)c zFz943-G2t)3jV}Slrw>ub0a=wiia& znvOhREwOb4ypZo#W{pge`{WJfW*UM_1Bp$%SZse77nOu5sOb+bwLsxqeG;6!JsoeF zuqLEvIcelx0Scg(Zyh}S`BS@B2Rw#rp`bC(F6ON9nlW89&5;7Dc{>XcXu!#Jqt5sa z@Qfu=t31<&m>tGr;6FNh#&WAwyDFhD%w*_TcnK@8=&$ItdR{kLmw50EgO}H>qI+Iq z>yq#6e-Y30=YI;9XqFj*T6nhIs)KOhucJ^qhgMe!_S?LYN%X(P(ksGeU>@*(JKt<# zI-YiPOL>&^FTTn#FA@tnYl0?Ez3HwG*iYV{#Y{Mqk}jm9zDpdDl4CATm7ZV_vUtCS zaBk-jy1+dX^z8m8kFZ+$)yl4vTEP?+#OaIxOnK{?zN01l7}Yf)r#8X#rDPi>hl@jH zc1$mvfX*RSaxFa*4j$%C1viDR^V1+okRHW4;JHpI=7Zn}D=Q`GUL5IMKm+iuUWM^Z zL-HWn>}|c{PhS_qjeD88*Rhlg&5xau%U72aFOciMrkRhQlYSUSjzdh^1s>&Ss>nn^ zIu^T+w?nH-{)Cr@r-Mp-C#^HiqK9TH*66K3k&>cp*@YO@G)b&Q9p5!Ys^d=?7#}qq z<8J!mesa8F!q^GkTl8y-%8AwU*2)yww(m14d6Qx87=O(RFr;Q=#Y;dM{bs^NEtfzr zYR(*yrZRq*bFPF;BQA7OP_LvJ=oN+Z@uhO*V=b+yZ6U2@=X2z=#e)Cn%qxEoN>xyus4C-0Fsml@Husn6Cef8N-Xzxw+(FSV zE(cTjmhMI9a1>nQ_30wFK&h7YGw1oAO6fPAJWz``K5n|xb-*-;>6qz`=@%3k0+Uai z=%WaI$=JH}wj)tuQoflR?pLdGQc(|C`Yoz}C}nJ-(g8D4LCmub?iulR#`S)tT8`UH+-Q??=l5mcYj)qvR&#^HMyn!yp;mz}?~4{(4c zB6m%9TGXt&FDW7z(cu-Vt&f*QAwUifl}JWiU1RrZf3f5z9C{E*3|k zhO(=T%Uj{xViph&K|oEij+|Jv{zHqmongjZ?k6_oL!8_ny{aK3*kR3h?sQTSYCZ{% zs$DdOD2v(;+CWq5yHI0H`+8?c3kFc<`m5^6+h_CEl}7uNw{NpVt-a6C>=EYo*^A>R zjEmhWoDF#gl@>yvOlSSCm7>znnPn?dQBlGyO_z?c&=&=Z5g)XPGMPmkkO0#&`lEHY z#C*>&1Iy6fhze*dw-{|k`ynB?DYUY*qs^#3w4;(dI*Bby_o_EBG!3Z0pC>(_oY=KJ zR5WdA;15)&%QqW34^95!Vi4-0HuSCjr;Pw#5%R0-l|e3{I-vcxw3xbFSs>Y!FDM8r z90#05JDNQ>l-uE#%KaknPx-2VcZ9^ake2ToBicuf!U{L;)7zD|NMjIB#4_(nHIHUk z%2HtpJ+?jj67+E$sD5AYN6Y8M!(+1ElS|~R>Cng*#ZcW26MERZg9Z0r6^+=rg(-$E zW%Yho4wMnF*e2&K=hqtb0_QN_~-qk zDXgAbA#>tr7?YER1 zpcpo9vC7=M@GZ7)AbKDJKCJC?{KS1H83%-a%s}hB%vftV+NluIIjFPM;(WCohyvol zJbC9W! zLNuc-*{qLC)1h~!C=f%uAxamIYO1v~ebajD+w5?IN$wvEkS>l-`jgID^I3!`{Z;E> zyu=!XPKHM%){8w=1?aiV?S$8cr_K9zOK$61*Vn4@%1xSo=!st;GnOb%E1V^5{e(ICQF4FLPe{#ZV z*?dq9YC{qgSbA~TTeFMpuBtX`-=JjmTns23dkte}TCNgn;sNS0Y%vDU zOEJV}(PedLS!UjEfg-<~3YwFlchby~mjz2`iQ|Z0X#sJtb&1`r?b|)vM@=0uu~-Bp zomVIg1>$*FLH(c0Xhm=RACuZNS*+UqGa3ZNOgJ+RCq82BF;3*8Ru(?!_7n@XCpYH? z_3XqcQJ`}cP16ql&|G|_pV7@{ng$o8ol+pdf9ieSZl-O{5+`lwvKEhr1;*Z_VEZeD zp3t}0OYgUK!dV%LTIu=A6l43PgV>CCejuxc>KGZ?gmlCrNw|cq204zX@yygTaD@Tp zAR#or`LMbeJ@!{vj67O?`c01&&F(RNxfxzZ3>wqELYGxN3kX!6)3MYvFvphqw|AUk z7dNkRS}x*P^1kw)?)yeOq-Y%!O8je`RW9OJtVfK!+9$YCpvER2WggVoUL@bmxx8Mr zRRX$w`;x%d!t|i@D%MA9XrCTkm0GAYSKd-HxYA|>eR}h%`;U|6yWG28Lm+fmJ<|+> zPBwLHI;Ablh89V+4z79jVd&F4M=e461U>MN>ME*tXQ=9q+1K&aYG0qaaS@LF{Y=pr z0qCEej!nL?^@JmCK7?WIw7!*IYi(K2+b|r{l+RDq8K!3A;N3PO2@^ve~?yRx7h}L&`3Vo5Q&+ z%p2}C1?!Sf(ToaHNBF3BQ;Mt?Q2OW0GEdAHqs@v%Jid`nd})8wWY!8gzK0f@b+@b~ zqkkxQd@2nIS_MhGM_r1^)l~dFtOw|6W%_s*k?^UCRp8Aa-ZJT)w>BdbFzOULR3_#) zH~2cVhsjj6$WA;o7+{ZMvrw=iP#kBX4Mk2R+wkDnQ$@Be$b1*@M5@p zSuPvui6HHBEA7g*u{T{RclEBjY=rDb{(dvrYzt}+WTo?r^iII)d|L)$So=AXG)}Jh zLelQj-sL}|J>M|it2~n}yE{Lvdxz*h`PJ!7*#u4Q;U|r=A+HMBekXI+U8eUG6Ld$6 zz_~bkFr-Xa({?l9G*f3WG9GJ%KA*U^sywSuH@F2m!;|}=Px|)UGXK_g@kJK798KZ& z@jl+PpDdyXP7y!Po*mec^O3(nH25at@Y5U2bMw5T)t8$>_VBaUo8~@aAz#UruHI|@ z-5Gx*YF>-o&LL;`$?(%3Kh=^MqjKk>kmc4oA;fhngE#Sfq!-!rNSN$Mwl}9bSlqJj zI`?%DAL}>LowhI}PBIOZ!vmOkE=r*LEc;qAkJ7c5;d!Ai2ph&w;;Q5{`OLkKHFlc< zHhObk7K&W)lc7y>ZqNnVk*aS0ev3pT>afs8UC;Djdia>kVOR4?fgGsAO4m5&O4;VU z96gqfc{i`c=tSAE33Ll;!f>Rpi3Q zTlQ1!bvY_3@l=Y2l7!kjVJl&h6zn!jk8T2@yRcb0!4YsTJ$EMFbSUqmp8AK9G4Qmo zpcilULQaVeD<)U!HN%{I+q3$L=m$E4w6AHd>#Xmbt4KY6tIJQweTgh@u_Uh;r`%+> zLx?GucEA94& zlPWyB%kdx&wcwumD~zpZO{5d9qK!00>sh!${#=OjWPPoo+qzR@G2z16r_4iq5@vVi3O8+QO z1=OmnD$ zlF=r}@Q;{ajP6PTC#Lr~zUL-M&`}BB?S7e0_Ryn2XvnjqC|y0XEf92hd1&~wD}Lsm zfz)s-1;&qM zYMiXD`=M}*tys;jY2afdI;ppaXbt}&19>Lfh-c+A@Tst1Dz0DX3~oZ2Jr(SGU~Tk7 zULcwQa@?&Q^}tLZ6-oEaLNRn!IdW^6-i)qru*peR!5jRA&Z@Gx0Hk8`x3_&Q%ubTe z+}}xl4;Wm9>jK!i&t3Enr)cVf8lz=cxxLX2Z)5lVubP?L_*=p@!)orRM>wu+TVt>P z5@^l^sR^Sf>)Fkf&L80ATeiQN8d$k)?P!nK!9=z~IN?2^Tod1@NQi@bOA#2x^w2F5 zN>*EM0n4l&Z$~QiwlgdI5&GK2p2rf0ATe zV$?ras^pqmUXu?L@B7`%BXVFdyW+Y2WLnlVG&}Py+}`b=!>LMyvc!)t#REqYIa{dY zfTF#pactgKWd0Z+pnH}ZQDb~^ROdCyH?dT6<36+zf>N@I*;$kWB?E0nwi9$PhDfp*vB>R&1yaMz>`LQ!C0 z+kF>-4sP7)T`dJplc=6QQAlh^w7r%Qh(X9H95u+#DpuQSSD63v=&wMz962sWiN|J# zPa}E5uMV-!ZkSv$dt+2L8pqNXcmZdVtHWL8o8YUFL!={x@|Y4v!c79$^0 zdK9e{FK4}93iY4ew`9}z@{fE>j6F9=<*l5{aLFNC7au+>^JS}dXFL6N+=`Zb3}yPoD*+~0w}eR_g_T#HD& z=$){0L+;jf{ln>+!iNO*gVANGTC3CIdir2yV#ugFsb6(k6=|IAkmwGoUFOY2Paa?0 z(@SRosb%L!&-PwVV$R9Iw>APeud1hmT^tfzHgl_ZIKAzEd+a~e9b~V8GJkObKW!i! z5nBMsT)LHZ4UEc++BD_^Kerc0Doub~>T@2}X%E%i-;3*#9T8(RXC(*Sz{~zhzbuRg zn`+evG-N2q^+r%IsdbehXFfSOzc64N7d{wx=-{px_W#Y@=>9V5RDBujj*;z4{!;-S zQcFnVX@$=%=)_~819ipK`Se@^-e|VE;;F_8TY=HcRr5`GRpmx8=<}NWs19f9P&foS zGtH?I##M9O-Qx)`|E7B6kx6`Q|21Tojotg4k5MiA5MbN6Mev&s@P^9pHw)3jluQJcSA<;k40xlPrlJ5)-L$GdCG-l}+W~Hg$%2;@?eyW9R@7XKj|~q;6pFHdhJktN*mdFJ62X>QUp)Sl zX(u(z+ZhR?mlvKF{msamqi4yXN}=Vzi~Zx@iKedFCg_Jw4@nI$GuaFR-xK=#vF`;l z#{$!JB42rZiao0i1hzH^5Et zAl{HGEs~-jF^#k0>OGPv6t)<2CgwDPzDSO3-IqGGri^hgBGmQX`!u~ilCyO#)Or@BY5)TqfammcEQh`V{wF^sq9q`p`_RA`!|d?L^Yn@v$!82pp4k4LFTjp z?(2NNh=Ypvvba3I<7HvFcaqg0uGa~kKNc`qb+vmQePYPlx%%&Y>X6>8M>?|-Lh+Z! zj*J7O94P++{TT6~W0H3j$z&(hWUK4CIuJKe;#H-1@YZeHQ0zQmlaf!_4zSuwu$Ips zEK^hsA0MHo5g1byM$T&cUzTcx&tJXUeo)qP%IyB_(Ec^+BH@^%waTbDpi2|$j!#X>ryf2TTZ z#=CMq{&?72@~%1C)LjZJCv{)hr;CpYc;!0XEMGxnY-q2&6ywEhuzs(hDI{}ln$J{9 z3^M(Zu3W8$KLe8`KmoB5n1CU#z0y_e0y!a4DDax}++{zG* zi4>B_Z|N}oRrtssH4o13rxx4Kf2Rbm{%Wf*R26~uZCta5_qE{RZ0cCRLzy1QWnAIa z(@yiX&L}juTs+>lAsC$16Wu*#K`-PP7cyjMcwHV0(ACVfQqA~dd^PYdsw_KsX}QSH z(GL7V;ELW_^*MsKDrq}d{R88B!o(yFQ{}ON$?3hO>8_T@?XI)dYV6ZFTYc3H%JQlAO_xN#TT!T^`gcyC8E5nbap$(eAUU5s zlA8uy&B2*lbwLW#en)>@^nT3jEWHaUCR9`Jm9D!T!l5W5ypArugX<^@?;G&f#fq2i zUf6XX{wwP}Y2;5%#*qZ-Y3x(-NJ=}`&5uVEg1*nzgG7O_(Nu%@;2w z4(ix&rhy(KzmUtBv#Yb0YM-pnXwQ(63(3ax#gUyQ{ z0P>@yFUoQ;DPK9&cnE?(4JKp%4*-)u zY`-~gXHSD$o>$YH%MRV6x^C~h0O}_yxgh0Ls4%B!yOPzQ&yh)K&tHSbDc{bv-GJdo z+kYBHQqND-(r+|uNVcZU%G2Nz;4{>_ACxXxYGBFP(70aHkQNu=^x89N&%Oiy z1NoNc9S(`ST#vh+0q0cC6P^41WjRhet!u3_!ELU4Ik&Z-K2@u#H$iEkj8!IqwXL;` zB`;)ull?>XO|YWf(vl0Cf%|&5CvN3|Jv3rH%*(al^&%U5mynksOX0)$;K9LJ;ZEe; zJ$F|@uiiag|27OJ9vPov^hDq@Etv@Yrwv*&EGw)%v(DU57c4C;wJmP(1a$oTe5Yxe zrWx;Z+s6tY_d78MKG*&-_RBq(-(~K}S?Qp1y-N8jj)Z~*@>k981*guO&VHs694&F| z{fSyoo0?P~22Ng1k=Cb>s)%2-UoKdbW5Mz{n;=P1ui0LO;fMNTZm8fhQ-NmJ~BHShhWX7wTCw>fQJ_!H-4H7Jo|h0_4ETRkycxu3(a!XzEE=! z%nqH=WJ((_kC}JPhw!@nYvs)+c--vC+NX~pa(84%WEt?-=TR?lG0+F=(_x8<*V`$xXVKx{RjU9t_@anN$lu6+ zN}hL+`L_(a(j5e*{VX=jCu~)?Cwv_B(f)Y}cy{t|@~8|g1~o0#uoQe5{WZn6ov`-K z#u8hX0-lOhc?=!gT5oA~4~#CxAjW~Jso#{J1JN`9JG<^Zbsz)^nEnm(-hiB?vgge5 z4jfChJ^FP}W+?rXCZJ?fGAU_6p38H23HCycrrIc=A-OQX<*oBUr+2Vq!Ak#idmyAo zNZyeAFe=l~$bNpn^PhScdCVhb70}A*0s0DXI_A{eNdwz)`)0>Mm^pU-xFsfJFPG(B z=G0K(ak=lMN5q-mwX}=oybV4z{=DT&ZP>bI$JX8TK)I{zQ5%E0M=hj2iFdzTey-r* zN+J@0ESHUP7@S)yYd3=KD&3~VR4AD+kV(;z~@w-i+s5Xm8Vp4FXs)O z#XW)(HvqGQSyjpa4{@O)D4msdN=uMC@>l{vX|B{&Y%sv7ck*soq2ZHym1_CJAJkw3rYqh zy^u&Xq18{mD-)P@XAil)bTuOMvvsZF%AFP1y{WJ9Z29zcPK>nrq z+T$nd zFbLq={qK9fw}H1MbVCrcZK!d}K9~p-|5Pm;L9#s-#PA%pD7! z?>ujNbO8lkG9KQodOsz&0-Wr0Ch_@~v6;05=Md-PP6Hv)utYf%)di)hQb*YjY8th= zS`QLkNVMD48QSD-;osyomi4zf}X$n7{iLVkpv2(1d%5!R!Y7U2HO{j}R$UCIKQbA#kz3?Wb`eSxk1mtmFb()n|Tfahn= zhaNruial1IE`Kfy&=)8Mp9g=f^=&6;Q?$2Q8c64v);IO=IDeVHYF6FJY2e4n(Dz{_ z;`A{l8cWTi;62m3cG8v5t8(|Kj@Q9uhI5Q_CdiQ?t7LuxcLVSDc^C~Z8@(F)>La8f z^~98b)ndJ9@q}dVzJ5Ne?a}HT6#!{(V*;7t|~9U@HHpM4RG#d4X`|eWbVH0eBS@pddfG+FMj`gx8aWq znTwKO`3j1kT171ZroZEa{sPoUmr&R5kmuCQL(?CEQpDNEc?UeLK634-pCjZ@azV-y z^)lAG1G#TbJ~^>2sKZ=ZxE2O8v7@f;4a$8>RW)l|Isb9|S}FQPARmbYC53W@mY^O} zi>TeeKFV=jzXiTieBLHa2Q|9Xacj5^o+ZC9Vsm{cQ8e3S_dZafZug;wgP`y9=8od$ zVRE%zGYj^B6Xx|iuXaJDe7#F-1By+_oiEiPDB3XB0Y4i&pYv+-dmAWql?dmbt1XHC zd1d}S>O5t-Iv#8TZLe$>z`wiy_k1V7$IU07cPp?DatzhxLf%bz^5!l9J~w=t_~d~P z`#+oto(R!Bqq9Zt1Ld@GO}PNflp<0d%;$29E1>!*)hP)Sp&*69d~CcjrvO2cLiT~u zPI;re0lVFv-BBGf7Rb;b{bz8w=W@+8-YS!q!*iEsH0aZ`SNai9Q>*=z@$mM@+kJ0y zfax%YOByJ2vtU5}s{o{kuV;Z-`8(yy0&7dKIyRK647mYF4j?z>7PmnWb%YuUz;85y zpmFa)-`9gg_gxPq(qXLE_%;*I!SLTkOc-qgYZa#w)|?>I@Sqn2*Zt`K@i(wncGS_j zf|14;Wxj$GHBt;rUK|n`iAK8p3bi>7KA(NAdDjAG7iYWkJn(MrJ;FOMPHvx>zTJGh zL37t%Xj8!2$U_&Mbuai2&9^^KQQ*(of?REL4$V0jj8^7c<0gCz z{8;_tBS=>wZGp5Cz#e1YXMYUogVR4v7w_v#<~iBPen>Va*`Q70&QuVQ8hW3t$~@J!M@CQeH+&{ePi4R#%!( z2Be#eVFmD&f<(j6VFM5JiGrLdvhB%y8jJ`NGqDs5Y(I8=MM0W&x8P5nMyx!$>yBd z$rm>7-yXDQGn^WKrox4xFeUl;(IZYmvSYs6d=h~pnO0D50*Xb6P+ozxp4DMJ4@z+& zC%0=M;Oa~!&w~`>lK=2M3;K7Xlvx4PSL%D!3bu^)2lm2HyLgS5 zDtV#K`kM2q`#?mYh-?v!A^cEe?Z}rfr@{P@OY6b1nyb5R$OC;R_1N9{DHxxOaB%={ z=}RY2sw!obq9B80v`hv2GsjzPKcugcc4+FV(5rQ~svWaKv*wK+*B=klzs>etSRW?6 zoOW@J4JMo)eQ{_es1#HFeCfNOkJgu%`@xdJlHB40vQc)(L9pDj9JI^r zqu%gyK*V23-#Bt+q!U=}mQ9vsarMX;U`#bOfa?g?>MnK|oVMT9UL{~f`ZZNH_`#gd z3u`TX4wHk%t{hPjlrG9OC4XFcDJvDE8mL9o7&R62uF}0ir|ytpc6#r0_dzS91#1ED z^75-6Z+63+_Y1x(O#^PeZqpNWhHBp`UoL+R>^mIiwdbH_QN7di^v;iIchtPDQqe2ROYg5rTiIu{aXn4@0RTHQhYpgf{4 zwDM~9tWf|g8@0OR`U%k9t84z=yCL= zLAEoR8=y2}B0!=`i7LCk0`suZ*Zc-b9|{4eOH`XO9ySJUO}?udJX!vTlzGkYHXf?Amd~rGr{~~M#unQ5zA-{45St1!G6a6 z-d+qWMJyf`3ouQ2t-J=N#=3V4vy%)0mw7HdowI@8#*_gmHUXn}Oc`Ln&)+4Q>6*v& zF&K-CiDo27CAq>luvE45R$s%$(OY}&ngvgmKOG#9`!DU`Uei6qeJR+7Iu>cQpsc;r zjuJuec;VB00b5{LSriL<}+B+!a$b@gBNY7a^#Dgn5Zb3Wv}7i@LyEA2nuDOpDa zP!=oGm8r24fD=J2r245EXyx<@MrjC|_x|gLHc)9-x$9*VVy9&w>S~O;tqXYe@bpT2 z4O#>=39g?WxJxU5l5>k&iX4VV7awPO+6smZA3ggIsUJP+RH{(}O8bbvx*m2a>fd_gh&{_)_=y`r|*H(ia~{)~(#sa!Q1ZOS`)Bwk)-j;`A^52#5jSZk{XNvr>vIdmJHyuQ+cc>g3Y_OW!d8mRrgn(RiPd@ z2U;hqxuIE=(%bw7!088%a)<4J!IfHXE7}ZJ`0ow8CvdFrwIQ#fU}5=zSE}>}|F2n& zB>xIVQgm(uDU~!F1%@l%*$zM&S^%?|$t)lx4Ok02{O|4fDu2f#&2;R|1neVhBeJ^*EZUs(e}5`|3vu>j0P zGR3?Eyj8N04uE68?;E(vad{^vAa<~X$5W5JiQ9r)6^q#eCJmXeaeOk!SSw@u^fy53 z?>L}s1geR?0ds z51Bn=UF^kRFuNNAjd7r)CrHTx=4M$UNg;9j#4+w`!Pu;CF!sUs2O%?m{2V}zV{2Ug zp%uf9h2;Yt@P#Ab{?R?X`#~`KOFwfWP*n+~F_81(4-osHQDgBimVD>jBn&Uxv zuS6;#fEzC40j0O{8x6szXS6c!g7X&Vt6~(y^4E8}+#W{^UaeAMu{&oeK1(Mu-{2&rqOF;FQT4Vu^&e+1};$*?yKDdtP^|dv%D(Xj^Yz4vAj7E_JB`KGnQic$Wozus%k21-*baUE2=MbDh38c>u0I z2i!X=?ukBd4f6NSS0c{?$XPFY(X3;^QB-TMF9oNX)Nr1TEB1%|xJVP|hf)L0PX1 zQJR2tx#f)d0p@I8IAeJic-#5y)^}xK`i;ru$E<@SdA*){ZU9?D#{#V`SYsE;wbA-+ z{S72nldH+rK!sjq&y{qCVorry7Dx>bGd!;Ov@OhcU;JamEtqg^%*8e+W&=1VioOayXCZps5d_)Z|W^mXp;R2;tWZDUA%IP>8g7xTlVtXD2v zp9<w5ovS{|Suq<{?=R>PPjVdKYA-%#|ge=2VlbHi$YKRU!HY zyw3mTVo*xR-ap&P%ps8Cx8$RI9Y78qVLA`uZd!uIS zs*&KF%_-6;3cfD-7Wn;roO>&)lo?8Yu)Vbf*zQAg#^|##rNHN%_oJjE!5U#%qSgSH z!7k-o%D~s+-}LXne5W*xILm;=m( zMn_Pl{~QSYe!ZYsPdWpcX-^HH_|Nl8U#u#(z6!jq`Fi_XpmXC6^;$)sI8Q_G=`2VV7g?fmvO zbZ-0C?Qt>ka+m8DK?X}nT0@fFUh_Tf!thrE-}D{@Z^i_5c|R|nzxeEbd-yCoD-n?F z#RixjHHp!HQdmi+xPsWkU%CSjfiGD4TUx4RKpUlhKfPUP~azL4U13M2V5AU1qld?l^qh_?anKgl1r z50S)vZ(I=vfaEjpm}kH_%(atCO9)mA z`+6NLsK3a6>1&8M9&s{4gM5qft;?%{tKsVGY(fgB6x)+$hVwZuB)(V?PWC+A_UuA9 zV>=gp(E@wV?oWAOJS17~)zZrsj5FpL^FE+rMFq<}%N5IUP(4&P)dXr%^Y>X$Kv|ym8g)wr zw`POyrj_7z#B-u&S&(*S8|fXFzh#qUxn(w}Rn(Gdymz*WHYqZ(a1V&S75y!y7+gGm zsm!HGka~Qocd2GVRPN|JQR85M>!2S)55Tcq#}}UL050vFJ2=$?{76MQu*|fKQ~QH5 zQ5mOzx)_hlA~{Ey|Vx3QM8Uh5AFP z=v3SN(!lD&YfG*F2=~kfR~`+9tCOxLzUc!S0yb9KoCq>z%CInl75rD`dz?2l*jL!k z+n<2b6zdRcdr-pFFg1QhE4z|K$pUHzwW(SI)LH5zbvTfOq$B~nNdmx54saBdtcsVS zL+T5DuTr=}x)Etwrz#I=52xPXw*b<7HDq`jDWx8DkI zS?N;2`7_9E36vio6J)Nr8u*GYz=L6riaiO0!QDrW8`lC}cX+$t-FmQgw2V>LfjLBq z%5k_;^zje*9Pks;`zZ<<+O4DtQoB#mctM=Gy1yC3*270`6Vh1 zgDUoW-D3efUjHm@z*E?mWb1+*PeF}VGbs&$MXX~jsA*M0y$_Bi4sUH`T>dd{ZISle z@ILj2A0OYs`3V<$Uil3&zD@ryeFbnC;N0A)JeU*ArRE_ZlyD+I>87+*ngdJN%TZW9 zc1_2PYoYI`L4hOM!iB1r8eACyRgzWeU2X_WJTUg`@H^1>UVXiGFYsvTF(L63Fdvwa zW;##~DLa%kz#QhY6x12&Sfv{1jg4;lB^Y;fa;_PzV7KS~i-+BS9DmxZUb}H?;oYwg zH83i9^mIs`HCZ3u`tjP4Y=vVAu7~40PqjF648ncFZIN!^w9vZJvJnndINJQ=W8e|b zxB_{bIK7RT1CZxNO_EYK=@t$9KrHGUT3R8gmKnH${ z-?>e4F-f?WFMN9SdCQlRV9(?T(c--`k@sdEEmt0%}3!sqm#UBA=?Ew$cQUkG#FE(~106t2Cwk>hp>@Q=>xn=1))Jl=M53mf=``&9QH z03pSHR0`c2CuiXE*B{@Ehx~`~-p%t@w!u)wD+834pq@~-sSEz{y1GG~uZ{-wtNK*E z!JoxDfYMQ^rIZ58Jj(#JF|hCF`L9{Ne*bQRY_3@kW{!lS>k0+uzYM+)e6A$z1}|H` zy8GrKSejT$TH@z9TbZWJ05!4dP=f*I*nK10(TcjDdZ-TdEhs(cNp~RpPd|#R-cm2B zn*djw;>WVQ9rsQ?Jb;s~XZl^=ixKbLHs3xzJ-yF?K1082Sm8(IAMT;=iR;mB zX1nYLHBx<}-UQ{Ma#-2RU!bH_{S-G)r>cF`dSC|05jMcr%-_C$kBPNM)L*ejy;qms zTmxm0+DGXOuH9V%M@|4f%NM=^O_e4}Lr~wSkCoHFVEWJ_F1_P|ExZ{S)cgGna4zJO z!j9gUFv-b zzO4Or^?S!SJ?!o5Q|zzci}CgPx80CrrI*EXc)S~WpC>#9#a(ez;=kJP5Aw&oL*#~u z22w^!o7KR&!uh6CBlwv0RISsS;DOpNdH+}76H=;5sbY|K;q<)IvH?HezTw`O=yTD5 z@SuCYfPSk$?Y(H{GZa?C*VW^r71@w(j`a6Mukl(!5}%g!WC^EohS%>XxgWs@7s4HvYS-qx0%c zD`8~r(OJgbg!-==W@%ag(g&n}n(i88Y?|R@hUW05)tmNjFM(OyC~Hgt_7H;#p?yNP zg@r=&=;$WV0<5P8@j^ZvDIG-|Eg`I0_`vWh5cM%?PgDa)kuBLv-}W%P$Iz97SHh@q zW4Dbj163PWuTpz7qzp{CD1{#sT3YZ(fpc&o)k&|@ZNWaw(bfL5VQmEvo*}$N_;RqN zj5+I_9gL3VFzE!<(^j2Uc{L1Z+kZ}V zc2K-Vv5ZAG#mOC!KC)IsC!i-Qlr6w+7XGpsKy06#-{icyK85Zyca zWb`!%D;ZWGtQbgp=_Fl%OV|K7$xRfHJ#t!Zg5$CFRu2J|vyEeb8*U`xkN?Wt5M`mV z50vUkC8ac|{nR1qXwbuq4`u*V*(Zn#0h1qrOgj4cVt=mCRxAZTa^W z-|Ir;=%{PaU0~q2zD0WE28QAdkoi`I@9Abin_MkBH7x^6r>v;FHV96iKlAncA^1@# z)Do5gVwTzhZ5d%q+F^MI#(aiKRWNS+$kYv@9fjEE`^v6 zc0WfWNEGT4<-8j%47haf>PT4kYE!*!ePPqXHItW?1=HCh#-ltey1MMks;Qva98a|K zuy^di+($mbw#B=e?n?(UU)Gxk!Nu3b&1DzNc{gp}1RLDie0Riy`LM;deZcO?;OFLd zFlB0(+hF19rE9@a#L+|B2adwpZ`vEk-Y#2Amf|p+f!%ronx^H}x=I z!r~6vNM2?FVHSmo8uO6BzCF-o^pg zabkD&{iEU3-m@+j%7dZlQ;io8nJ6+m@)G!L^V#Kn3EI?ZX=}0zfXo0gS?0(BP@XCG zl&hes>NoW%M0-ZJj(H7Vi+pSS-4i-j>JZ%~DU|UoX)o3qoclQG)@U%o&Cy~3`zps} ztuLt8)DLQRP);hVl{O%6C0M=zG1#zyc0fC?p9b#|N%nhHf^IRLN4JZBRTtLI*!UD~ zRk@Smo)b9VaGK!M7G91E9Q$fH)Sp>*Ud^jev{IqH1u}s+(+i;Kp~fleC5I>B0gIo9 zL;rU}pN$?1$(|$&_Z1ag~!*P zEe`lw>1VVJXb}R*Z~1QZ{v210>_PUtj#gllFuaZZ@y>U2bkcrI%bT7f?X`g7j0c*Oh|FESpJpJ~p=ksOY9_enlSA*bQ9~XY= z2pvkaNz-BzxNdhj;=BR8qrCek?F9>~EZejy861l`nexmc2yGpfG%O2v>`mM;@gAr> ztNPU{8Q?{W!0E5U!Pul%HM&9$-|Q2!9tC5nX_M|?8Lm!NmVxcKEs=dT*gfry9M@x& zk2f%~r?>ZToQ9Z|wsW?&{JsM83$2%SO>>3Fx>5I{TLblhCQxT`&6`zo!otv{w^sfJ zJ;%Ly8I%u{i)w2n8yJyBVdDgd9}8qIknv|IqEXX$roV)!Yf&Ad8vun_jw_e}rp4?6 zQACZ8jsi1O-iRl#m|XGYiCJa~w$%a`*O<*N@!o~HSn%?it94+5ZAejhlOcMf(c1Oca>Z+&qV(vXUjfN3?;nWZ4=ZB)jn)1V(QCK_w_ z3$&-2vsNA=y`siOdw`lwS&t2B&#pP7>S0*0U`f=<#qjzs?NQda3@nxn#DHGXxM604 z^k>rDNjn5KuGuc`QaCPBMmt(0ctfv3PGh&dMH9y1zZde~;z zt^plrPXpkB;zw#=mz?GRM0JSn9CHh_aILp?E>4e+B|c^S{2SP_*-F~nA#dT_Z*s=l zr_)SnmNP5D(zGj+t{nlX@A*ZhybT4(?~*qi)Vo^yaP@Hzko5VZmnUKHu#suU&w|u- z{9IEGhj$}CoDOz{nklPJs?-O(Ba?b~l?1;VDGR1d1nb*u`fYo5c>3j8jeykujr!3l z%quK2cuw$WXDJ zF3BeTX_Q~z-~Jc69DhnVbB(zctY4iwI(2}r;g?ol-T}AUw>#1P2KaWYP_05S@ZUPG z_1s6G4t3k*zb7%GVpEe*^Xz&Lcx~nQm)Me$%mJDRC*)mR>uNu z5pYTEqxSl5Oa0&H3YWPAW->FvJP$5eovS;IgpOeyk914}g-0n7r>a5Mqz!i$yAHvX zz739C2KK{RHDfGzU3d3#*1*z7O-32`T<=G+7z2jA-&pg-23S01Xt_Go!E?O(AgAo$ zmLkz-rxGyk!qP7nGs22fpK3h41O@VS^-f;`yb`4->lOsu)IS=H;F9x#N)La7#*wKX zcijvN=Pjp?cDXNH{XEEHkV1xBcO;`_;tZ-;MUD;wEG1xY=*_~ z1*_FM#}W?r>fM|Dz!zSZc(dkh2gv1>vsR9b;91Ty&|?q;lz3k5MF%Ljw}2ymFt~Mh z%i!h?*PdVBf8!`5jZV5NX;;W`KYNvIdANV*!NZ3|AZLM` z({t>AWZitz_}+&bb#JDpoZ;b=M_vz4fGm<#+yMXI@}1B76f8q5 zZ7oe9!0-9|7aic+?Qdni4TmCU3r7_aaGmKg-nk#VuK(s(P#Ji8=52wXdyqe{Kpy|* z;BhGNz{Kug>7Wi%=E3t%FS`T=!_)RpL!NnpQcLNerh$A@@@~j|6*BZrzaw2vFucqS zvKhkjhL?&M2loQ*FS|b&GIq@nnZ7Y(=#hSDI&aVm7#q!H5HK(x#q*2sqi|@$(6dlv zVBtfB_JJj{CAq~FBwV6J1By`iXB7Lt2gOVAR1$;KkKOUUgvGEN0L@7Y)@<-N`P1qF z-68O|SDRnwfh6~mWJod?{CDO(lxqwm|IIhdrzvPv^^V49P%bcuI$)_`aablpz@rzJ z0$;+D63;dVbOKA5y2tVfij6P2w9pMm`7-$c-*ce%Ffy2VK!0br7(Vc%<&y^i_aW`^ zG&TKpfUn}S(B~y+>+~;r`Pf+YweVx)k7S`w;8WVq+LzCeZD!UgnfHLcOh2wahnJ57 zbG^O;W*#%YSqmH^w4+)ms5O+bN`8=9)T245SyVq&hrAPWf6f^WVS~fphwp$7F~N?H zDZs2{ww2zXf7N~TvY^JOAJki5HZ=N}b0G2D#1{8{kmF7EK3V3%=io2rzJ7ymExxA? zF(Lb=tcA0T1LcYGNVx|*m*cVml+4Ns#a^u_7}q5H$P{zK`z=*^9WU^!wrq;7yW zS>HB(w*wR}<)iWg(w9z`Iqf;nOX~gfjbN>4(Jcod@?n%3)f@uyKTjH%0a8y+-N`RG zBu$xQn%7l$e)naOz>lEk(5oAxK%Pse2q?iEXA}6`_9^1s7Sd!(wcXDE%OlG<%Qn!n z8n=wGpxjpuDDy!+$QStmtYJM{Kygt}B0zbhoKY@7pW1_NjR=9Noh$Ase;(>Rt)0DE zG&r7XclGnYR@#UQJg)t;?eoX*?aH?f-^)Vk%Bk!7eTD3Kvy990^EbAdi@+}FTFJW`i?LGH&gE!gVW)4~mBd-k^(9a5v z<=Qs=09cw^idxdbn`Uok1UZ3qmvx3yWk|ax&C*m&0bf$!1Meq(SQQ)uj!W8G&47$e z(&tEb57ZQ@qTGXzA3lBjk{!Ypho=g^2w7KUu8?UvSR&QF>Q@N-`nuJdOzzQxs zLF&_~*7|jURQTmjc^QHyej4%V6y%tb%{OZ+2%8PDDol4#~zU5V)mw4XMk;q z?W?^VyvY>QC}9%90_4Y=)Zkp&sfaZ@%+I_e$;v>8ii)ZfJqSj88oayj zUa&Q=k9Hh`7jIvdesu;??@fKeZ!mbB^i1wK50n;4L!}&izVv13*TwLoOlUypGRWqY z<#OhtV3}c2)lm?5>s6UIPVg%A>p5>5{G~lUrvBvixgunqm8p8h8{m@7S+%}^kg`9v zgq4Ly#h>uZi03aqGPTGs3est5SEWt~WMCE@;X{sK-%r;es#R2QbZy9dFjM^u4}pn{ zV?LM#%nD`$cy4{!CD09g@u}f698%UuzS#F5Y|FZ<^S)5HTIhP(TW4V2mYLNjH3a>Y zp4|8h>O1v;dJx`Be0w0s4V-E_c{|x4&4ScxQuP83GKunFdu#KxrGtkqkJCNd0}+`c z`$s&2^w-l}OWPK*&dfABLnqLZ>idjU;55v7-f|p5w*9yk))pT5JbCpj@V`+%#wPZ0 zKMA?t+nsp-Y`8l1+TfcRVE*BmO(!)1J%v%%%ndSA zX312bA@!*HFLVh0u#FBI+5;RfMa%|2H&FUi>0ICQ$3^bO3=A2(M#MHJ%p+{Ji2gtV zMMNA`99Aujh@+C-)RK$nuVXi28Wegotft7F_IG-}AuSLvtu^U>IwXbxn z{`YU_`1>(Ni`Jt=?71EOT7kF?q%JMFT=z;Pk%~o1zb-OPq<5Pd^;5)%JPlkrseDI~ zur9k6)@v#fIA!&Os+UAwcUZHvs$Jwsz|xS4*F@@EFF7f#kI0)r`#ZQS9-9ByqB*MDk68}nFNVw&GafpVG+kfZIymV#OP&&ngipd zA8zR8I1xuZ?Kgdbh@+lXS}!CbXXK{D+gMgoNjd2#Vz?L+<8O#&G%{Y89Yq{ZV#^PX zE&ql*l2;;HXT7OWO~g@AtED#+am?1n=<&*zxAIQj$J=;qosrepA!0A>Xr+x3(WdEx zjZPwRN$$uq5xFlfJcStswCt{!CSfT9{ajevK z>1RZY-;5A*K>Yju)4sp#{mcHp?#J)S$oh|O1pL2tbZ8FUA)@8ha~j!199cDg zy|jqdM6YfX`;+??Bp>4GecP;O-W0JhPiy#zXgl>4#yk=EC}Cp8uZW_H5%2hm5AszaMYNQ9 z3L~9}(b4#5_KbJ^qkNNi8>{|qz+XK0>8HQyg)!C;b8Ng~bLp83KM{wf83rPbtJ+Qd zo`_?SHcy`|B2n@~B1EKwY?p^3S{uE+QCCFv$w|2puN-@9x!>fA#M=l~FJWXeo{QLL zI@V}MMYO_t0VA)7!>-wNd%XJ{rA6z}B3dpzr;%O6;i09_Gl|&V+ha5@5yxO{gg#zG z^U=MHq<>>0);~X*Kie}ck?v|Zi#P(c*ZO-A`!h$N_C`c{$wrB{f${I$mH_!A;z+Bd z)YFMLrfKu^r6O8gy_!)@#Qww)s(XkSNsM`BybVG{6HN>e*)6B!x`?BURz@!_;<%yR z)gOy!74(uuArbpCN4W0!52P=zmDfv&IPPe7_4^_YO;2KE5s@U)SMG_JkEM*P5^=oJ zq78Qu&0o)Iq!Dox(rW3QMfCB8hY@c>Si{fQWcrKf{zgtS-iDuImuQI)5qqrvnPQjd zcy9God#67av5S^i_Y=|b>v@gbA`aW1-A7&1bzQ_J4sR`2T>1+hmrGqcF4EnlPr1RL zMZ#}HL`F3h(We^Y&Hf^eh1x8AMm%{8iIFf7iEZN@2ei%l3K7Ra?TCI%#Qs^c>ghy` zhQ{MxeVaeQMTW^X5qqfSuKS2Mu4>oyyCRNqS~0zZi0qaVa$Q7h;t)qXe_d~6F%F8D zxh1uT$dGZPs!wzl+3Rs2;Aq9T-`VQgyEw**IHGhnBdv&3mn~w7nB~na;vwR=q&?NY zh&aw^5A+WrW&v}FDI(Hbj*5tAN%V|H9udbZZH<0F#8_-5HREkWt) zN<`+!8rc(1zY5YtW{Mb>%!1~Ic=zdoc1M5ym-XBcsJ+mii|Bidg=YVF<=oN_8>>Ye z_p}H4BN2zG`xse8q=sx05iy&Y$0U`Aqq;Uk-ymYFFn!IL@zOWYD;UK^?0X#-wRq3z z;LIN{f6gY-ad7wN{g#M4O8R78K)iO_Txo7FcZnDaO)qn%h-15UQoj{>@@>asTaeqrYX(#RDeit$z)Fo_*NS9VU4-9N6a*Z2~JJsSDnzo0lc8h{LXX7->Wts+L&KB%-G`RAbAZv=dPhDI#a(w!9Q^_-Vd+N)g95 z?YsU>#Qw_R(0xUWM#dAf;U8E(ob`D|W)c0gamqX?@*`E~!f)sOxr zGWFBUm-DlTlzCCGQKmW~GaYS9W*98;vDn6g)%%J3*tN5E-LoPO0~f!km`J4d!x9(M zY!G?TaMzq}Wkp1u<{URbWU^bQhh-j$6l^oylBt47lllja7a1ker1Ob7MGJ}4S+@O2 zfmR}kiX{Kw?BJR+rxWoOgR6dCL`=xb~5dHh#&^Pu0 zq%Xw3^+mM#N!e(E-)ZSbese=8Db1%7>$4+2nYzjuH2s_ObwltD^w-z(}#+TXjy zvXl&)+BU8`>4wYo{svOc@SUPgq+2a({8}>HVn1{xWLRuFx!$C0<4%{eNS7;(eIXfk zu-#oh(zTX$z9T8czBno(!=Knk-3&6^Z;!Z;l!Q-22~ryQyeN-!^W|m#DjELP{)bym zhF92OZZsKQV}Ia&NIFQ;Hz1|GZx^*C-7z`lkCEXUcDY+ehJUb2+?o@g%W1xS)Q+?l zy31rR84j>lxsjyXB%AzZQZDuVql-!Voco3RiVU0E(_9bIO_F>3{U`eW`0=z|T`%cJ zh68H)F&t>Gb~liAq#GsUNlE!slp>|r7ez&+8zZ;)@nqPi+!wTwx@n6!?NDpL9Qyr~FLP zX1JEpgS3rYd+9@lpV~;8l6JG(EuYnzIHxDxlIb&|4AO0voqiW-`?^7L18EbknRFw= zqb?yuq+RcJ$$=BwOCp^|O5~vbj0{U%AVs80NRDq#%9;L*=ycK@m7~5iJr3HEu8&;c zFDGrj>nPtM-BBs?Wu)6ITm3fDX1OBiL54?NAT7!8n9G*-wf-J)Mp~rXc{b^)YsQ%y zCL{eAGW^(9NiG>$*HBI)!)n(++L57ixzdpgciVEwChd4PSstxbXf%`p--fi!U1zy4 zJ$^${j5m=XCEI65+37FHwPbkEdTC19m)$~HK?*z~khYtl`cctkk-^pRBT`O5Ap-jZI*3*d;0vztkqvFeDkOo=~_w$ z-<=GrT$Z#YEnIV-Lr0Xg@eLvDIk+=N{GAwgRDJH`T zmm#e`Hx6s!dC2`-=8^8V@;kpMeSx4M>7*u4{h$4PR1W)tq;&9SNBu}y>2HcM$@iyh zetp{mWa+@NnH9~+s6$*3JJOvaef`CxZBa8WkH=+uy8behbc^Ia{U1-{F)8r*Q9fyp z349J290vfQss@2>$V&3v<{uvU8(x@EF~ltF%AbQ$T+mOlPs(iXZi1%*p@S4R* zc{_Y~WY1lih}}edLRW)MoJ8WXjSeYe|IB`Nxt~IIbH(km2}yJ5#w2r{Q;MtA%^lT^ zU9o(vE|zB#gKtWzg(T0S-_Njn-i(qWx^r0y88W?xtv)0MSN1Daw@j6DB$f}vTdS$5 z(&Gk>c((HP7w7i2S-T09$-CT1S?f~Itg{_b3)+=;lAobCq1VmL8VJ2ygM|%)1SY{y z97B=`GVkPka6qY!DqdI}C{!6Fg+RrcF;{?`#;lP}K=Iy3s#_-6I7kVyuc;_!D`nlQkle3pBt;mBa^qc^AipCS1+Fh~T>Ql+e<4y}vD>rj#u!9YX7Qa;=@l3Vu<^9_ws{da=K zW}}pF;O20g;Oj~BgtlfQA13ss+3DqR_U3P?k%~QI>3Ye$^OiQOb>g8!sRVKUh7(8c z@@UIC13NmujR(5ljiq^C zHO_CSVA3G{QNLhpwEj!***@aYJbp+dd3dJ0NM$~>J2QBtMNW2HFwVJGoWqm3#PW=VFB-5cCADSKhH^&4FYGIL2gmE6n&`u(? z%|SuXtvM$R&##{So>3_pIN3@Z7UnsH4dB|u;Hb>H zak=2^6uVCj1OuZsjiZX(EJD$wDKtFJGlXT(nS~Ps*jgj`tqWjv`jzd1SUdCpUy#10ZzN$)S^uZfx=of#H`Mmxa7}f+wya<9BDi)QR&C3aSjXl{Re7aYqZ9{v zBU=_9z#)y9>{XFIR8d(9hYP8e zhs)|(#7k~C({ygAgl*vN%*nE9ltu-Mc&oY$^ZK}Ul=+YDg7;S5K(~bniR(}HCkME3 zhtng9omSN_19K7CG8jfA!sfZp-=1kz0N4Jg2uk~R6h9~avcpDUksHtFKn;Xe2)oCe#~^^Vw6(T(*zmPRLGaR z{(gmd3Mf?F zi`m_W&edK~!iZ~-`P8m|JJI1q4yIF?in9OG?420&!rs*0-Epm@J?U>SwsaydRPCeh;Fo%Xv-(X+-f(!8BMWU`nS%s zN%(e*l`q@*8a>|L$g6lRyLC}y)_d-(&^HCScA!bbKFhHazd z{&t{BAaPsI8|sQS-{v?5{NU_{B#+ux9aGP86w-~{j}mG@C6Rzbh|U9Wff4`)(LiJv zfRcafrl1ml{9W}g`15S&esYSryktqR(JB6n``v<{4fb2`X^8X131DJvc zL450kt+wg}6Xa##@8M0crd;r*`2ZTYBm007@&Ao+@+EIU@S57CN;Y>9%poM{ zHFLUp=1iaN(?@z@RF&n>kcp82005eTyo?$E0A=xU&4mg7Q3^8$hynnpy0+5NshCo*!Bu$mouBS{bX31B4Qe`+bs-`B>$u4A@|?;H>e*;_JKD;69EX!A&0$YDEa(6n zd_g&I+3l-JUEsk#=A?wik$_tZo+S8Wk-f6=39t@&xWBs-lF-=4BS>Sty!h3lT7(G* zE|Q+YWrBT7On?d|K(T;81EQ%^okWWzO3XMdUdjTxxoQQENp zTyfJG)-d^-(1%r0l6*~tuY?Vi8lRG&^UVQ*5|n>Ys2C*3)APg?2HhxyB?5>J$P!mG zw^t_KvR)@7pZx>xC@c3*oDVQ#q|%4;?%36@-}M7?T}?2AS8UCEWU`q8fA(j!r%-Et z4cnlbjE(q6=T;(Az& zIWgI_sM9Zh^BU+C+jmsR5;6lyj*2-JKAiwaTYMyBDp&sV8<9 zblFR#DPCV(ZDd6vDWu;5{=I7J3hQn&-WmO$RS>!VCpaPYKpm!C>}3+XjJ*eBxz=0-9>)IDa-zt zdHjdngk3G`RdD;yky z16vwPt>jy}T8rARPXvr)sYVs#i@7H%O8I|PkJOmUJr+_HIv1Ap^z^j!#PrOYY4zNi zn40hGa%O$=Z$nB{+*9`n#SA~_0!3BmYa-W=uDLWJ4*e{eT+H^fg!PXSMUj*)jj z$J`cGzZTCl&+a=*aE1^rnLb(k6l@N44sy<`5P?UBJ7b4uhk;?wIm;%~W>^QmyWb6= zFU_sl4dfR86ucl@dH*%9$hnlFf_)*cw)gXU_!|xUP@NT!2zp3lNNY$zHVSGMv=wZf zXs&8ix1PV4zplDH)6X#qtT0X6HSPDLA8Im({PdY9o(PyYok)p8u|{36qZ%P3Ie6!q`yR+ zllZRV@_KN^apyR74Bmv=CSKcZDqhq4&A~_g0YHfvRQyqh zKdl?dg3g?vIcjI>q5n%yR)>j|U%y4~PH$D8P7hBXT;E}>)NG}1ty|mV)NPWDdZnfh7pxf9(zN+N0$eGy%oEGFJz z*kJfJJ|kO|L4~1SJ#GH8^}_17?q1hcyCb3L&uNb1x)W1=0~1AmBq+PbD!hu_aI5`$eo>-aa}fe>KEJ>_$X&AEqK}8~y0^7=?R8HdpUH3oLF4oTrhjOF)iWvN zap&|YMU6NLdNzzn`<_TCwdU zjwGycPSH@DT|emM74vQ-cE;RdA13B^511hoGMDKi50;aZqa%7@p zEX~}KmDPOJl;%1Q5)U8;cd1y6-0D-Mzls#qNap2j6>Qh%e1{_9^?7S(Ho3cLU!T06 zuhfV0a!k0Wod4{`2;n^9+*@OEC3AaP`R@&1Rz8Ymc1?I>ZbH|XH19-k$hWDjFhU5@ ze&kv`TBliyj^9liC2caI<7!8D(i)8FjaFtyXU7R%xSG4R9^D<%9f3y~j;s$TQcu3P z6|<&HFev3L(7UCljjS;|D;x2)>ytBXmq_65a?<9Ygxb<5h#h;)u)>*csj18TgR+D`x{{josQ|kNA_V@ve zcfDDJ^de2LmO;YJ*K9BF)vdA*;y--n^yn%SM&RHEWGi?wh|oE|yT1jkhqH z3Y-d8hZ^E2_!amzH%NQhd)8_?%urmu?4~p5r?lk0#k{Id@})Rhu8TQmI5}@)wH6i+ zb(UC_9#0iF+f+BSxM@GteCd?-uEaNO$OP;VhP(>xD&a~qmozW;n~zcsyOeE$Q? zeu~b4p1MSHJAcwiGJpn-E01$TkfU&Lg4hdPo?aTaQZ$HYc&uDr&e1H;TqoR+u?nrZ zef6w5^}f53o5abw$d(s$X|{CuaymMaVyzsJBjobS?dc!UJ9pI7Q?96Yd_c`^*Ye{N zN-hEV%iqWK5Utv!rypAcBfYC@)m{3vP6S)$-P}iPyH3ZVn|^rrN*CJi=MT@hp0#)V7*ga0-h}U$Q#5^r1POQv z;vN%0QbB503wySc+^yD8Lj6MQq7?UC`w?fKowY|Pe1od|jxQk@;$d%HGdXjcSBh^H z7qx@6amLO;`&T9H3@t}*>o2X{7mC{?z1vqIue&$H2MH>ErT)|b6)$HG?Z;mZGCBhu z0|K~uvbWzEgZtvGETJx!Jpup90USI0upZeRe@~sGJCwl;m%TcM1b6)GfRmm4CxfFu zzuei+?oN_n%fuFOLIEe|Vk^8#Nr&epEuX{iFm?lsx9zzB@=5^z^!wY}nv2tCRC|px ze84b$rM;3S&7U=sl-BPx4%Nz!JyYt-1=|A;uZSAt-oY2c?*Izz=(ah-G|mrSgVJ1H zO$h+-r3V0l!vTP&4^r?y0KkI-05~xL0EB)500hA7j&C9#74T+Xw$Lvpw_oiFKLx($R?w!N&dj@p=5 z)Mfu|Fq+3!qO9%=C&cIO*xZ5ct}h`iMe`f*=MNWM#9CH+p9p1IGB&sa1Z1smyqOsT zOO<5q{?U+kHmEKio~&5^l`xVh>ZV0 z09d2Q0sJp-wLuJ9=nel>W@wB2zjssOLQwC^pNdn}-k*To7t%NX!^6|^rDx*%5hC=M z$|EDe&QJ`-&Oivf4kF)c-I8shorLyY`?GV^WI%ng)29pZo6WVZbt!^$;oL zU`07%wUF0ux?=>S3eDla#78vS>6fASoi>6aBjLSgt^oYr12~ijqoaiEZ}Kt8Wo_<0 z!ed7NgLhVEghyjpMpz9>u`vpZ-t6Qb`GM+wnxZpmcEXy1lrXJr$dJbFg)NM8_!_CH z0SQI56l9LQP`^q2+|b*?+s<1=(nB(EGiN?i#rFykV4m;>%<3=}dI$@Sl7C;I9Y!)@ zVt}g@TPU(d<r44S5Va=9On^_y5S~P3S_&_Z=CUi7@C8qe1I#TyVz7W?hpDDCQ#2 zYzGn@rDm6)%UI{4Al)SMAZ_0b?2Bs6T?((=G){Oc!Ea*OQqwC9$$GvJK~;i}?~5;q zhnBFTZU?j^1oRuB-4x>6ND-J_T$&* z!O0vxPEIHcauNSu*pT<(_Guv@-!8g*ToY4MsQLkHl$Dj0Aa}FwuD6LJ@Xa;k-TBJr z1Fsm@9|Bikl7D0tPuxC8G=K*uw@CO%=;B&2ucU$9JsoG@?bMqFG3zd$HEf7W- zAB$ki3_h9$(-u*pt$aD-z2nQrb9^AyfKM|jJ{pe+Tkd6eoxdwrtH5OvoQZlvg*&F~ zw&WSX;8L^-yGh#RqStaMvzAPkh5%oDNPZJy(eht-P7Oby?Gk^vljAA3}l{riE0u3HIL`)~0##iI~XPd zlx#mEsE%r=r5${E@fJgK7%|Xg6%JWyD&;O~Vv2imFTPV3-cdzA1blqqA=HT3D&_ND zGY0sdyjP;uoMvPwYHB?fMo}edssd$i0CBJx8ObAFs*1tmdnJPM-ddFSqCW1ofl!B3 zQCH%#*E`K;v}k=b1*m*+aZc=ym&(xX)>34MM?JT{ez%{tC?!oAH@RqJU$5=sqtj`C zGCUpx^->w&;Gk$=r|Hl^zbJh5O_ZH8dV=B39Hv(7V+v6OFeND#VTX355E_`&Hr=l* zOV*6T_>iz?Pv8DkV>^WY^8i9fG`6UBfC@CD-Ipl-P)J;F3(BwkV!aB}oiD-}Ev8u| z(MbzmZHn<{j|fjEDP$&UC$=YY@^TrehGmL!4Y06u$-8|=hm@$(UdFz%Y#1Lf$o&w` zwEEG-c59z0tMpkW{@H&Y-)G5J-6n;Yx*A=BBAeHs=q30&5z{n5`E`kM{TdZD30JLg z{dsycPtqne^*s+A>&4bz(emFISuGD#9Q5_ZwW($Gxbu#&X3b+0N?6SVzD5li zPv?ciL_}jbJn1`O1w^?F`F}DKZOU5b?+tf8Z{%BfmANsFBl}B*MU#{{gZ#u_me=cI zE1(or9P`gPmV;Yu;FB|cL&NtGxOTdP&j;;YNf^{mX!{|L1_O2un~lPOqrJB|w@c@& zzo+^5en!c};#%#!XF%SA93M-cGM~$Psshtj`g;~iyHZ=R+1@i5*n+3iM;P0w%u@M& z=nBf*+`FtN&^Y-$T|cn)b2(!5J9eEoY%KYx_FcBy)o@gfov>zZ@;y@nhw_sDg!H_JTMmy*9dlD7`#L_u_)B z_x z+Gy{VQ|;Jc>SVQ&k(l?cM-tJAC9MD~QINc?6&@!f%cm-vx?}kAXGgRXaf$7BLdMAh zEj6rw4$f%D5Py@~ij?B&K zklwWy7EMm(0y6GZ7YC^oJl69sjf_d-xl&^er>tq2DkrUaO ziGMj(`BLW|KKYvGMJKIJSXkoDdPwuf1^o{E==SQieLHBZfL<4n2>qU5xi}wrw7jq& z6TxR0S}l>QvErVzX(8IZ)!IBhqZq>CNo*}DEYYE8Ui1BCxe%*-Jj&n3oNT|eWkfn} zD`m@~Ei!an&)iI|{*c*fHY&$>7- zMK4TVl^xJCDQ&VIMzQYZojs@ez0FVlvw+&yjHXprVL;Exx-nz8vX#J-|2ZQ1+}eV3 z{0E`n#8)jntk*&;b7E>=-NGhaSs9~I5+63RxR&`9H<_EvAv?E^LGzL)O#c2HPpOZH z|K5^usfnDXK?nV46gg@!6K@xw=?ScITku>6H|JKC&Fh8p;9q7oYQ-UKYb~;x*5hEk z;5SdHium>yqqg!vaxP%>iB1R6gsw$ca&j^t;amvCv>!TDu{2D2KM-Sc8%q{8&X>~{ z!~L;jegEQAqL_l2tk#|V zGW#E7u-Qi<89mwG-j64q5ak5mV=ZXSgT1=;$v(BZGV=!!@0yF?{DgKe!_k+ddvGrq zWmI+{CY%BW{v9VeBVKBRf+c-`&S)F3RP7nleuU)7J;kczfrUNGUP(3Z({wFi{i?f1 zx6tO*r}cPSDJISZ?uSCFcgBt<{>j5xcjolEQDMCZ_+9pymhaxhc7C}4!)g;)~1=1j~S6$S*N9 zlH0f+Y$r_kcK#$t>`-C&;MR(WCs_CsnLcTdi$iF_B+f@*d?3YLX}u8bx2v(!Yxx;j zz6PR)h~o)ZynJX4z)TFAI|5g7CaFL1YV>#hxhvg`v>9I4vWT$mrpuEV0}u zVWo>Wzn?_sTRj(uWa#%0F&lhegmXuKAo!bl8_5-=(m&|7`Ms^GD4*S{gVMviRsazj zjRkTUG*j;w8kaKtDC!QToFKV&ud=Gsp&ELkHAHbMgsJv>`NodX?yo~qq}h*rJ3IPts_V+2_@`$vN-T8Ag8v-Cze>TT*Onxb49p2;cZ(zJC{3VLr=X z-aBBuowjTiLYmy~ikhmj;rZy(`5+RC$Dcf$r2>Zfp)Y~grYQ{b3@%arEEEX_Q z?SnqRWtT&blCV;7QE`YXHmM=dY&jDfczY9P*ZL*&b!E${8QNNCm{*Q5u_#%SDNM0a zt#t~`{iQ9 z%jQhDmmnC7xgSp5KJO5LkBi=+Yt(8Or%)&v4vS$!#!93#etGY1B|k%8<)c$R0W;hV zU95r`mh%?XnTF`mcj6paPRo3#EB&FT7zD(zhieKvLgVfrP&tP zLJKc^RMrrD#WqS0(%rdL270*Vx{yL+DKNr?TuoTP3FO*{+o88nVE)>@YQ3Zq+W0<# z5q}+T8Bb0rYMCGVH0)I?{zl)egK8#usAa3^l!!a0n;g<@ptk-)a=cdACPK1U`&kol z1kUHv5tR7Gi>Nx>+n`0_%O@B~@Hc`*qC_4~^Jl0V(lsy1cT~)dV~66~(j7VN`4Fo9 ze2Z@C+X{Cma8vEPCfc3TO6%?r%+GeWFXzIH1;^`<$@vbG=i{q4&4xa9QT`>tZs-%( z<#ywH{7>S7_HmItIV9&Q%}`7&W6KF-98||UuS$IVC&q4zRbCV&6tBhi2N^s2M=AXb zFm*BQvCwJh`%KVnePRj-5Bp)$K}mgW<#?Vboz<_K8MP`kqN`UL+CN)-pYAew^L5ip zXoxRD7P8cmAo???;9^hcvw%CKXRHsc#=Ui)uiZB^d1Yj^5W?SI zSO9$ZW%eiEg`i%B$oYc1QVAf?8onR88PGACQe$G>?6zJk5vLKLfdgE0Pj}gXE)2U` z@P~!S{-K3#`lW|fEi}TV%UB8OvEOc>2yv@)i*qBlL1$GHg*VTvpVGmoWUI>UEkSq~ z=m-dil+YH+I9BK}MF&aB^;PhOFEI5CJJtIuM~vEC)l_hph;KYHH9Us^%F{)TOfr zty#W083KlxKMo?`$2bQT!8A5`fVNPVEKk!v{As7C^rZC4+1O?b{_Ssrf%kVt=t4h1U~fZ7-4dJ7%DZen-{* zsWtc>0)-||+?tmwW(e81HzDP$AVkTRy5&lRE$ZM&x5_uF&_3Z!Obmw&Q!JgU;Gq;P zszrqr&N7^+L0J=UY~#Z$s#r)FG6}N3PeB6ldXA#yLkR?@c&RLl@uSAp#%0J#meswf z`^Q@GHA<9l{-UDn2OFOa=EK=a>QQ0_i@%w?+g-Fy0}uqq&}O#mRhkh@oEtD!8UdfS?}48e}j~P8MgOLU}f3H0Dk_9j7&Uae6fYbAUYllgp=WOjHfgJ5FMFD9gox@dO4e*GQ_b!AHM#c! zE5kKGYr@w(0+nWUwlEWrCJ6DqIuL$Ue5U5jvu&i2UPgW9s?nxPr-0L>fQe+f+}{#3g6w1c_nY7;=zh9W?B5O91Kl0- z;X2ycfoI(&Dd8W0FHD@RtQ_#|;9*Aqu@X{U+1(CssOlNqI!72)rd7%*qLq=6`5SYF z9!ena^dN^D#$@#25JvkxiuMTm znNAr+D_nE_1iBti1WhC)u}XGMQ^8d_ zA=%a!bq35*ZUmYth z^0#NV7&_=f`aQ-Yz2&2#Hrq`;sbRvIwW>Y{gI0fK0%q1L>C|C zM64z65q0H>^%tS{ZNLx-dffw$OU?9}<>`yYOV(pYWF29I`F$bJ_D{v5XUU!Ol0^dz zSW)WaoYgN${OfJIKO`4R1e-1KW{Tv$$YTJi7Asv;Sf2Nruoi<+ zdd|364PsD8?+))8lHlv2^`yOIz`r4iE#@HTqMw#l+wi|@w?QV;WVP9cz8oPEQPBVh zBw+y%{;4=MmuVF?Xiq@g)7i_n|YBopg88ZaiNq1hqXCyGNgC)F5D-!!bVIZvNXk`Xe$jPS6r z((e^}ls_y|C!p6Gj91}6q6;32KKL5cyclp4E#VAt-taXpQ|nWTI~#w$?h`^mjIia! zD7le1`WUK(TbXfWD1HP|fKhUlb7P*cFO|+yrVY_Ud(g)S-I1Ux;r=3{J|~NN>E^LG zQON(~+U*bL1__R>uCEFi)my5CjKPS}ZNM4YQZWT-beF+g?(Rf|@6PUQ9W-QXg1-H! zS3`lXr_IEL5@f|Vq+QtubKaQ(;e_;sGQwK4HNQDizF0hrk7Vvt9P9lRK@^MI;5D$6 zC{c7>McQru!yp42_AI=tc0>z|cL^8n2tG(WnS-Lup~WQeXX^OU?i$iPqu0NOHhuG0=xVfC`q#^SIdiHJSA zblDw_qxcc5g6x$z58EuSqz)rFHE!9C$Im}ENulglxj7pj!aMdR*%KiZg%W-widd+Q zF)dn#_?3{SIlH=j_U0OvOa>?8)q9QsRd$Pea!?bi1;X&qwT! zH-i7xHyOwtn6{;R!25U-b{{6w_**qsunvrK{TlVD>ilH4#K0Z- zJ)I&vm^_wq6KhnP>SjH?E|{KaoxC|Q3XpTQu~skZ)tFx+Q_)oDsh4$dA!ZvwdyPP2 zFll-v1l8g@O9psHZx_|`4$ezj8_k+3QBh3;J4`rc{P+gWE48wsk!R$>Rd*`HuBM`V zZU;YO{upp?w~Ts(2xRvJyPm^V%;t{mY@O(xWTVEH>XCqn<(ZG!djaM|Lnc5K*IO?> z1UZ*sqH5l@55J@bVU#MZi1))2Z5P&8I_D@A+qlB=L7ZgOLJBh~WB$X*c|7SwKHuU;AdgtUh9aA;q$<5Yk_MBMpm3 zdmFJX+l)wY&{;$;5Ai*DWED}_Eg1bs%Sgvt5EDIHeBqxw39xDTsr;Ks)XF1x%tXAQ z5Nrb61R8mghSNmF-wS%+Xc6e~`>7NBQ>&c+S&PwsHaefI{12}12Zl3m8^gwiU*$}W zeqGPwP<-#(Q?dC=)9bYv`}3csg~snw&Hzh{RC41z(uquNR&aPAN5Dc6wRyax>S%sl z{tXAS>(<@ieel0F&lO|A#V<2aL?pMB`9~Z*%e8@wJ+p)LsDRJ`}3b(oo}A-WzPs9-V#iNz~1Q%^7cMG3*OdF z(C?D*xoReWCnKXgq77LSy`H5BxKwZ~h&_|#$DuY5A@GE7yXj(~%L^+V)#zKGqsjw) zo8vuxyXo4D!rISCj*{8vw=iqa^}mc5qX4*G)~!|ZivZR3ax}`LgZM7ktCVmHfR~T9 zS`<<(dH3;U4P4c6r_<42ycwWT_i8hFUz1e|d3+{X%J+B$VG&+$*<-I;;kwbIWwqWk zcwn#-isZ5e%&%n!pB>G{P9{1R7el(I7D%`(tEFCTWusoTI z`AVC`i7($8Vioj4oKEp3Wb)l_B}Lzcy&B(N>$BO(_Ngndbzs01OMI6;M_dL9R9&Cl z7o#Z&MXknPW;gSFz2A-({iF`rd}=huka8V{49)vX?{+bAC?Kf}BCn9E&Bf^MdfVN~ zE4)anY=p(FBk^P){7a&l)zEw&@Zux|$$9N#$@ef5ItbrfyhqEKC)q$VXeKQMwKhA8 z<*{8F7NdV&GK`8;`eLXMNIAQrN9+sM;R*0fShY`9aqyMVM ze>-;5SXaMB-)sr3(^Yuhd-6|cAs~wNlPHBr=4D=xXH|7dF;$q%gN(UEz7pp=x0|M%ROPjP*prPE+t^^QIP%&Uq&LLbch@GwE;OfU9+xLIYmV|4oKSO{sH zt%|t)jV7Dfi|X1E<3?cK=eU(%XL9+XrP~kj3l|%Ew-u7euiJx@`S6{SlQZxOGSguh zu(ArlE}@*W#je_W-PW%&@0D9#ipU~Mf_DgD?4%dtXPUH-mOh8pRJn#+&G6GX7H3FO zr@{8I{uX1`?1EXT))3a3dRS_h@YAV+K6PTP z@LJto7n*Dx*N*E|OhoxT@rholrrZrP_xTppe5tM3_HzJ5nIuwME<`I=_}bL6n%9<3 z2h)X~THnG7@r>|+whn_wVV1*svp}`UqM-hfM0(-ypF8KPiCy*MU^;D>!<+7u)fBw; zoN=Y+zL*I3>gCW4rQvXVj@!-lp+rB+g>_957_-xlWE5Q3vGh$T(!5wXU2qo-&#UVv(b(Ma_zKM&1WVRPU|sBR%1Q`CVt4TkVmQXUV`&c^f? zxL+hMe-A>*f(~+QeZ{uXU*N(6;J#>hQIyJBe&0go9n)IZu*F#r(QK9;45y^I+=n~p zNTQ*)CmHb+J`I}?-BHLb&B>+s-r8GCjaD8~W$}&5Wqa_?;k|Z(feM=7#i934M|6$K zZ^tr^x%nBqdOuI8u4iNI=Zr&SeNHzk@nA^80yi($y=_$V^)$jrhMn))0}vMEZo`O? z9m!a?{cjQd@1Ig{7-0gx^-zf&6~t|ESLObxoO-uh#MA=b9sh7Yqn z8%n<;_Sfia3+cGE_*Nl@SOYKZ+hR!5uo^Z2%8LJwi@WapsDGL_d40E8 zl|PtiMs##(pF`+*KB7wwAHF10%ni`JyEcO1r_&YsCE~0Ia71dXvUuBy=R&S zLBz!mciStlZrRzV_nugirgS~iTbOVjMR6|H#4G=iA=Lie$;?*Wt$_1V3%F)2)^Bbh zjIl}SpjVa6yVlLECEpC>s(Wk)hA^{HWH0tMQqsa^Jv$-V&eYTaiQM}32~y6>PrLi6 zD$m0aon!~X$IM}U3?ZFil|lw5UWc!@!$6Axmun3#!qj}@$BU>x*+VFShIh7#W1cba zcANmvRpFA}IEs}o4m0V$8%CS!3ZG3DL_Og&NxGK(=Sh>WpksW~qN zHF(*+pO!d!6ge2{r+FuLCp1mvYL#XoCmj0_5c8v7sLC^_`CO`w?qMcExb!2kEQ|=N zsD}2y6{Y-Yzg1Qmw-C6{A$ivFQ>^~k)VJ}trx7=GQoY46Qx$OwcY`McWl2N#e%u#D z!#GXDG3s%mToA^)ecy5{gKT%NYTS_BI&3AWe%X8)#-2z;w+>q$sVWudv9!pwoGT3x z9JQjYB_(*|_U3*AXSLGpJVfkUtK^1VHt(*}SV`aRFFI*wB6~S+RlC&+u^84*SP$~Z z_X@m*xHFjMH@=_rfX1*tB7XL;G}|vCK3{c5#Q84ReV!%Ln$x72iX%OWmu}bVkjSUK zv9FsbaFvZeIreo06;LXV*-nK%e36aOuGv5N`e3VQ`}3Q_Qlg+?f!}Ejw{U5&M!Q

u@ zeircM204^OaxGcNFtO8;Sx>m*DH45fa&8nz|A7-wO@x*M}CAJf|O!kriFe*re2ARRc zQNqK>2UD;m<{VJs{A6d{d_w|`>$hVt<&5QXg)A=im}3AMb9l#yp#mRx+?HXvdz*(V zkQ@4YnB^p$D-(EpLzu%V<0^?vTypp?zpP~rA7z9MbLY_qJ&~?uJJpxi(srSHyS;+H z=;%6v+tJ>3axZd^ej$4JEitJ&;%SI$7rPD`)On9V;48BvX89vf2ww0N$(W70ZJ-jz zPzMqIqUm}Aeek_UD=TW(q_ZHbhm}Ua_YD~9f1h$pExJ>dLX)e%voacB zpRssil|yyG1wNx3x~HQUz~40{&OQDY79M3KGRHiV9xbh}oRZSLifG?GRlM zfiq#h1nMSPPEtPzyqFi4$3^*$PP#>w=b!oD$Q5ej?6q=4C_X_ z?-l-uTe6v}85pSebJb<+&4stG^}92D-W@Ptc5NR5Q_i&?hT(7FC7WfenzRm=_q%%z%gtC4Hyr8XCAwUKETlnW{MUlZ z&jK6I|8n-{cUIPMmQ^T1J1p%8s*D7UuG-lr+C@mMigUGtu29Pw^OtHhF(l*DS2dOz z>TV{+EbUK0H{)*PtkI#Swg{}}+E6PaSe^ruue~J8QhpNDz(iC7ZNp|#H;L+fKy$FF z5f)T`atflzX{`%+dS1Iy8b!zdMB9K*s4NN|xT3~f59%f0Ia z9iu^{>+%yR6Gi!D$r-;yaa(BJKKV&&=wbst;oGs0EXeP@?+t6m=TvZ47jUyL8eAE| zT}!itx3l7sTjWa+El9}C#fSP^P3}Hc5Ekizt|}QQE-ze8Wlv=%adR=NO;sl^5gpXc zetKFcs($OY!&tR^GZFH!SyTB<2)iM|$~Ltg(fhOKc_6|Hj8-cK0 z55$%hTpW|H3ok=AMl5dCAUA0LDgKvnxv1o!nFCM}o|bq;+aUB7KG~86-gyX+@>4aa zSu6~r0T24Gg4HAPjk4C%?F`_y*TfDtaU{2`NO`8iPJRnjc;<6`>?LCy;mBlIf0q(| z2-gmWI+mBD-hsXMh99!L4!I?jg17We;v?lM9r?)_0O+!N78+c?zBD!R9=<#P@{hmb zU_AF-*R#uZJHTxQy|CFv2}ux8B767iZ-rJ=GgU~Lv{&golUW2NwfhaJtJ>&?1pAZg z+&OuSJSojk2Ib82BJ^GVVSh2M4n}cgqw6GwVg16hzWPt5E3i+eI->&mFGpooGwI(v z<7CSSoQmqom;66YBg;I~NgIrmcAhsW|H5`2#$1&AAeOJ+>Bfy&_JiH#*+sfiiF&qP zHivV&LDoO~lKm)d+}#c57-8e91$7T5INKJ_rZ)X3b~EO1US!jta)XeE1r2^Iu7xa) z1e%mWS0|;bj6=D~vW=mMb=yqdwo)j+y`j7EkpGrUQ`OZ}s7sKCdZrw~RiMO?=&VAv zTb4A`+F#I29EZrWh1nG;mi;nOYU*u>5B2Nio>_$Yop4(H+p8aBVIPTc6TwY%UM;Xm zSh8fBb(cY{>Z;$8OZPq0Xi31j1sYt&C!r5Z`TF)&c+@+SmoSo>!n^^MmW-kiRd!Op zSapJ_^(4JCqNUnu4CY>BkQ(=`j^!iCe}&wY3e$!>*Pd&3b&|Gx1a~U;mVwXTY%WHQ zX1MmFiH6-I3l;@6Blqh{Z<+{LuR(EnQioszLJ^O<5$WUIBcE+BTNYGP!I~;7#bx2w z-xxD6pZNv zYO@=)`g9|eBxKE6c#0#U`H5VP%E%{jOSa^*npianWw{lAu=-4V(ya#Zd?-145AxN0FEzoNc*c?@-OMxCG*Vh?%(c{~T+k_NP(F6~IeT)!%*`J;VR|w6L zp9Of9k)cVVLD#@Hgw0NU9xXmJrK0YNi%<-~%8%A-P*`;QLR7Wq!a;jNeYKy|{V&ogV>#AU`1us=gWND)qw9pIW z_FSu&@|)_PmOf$7G`MqGE`MeJPX=;LSjwx4ws%|NdSQn_GcW##LIy zJCQPnEho9P^AzZOL}m<8_x6|c+S8n zS|)*x0#%z5D4L1^=en^_QT}A8aPy(+il9 z7R1k+Fw{4$9)e0!RJig|5<4WuzB8VLihXgm@CMaZvWtO^v#i+-KSA63I(%w;k!iEP28#!PZR|}jg58D^`|Pw z*81yOM#>@f5+?_qCZqK#y%fr5M#4^(7IK?n4H8zOvhouWR&xWv?NIm8IVYtYXxTu* zU%PS$;p71pVxzE`@DZugCjY0fw*ZPGc=tt-puyc`fj}U*I|L6F2=4Cg?k)j>ySuwv zAUG`Uu(-SXzWu*@&v|vvt5CcL z+XksgvP`ks*WN5>-rl7#e)ymk9odqDK-Fn43w#9YD!G={04`bI%2*idKO3`rXcsF} z;Wca+jXxFf-#?@HbeKK$SvhzObw8H6^*xy}sw*y|?sM-EY1J@#Y!cqa6y}lsBqcqC z`sJc|6Ib-+pGJGZJ4k+Q5IC^dKt~=gQ?x5|Wax!&jFTj&;-3?)$H5lYmFKGNIYb2MuZgpcgC;FpE&DhBqv_NpF8X=JF2fR zujEgD{aqol2|qWthtn#%c|+?<^rsj04>i>kRU<;|B4eSgqe>!BHxjQmHc)6#SPSmQ z-95QP35V%K{x&6y?$_&Ix47MW7 zRs3@U&RO8YPw%(X+)0{6u2aOPgU8X`UkD9c6HWkGnmiH%k)TKIB=&)|gRq;h^JVC()a9Wk3kgXjNiUCN;6q``_i=Q}Iku-FMYO?5dj&5}%Y!1q zKBWoF9S^8-tkTsCD_E%HbZDek+OCXg*o&YG_lwKGPlF@&22uCTzMpfZydEx|*+w?$ zi8Y5sDs;=Oiue$7j9;wTDMMUPk$}_KvoSK+wD(vZ<-HnDY*f;02hbx1oh?mpy|I3n ze!?PQ(|5w9%n!vpf9&O3=%0-pT-{1s&f%?#lUKap9q}LP(O0?8Sf{z^%l%GOr$Z=w!Tk$)D3Aop3REj%v_f~yj3@ST~%NG5phE5E7(DlbfL84R_}P_ zyTO#sM*_Xuyt49woHnE~1Y7)7v>q&^6Nx7e)9d5M^NnLm$@|Ls;x&;u{z7t9$g&3k z2=!j4^x2201HaQR;4Hg=b95H=A(cPvX2djt1S|b**V_Tl0iH)JkWE?UB*^Z>GS-8e z^!4c_%jqznt`1#M*d)CD8ShT318!3ni2;`jTL-Ays@vN)j$BLMdx2h~P{UBu-pA6Q zgeEOvgar%ya6-`h^TTTtx&m1rR)Fl0%{vaDH_V$A8FS$&I{&@6EKxY%=YTvCUQPK% z(z(4`tKNIxz`F?+xoK_~9uNkrHauZv=!7g7Zvw}R@zi2E$We_TEwW z?)hXme;_Q7cR9oM9C{(t_=KKdW=Q=&!(;LNx#iHEV&K6=LK)UcUr!dLOw6h<1MW8o zS~wT%;v>k#`xKK$^>8A~Szm0cs&76J^!@2L!XEIgtT|81B6;p=a+gbs9lOP+lMyml z3?{fb({1zRZ&F-)R_|$qr&J(#OMDS_-Z2da3BE_3)qoV)%(B(M$ZXcA=TIqa%rStE@U1>mt+oZ4mhr#0_T&QmC?|s`8l4; zkaiapt%M3GV|v)%-t(s7kHh25j!S}b`VrX_gXH3QZ^(2GA&oQNUQWlBSF8=jtzN8J zxuT-Z!pWi&Wshhl+QnbPX6r%c&FrB?DgW4A?YZrD?^Tq_ofJ{uqDUfEZjl`A`AJ=I zRR>c_dGbRgvuujRck65`G}Ul+)N*QN(%@(|F#N>~VTB662v)U4W;91VyQv>bUlc{^i#6~CzV89^~A9795L-wUT+h0~w#tT$)-p6Eya^P-ktYlt~_IiopKS7slljP_H3 z&OT)37c=@Fk7gs8&-TiJ&e7H#?D(J1(G@Z&@RtqU%=nQ;pp~3Z&Zyl?t*2A(W8S?4 zH^?XW7d03d%j`~)R?(YEnN*?m->zYEoKmF>Y8z8DI|CyfWqg@DO@)?$ro@^e3P19y z;M4==_NAd^V6cScRA6!ry;u+T)mZE@7A86|2(aoV{E0&rB9P-0pvWuzNU#OT{z!hQ zPh5;t$NSw@%5qnldxH9B@Szp``&IH5NB^)$Z(;8uyU4#R+>R7`C|Ity=~jE$CksEH zH&&!4x4Y^sVx%EN=k#NAO+9mk%ww#x&Q^W?pU5P-O>SC9b#@x#)#81#iZiR`=durs z81ev`PgQ(ovW@Hxd`zH^KR^Ej>Ld_5A)8cB7(nq1^I=)hQsz1J!Gi;@YQ|rk46*xa zEI6Ax0>KjCy$ky-F zj=%gEeG29X%lo2Qa~gj|Okd~gKh{MTt*j-Q<_)YLwA)cl$x_F3-uOq}zo_Svpo(S| z7B4`hNK3AuefkKd8nK;6T);V_;E&dYg3)>szW0YSLq7fO3x{Y<*%&xs0@&+Clo|+x zb;!$y7F1Qgx75=yZV{P2%PZ^SGH7j_TVpl&%}t!i_oVmu^*r%imPM(uAVa(v;a+-Q zm8)&DU7=k8)_r->@F%mX@;zBr#%<88^!ks^?cxXeGkIEqbHZMi6HYp|s_8g5yT9tA z#Qv&ail=Y{xw~4F#5g&Au2&&~>`B@KKPVxf#@pQwPt;+3n|=Qxa*+Qsfe(}DT;8Yw zV^f&+?$&NX8LJW;rRge8>>pQz9=CIsVp!webWqx72$>IGN;ja0ni8{**{X^NY4)!W z1L_V8Bl_?9-_-<&~`JR85xwmzpQXz(0u9V6pXK z#dd2tr7-xna7ctX<|Gw%KQMVXHDd>A+_bngV_=wG>9nvx1f^c<%<3usEKh+dLnJkl z)ZA~5xM3f-Gr~jcF~k;NDQI4*Ux#~v)~mm@?U$xu<^s&ej6V|lE7OnNcVzdw)eL&= z>nNUsfaCnETkvUUN6ATmpwdMH`eqy$gP;crnVgx24`fNl-ZKBRKSzA+HplbTU7r4W4UjhEa!sT3U6dE5+xY5JX+h-Ual9tE%LaVs{=|V_42wZk zt!z>zS)T%>VASAIpbjs;zJ5Uu;ybhsQ=f$UEX6Ee-@q!)5p{NRjri#ise@n{rRwu4 zd*^=YU9P^9<4*En{DqBH@)shj$J&JaD0GeL^Het{=_WRhA3^lfgL8Er*^De-?g!=P zr24|wFl_sW3R_ zRI~tmLA^z9S2Uujvd-!Qv4{)Y#Eo4j|F`cx$OHE1ZjURuWMq%t9k<711VRp1aqmul zKkyLP$!!tP_m!50#|@*b-!7?S``>V)rx?McEtBi{ZuUW0CZ+rVk)cRVx^^Sgz3&b; z?x4djpPzJhYzZFNSFAtV*tqeXhXGi=8Hhz1eqh{p_HeDj_x`!~e6fbH@ylJZHX!$< z8Z!6CP9p5azfzCD;^uVgw+qN~dJqVv7lKmMF3eCOXd<)9Z-G(aO%}ubm}kX92RF1g zfnmU`q@gNkvq2pN2R~s8QvZb!kLKs`uSMe==BwAG3D9H<*CbqEeW*uyLE zvc1HFq>1Ic4oODvVeghce&Scw8bz<8yWC3TZ0tuj)wXBu!JC&q_uhy7EwM^*FSx93 z?B84&P(S=@*$=9x#NHMpdwpVE-94y>j`I_at}j)c8eAO&!2&3haeXH)Muj&mKRf}* zS@N7$64q|7UJ$q2X)@qsu)ehCntU59 zibjeYg{w5HDsTC)Mr3@mSV-(*@!hW)c6JsCi5elAL0kv5TX#ecNBh@glnezIRum>t z(Uw8smhHGhnUxcs;5(=};W(N=SdHS~8|QvkxcARZ0owTX3tjgxW^p;}CPG&s=8QS| zAv65Lx*5|bdagdMJIM%dtFOrqlX$hW(N@o@3JxVMFTBD*5U#K}S#U^t(1xfzrFxK# zpwmSNcCn(6&^|hAyK&B7QW(jlGtQI{v0Iy)2!SR(gs**d$upgE83eW8`1uyC;R>aX<}W_e5NY~L+gEJRq8nJtYOw# z_A;)ObU*&@AM~u-?8Iy_k#iOA`3H|PIm=Zuu^4($Q$CCL;ZKS3CzVA`QITpZ)TLkn-Ebea{(hj(et@J2?-%Y<`ZE9N zG=kKW_LHKYZ|X&e`C;y(-}8a&Tf#Hdu>YONS%=2PEpE~^Lvn$K+KBP~N%H#_jo?Yv z#jhT$d;bE|Kli=&yH0cR=)Htn2hT6%l~h1$m3lnKcz30BlrxoM8_+atv>?o`SPsmQ zK!a`kZr@M(QUGgSmv6{bKVQ3S;3}IJX8e%nE+&4o<}rWsYCXHE@K`FFueDK=6}?|r zwT#{Q_ZYR*18Gd1zf;rRKoaYQ z<}n|%oDkv4n=|c*=dTBgyF{13=NHd)Nhcz;c^#jBr|O@72kPHQ{8Ir-|A` z-qdqqz2%PPK%k=bT^jaJZbno19_OEKSw2`cNwejQ8hjIi^ct}Y`uJm`k)yj}N|{XY zbS%l>jnR*l92Ag_ePY!=CJW)N^P!aRyube%{>e^;^O;SeFW8B=fvUP2s}Nd;n>X%B zRo>fgdXVj;eZD4884fc)YjU|Q9Nc4Xos~HE>dV24EupT@)bdkrBydP6`$tSXU7wbD z8ZDmNvP=75O3}qK?Q2(R{e26+z`)36htZUX_W!$KH5|5Znz^s*H%0vSH1O{9`XT9r6 zWZ4Jcj;Y1=?zI{&c~NrKiiX;cy(Eo6|5BXt;D6-ovbb_uIK{c<$_pkroegA15g;Ng| z&bqC6vj?u<6B`Hd2XgvqNRhldAzPI+H$a|$goi?G)P<<%EN91>n}9Ek<8Sy*d?K*v^k`nZe(OApWi>OogAv>)vT{ycn`UCb=+L(Ej*hM z&k5;-lQlTQj69>CaC8u1AMQsN3JFv;)hLZu7JmwM{rD5ro#kN^& z1a+(qp(fIs)QkSzDUu96HJYLd{vT6$HDOELi1R(qlTo5tve%jDi@sq+;4xVHeS>O5 zOP*7w62=R4w_*ip>}<-fcity$55x!FAxB#u0;nU!9SGgdrq?wWIinY zGydJbt;?NDz6oud*u=vw^i@SBu~mP6aqD@}!XOE%y6{CJ6QQDEtS~BgFyatYW&GB@ zClt%_FTv6YvCq8owXG80!hFHf6;|N#?$M01OuxlNrR43W8gPxa0@fzOzv^U;A^uqU zXm}H@XntpE@rkw2D0L_&^igb+8?_VtK+-zpzTEg%_Dvt!%GX!QE@cmoHrRp+ z$?RA=veZJat8Dw>ZP4$aM0G`1AweX`WD-ID2}^=C>+gGm8$Szl>r?-!iM((gCzie< z>5=>RKFIGdhZa2E$xU;MX!O*j8t#jzzbL$;Oh>h-gx90`fB2bj_>ivTI}KC*ymniF z`NqaCnsRW^5+|xysO<|OTp1-mX#*9fizvED> z!_=)Vq0R)`5vTg*bSg#N1@ns55};5 zlB!~>qE$sbFm*zwy;o1LAxKMU&0Ya}E7oxz1Lh99ws6ZV>Fc%7ts;IDeHx6H<`9Ww zye4mS6}l*C2HvmB>zfG##<7z77Jh*y^py8y>C}!r^NRO?s2%pNZLO(-ro9*@tb}XF z3Y;Cd&en@%v$u_xhuz4f0un=EEEH$>dr*~V&(B5hzPQWiyYZjFZ*b#H8JgGO zTEG7M5vTB^DOL$Ssyk9|3;~Yg3V2kZv*}MiT$o^J$Q<_Vm1PUn) zDio0@r{F}M2dHX>2J}dA$B>91Xzd1;*(vo(`l1dg|KbM!y%v337(X$le6X^)S++J1 zU_aE%%u~*F>ioeSR?3iL>M4Y1#+cJ;;AnYudi=QR&KeRkZcwWI2`*|sZqgfBKvzKD z)65U4b!N)z)VeoVyU`xhVJ$j5xDg|SO0m)1q?X}&RrkYUuh8=6#qeyg?C-FUQS1Yh zP3Qx|+mw4$hos#m=oMrhQMeshjnpQ zf~cmiPsTl(eSnNV=x5_@*qy=_rOkq?xK9Lk^-@J>hh{o$zLsB9Hq;#@S9-RH&i*DN zDlqeKKkmS4csieN#U@fF>qiZYe(qY@#51DwZEf>gq+#E? z(0PYqz`#OWhhkPJ4ZFH{jU^JVq}gS%D@#(DPL;~G+12Zo7*bqH$Tq%YTzVauQ`YE* z*kUk-*VD{AZ6U=YA7U~ywX(neN ztP3?c!NSDu;+H2o%kbP)rqE4Oge=lkOi6#v?b-Qemc*~sLog>qwDVjZ0xzT2=1c^2 z<|9!`tRkxAjKLzg=HEEUzKcIcc#*G(4)ER&E#Qr8urD2uO!lQ&!fSf1XT7LVgqjA% zz$VL>s!$pvH?=Nv_Me&WCu#b$H{53|b-^(uz|%UUg!~X)2uoH=0Yj+|=@Yx`S|5Q7 z>x2OCP9>8$oZ5ySjkmUet-rPgcCOel&GX&2$r$(#VWlvuODdqWGwfxX*fG#(g}L?z z9qB$Qj$Xdo=RYiGFjklaX0qGKwO2Yw%rwdVi2 zE$-`Ayb0pFib+IjwC9IMNpN+RoWLVpiwh=emo@@PN>2HSoZra z;hy*)(^}_}dh%k&yi}h8RbK~YJ-ah-n);N6ad$dVHuWQUuoDS=S~~ym3k86=axJ9X zuDo|!n)q0b&r4QXI|KPu{}Pou_4Spti2g$mG08X*@x>Pye=hiLLS)h9_I9c59=NJ@ z+2&7R5=ECNv|@_5O!`#a$q|CapLuGj=izE^O8XUh&5O~dtCDihQ{BLftglfVWRnFw z3?+piWg5SP^(DcdGWg4vFI%!0k^P*bgu4*|ot>BG9zS7olDs?4Ejj62JNNdn%(qwP zPqXdzf``q?)%~$hcpuE%O*+xqz4qnOeesUuV_FV09CFtX#@UHYZ%WKy34I+@~(y{ zOWu3Yk%`a(?K~L|rI;vnLd6G4U;@YMa)vO%_21&-LICsdI&;8cNrb{t9u#jM4Bb!br9}++E-=8#kDFr#my^u$b;7I zzE_drOjA}fmU?*Qvoa2-mHc}Tw-gPMMr#*yRvqI+Q)ZT5;E|vUNsXby=Ovx$;d6g` zlN>ohOvk-JW&=&m^X_pCF6TfAGG_5PS-l)f#NX-7M#|8OO~Lcp?aLvc%_&JShQyHq zxP1iBN?WsCbNxTtqxE_|eqku8`7@Sn1&?#C!Qq)NzqJN(?*tjufz~3=^&AR!W9u?I zx8E}#_XqsKu()O0qJ{$?#8;-8I1Du&8#52YtV>tQg;2TpW6P2Q!bdSPwkebu5q}c_ zcKzY*Wr}C=?#B-}+%g4N2nNK==?$3~zlY@E1-Z)(+;X*66>shN8)u~wqUGUKhC-oQ z)T08eu5HdP<=rNHxIHE{C<=;jjOgHd$th(a`==n+SucyP zdDx&?G!=}VHj$nJ{N29fQQk$?PdV2Gd*d2y*AE9%{4h04Os&?`d&r~hY_ELMdcu|; zgXnz(`yFaBOFa+_bi? z(i~q6Q$8hb*_OJyEn~EKy?J#KZ-^*Mh(t!z2W!E!mdb!l-x>TtM0sgh#g0>ygHG&oDxBr}UfI8DB~`++*% z=q48Bld2M~I^5PAzb!ZgR$)E!b!XG&D>==N0+F6%KQ?#>^jZ_eCFQbMnCFt$ooD#( zDTjT*CZvnpe;Lr`HUXtJs~uQwksa5ZEN-7qyQ_j!14;#MeU&iIq9FGGuxW)8`jZHG z?U2VgCXMu}C^c`yRg5H#BZLvscw>_m-7B}-*IE#MD887U&tnC&E`A;bY@1O4j^PmGWVd(>fM(7NN0$Q|A zi*cdNzew5I60FO4b?$V_IQYI#`nA3UIwv<~oSM_&sqLAH`b!H^nhx(R^;?(-)jvRQ zSjrl=DLot;Tje78MZ&Wnr|8dDJ5S@RwIw1?>sNm<%_&dA zs=C>R18xfn3n0Y9DNi{?#x^|X0q}!PoA5<{ady$YGGU!Mw8WJKO zER|oX`U|0HAfq=UzP{>L_f-%BO#9-YM)o zZ={dl4X3;r;MrHBb#`)XbO|G_!7snhX=l0BK~=tuQ7T{645S*O0mLcbI$lNE1ax)o ziCS;5z31y>XDf+_^>sdG-Q)}ad5^Y##gthBrmR-;*rJZf-3wFPxH*0TH0|Z%CDYCI zV83Ozdt?)xD$SSSM*y61+)9RH+Q_4E4sF>1&hgK)lh%FyD3#uxI+4xa02*i1k<98A z>2|JYT5~xjCd>4Ppx88y=Tc_DlmN6%mIqeq%fUh_2+Vwx@(Z>m7QD_TUej$@;`G zf1~zlL$$OBoTQFfd2u1X7d>J7b?)3q4f$$sw_y+PrJZlxYt&I;Oz43H<*QZuLF1q(R z_aCU=%g`Nv2A$w=@)eLX`od<-e?KIH*%;|LZiUUPOS@O3^K>(_Y{b-T73raHx)jq27@}y* zT)2_t^ z8PcO|%#D}MATB37*WmXK++K}5EB>QC*u#vvpBLe}#$;ZLF|$VS zYZ4alASA;q9JOqyEX5UZlrNdI&unC%Q6e??v!o#@!ftq9IG@nsIl_bK*nR>Ev$Ne- z^W-h`jihyawNqT+@UArMYk@z9Zxs&ULHRoQQv8gioRL`kE;Y=O24{wxFm93-Fyzpf zy1=Bz15sBwZwBN{zDS6PSA{J~yfXh&Utcvm#7zio5Os^zkUi&ku)%x}a2)C)y!3ax zFRo>ONI&fPChTvI-^{Rj-}45Z=)CRKU!_(CYq6_$)&s0pZI7OTMm)&(wMwd+(qoV_)kmf-?L7VQVg$3Yb)> z=`%l`@mu0#hMb(^B9s=s+2UecMBOF%EH2KCI>!MH^jbjOn3sqVFk@oqjL6v>vBbk> z9m))@p1R)gr;FQ@>3Wm&=Tq=rJd%nH2fVoLrg_Q_c33RcqYqcsDwxSu)jZkl1ZP#J2Uz&}A>7!knQc;DwlKA_j-` zCM~^s-alUmk9ch|5%40moA9hLC}+)E#eF^NzPWDBh&_WqNHr+~kd$alQq>R#8mq9b zMQN0tMLo=T9KUKFjKX93_OPyHQ4~lK&6F@1S(KQS_d?)tA80rJ7j&;0J%AU(-3m`N zaiAFrD+=amf?)sDw;M12r|s56@v5KRLD^p~+;7Lh;HD2S1L>}?eZ&iK;^YG0K&UdJ zd0SSHl+=f9e`N{a%Dlj$&v%7v~*@g+LbIDm;m>KKzQl`Qj>zaCQ zj&Nn?oM%R|iICCAghQ+f0~5&lp5&-R4M8pT>Zwt;6qL4XejmgxBrd^@#>LV$hKicqEz&luig4XI z(q|Aj)q8z}-$I+29yTj-W@uFqfNX7Au2ou2qpIdL%EL%FIaq13%1RY)27y>OeL%v< zNZ^Me^$uaFBCA;>1iEXbri%F<y?3V%iyazu+G68_5B(O}OA6DgUgtOv4}M|^b8EWIgFKZG4tZ)04~FRT%C z@4RoWJ@voIP(O6n#3TXg)diScF|XH`^a&CGIplY_u`7U_;1}NAmWY`N8zWAPYq|MD zqEm5!!u#~0ineq1_f*&#J7TvtHyv(a*X0-r_GyR|^jpOxyMq6y)R~}S+BVfrducC+ zP!vI6?uU6u8e!EPASeCB$ymGVX*Tn?s>zWQFEzq%w9Q5jI}&w{RMHBwyK`oZgu)1i zJz67FTtErlEI|4U7wD`jZUpielx8Y0XLZVykPsNX*OBDK?9QM0`=&LB_|_ymEO}x_ z)g6%oq%%v2Tbue7MW8wPP3;S&Vp~n75THJV%*F(N#+xX3B3Jy(Y6nZ##Jp1Q(ho>K zYb*l-AxK2IEPA_L_{$V2o{*2Djx*kP0|#DzmtrTpJD!&i_?Zp0z5i7duQlf2(2f`s zx)&!#5;w~A7LWvBDmr#|%={4VwO;4Gj3%&~vuy_-@(o?L>=Lj`4vrX_HA2o?WX!yo zT7rhGq6wrCAR_xocl|M`T8nuW;>f|AtM$1;aidFb0E%$JGJoy~|3g0QEFwmv;8}aQ zKgP9Bu{)bzOsgMRVT7gv_2PVRtPSABmulXJ+NkJ#e(EGK#`1t9VcB8BvIrM4z#9oo z#f|j6ZKxm@vI#nKHGEd(^sm)80IwKK>!B!unzr+U^6Lp7rk$@9>YQ2;9!WX#Bc%9x zM3_M6_a;ZNK}0TW4N*r@N_p`(7Qlpb!ZN`IXoRldl~`ut?mtT4oyn@==`OldMFMGi7kCR=Abif73sD{4w`8*zum=mA+>4lqhym4IoLx-keN-;Sae;C>Y1J zGjBdzC$g@SU^DyXu5GsgbE02JcZ;RZ?0|6Z5<0Id+T#AkU96yC>soNX*VAjM#v3nj zKRj-ck1EuNOgn9=NI^OCQlIN!LSH*>jFVc3CV7&uwkp|A8dW@1C~9RRnkfHZ_1$;h zBr(fnijrk|q%sj)x;fGDeEPD{yzC{vxsu?lBIbPq(@D-=`*qal-xDL8FEBV{*@J$B zP{P^v-Q|7mbspm%8H(e9&c7UH=iBoRukd`4%>oQbOYPQ|;LSLM{9o0mq?_265W$C6 zJBM?LLRG;!lNso8+PFeF{&+ZRpV(|GS7@Js4sQ2nVvi?cF#DZU9xNp3bzLw29^!{+ z-y3oGjuc}{&FCP`3Fo<+0e4bQx20BZ_KM}tki!=@1p;OC__w-vzJu-#r3(CKxXQD} z@;TyLZ$t}3a8=t?e>hw?X3da6K_s6QriYINC+z#X*SkUOq|)+O%0UUUDryAr*~%4I zbodc);K77jaEX75;G4U>BA5>RYyZZ-s|);GiZtwMvtKy)gX2FceL{V|Jb}MhkhQWW z`11a)l>8MfR*h8E!iXaPr*MPbt8G4^ssuP;qc%t}DPyQ`o>vi}x0nhyU__hs{X>TRhE+v^hTCDQwT_o4}Iui$0^{kqA0}y=^qXVC((~ zd|{@1-A2g2uraWP%LW!wJ_eNx&oKvpru^7%f<#PnW%AoA#Y$fGzZ7Sn0i%U^UjgVz z`~(+kM<_+<59P*Z?dDBv4}lM&_lsCCmNKvULKi3gtK_<1@Z2?c=K0lM&{q%K`i5>B zy@RPc(Z-vNB!V_($P4c!R+zqmq!JVLvsT1=$D$w`dV>QwgD|is#t5ZM#;We*#gYOM zKZ0h)r(^WjtG}heA^Ib*g?sbig!wg>J{7#X{|=0!0F#%lk5!XUT<*n+2h$ggRZuv@ zxO6SD1yoF0wghi1e~j6EKHGKY3JAl?GY#+_8u+Z}_BXyRH>N*RByN%43+?Z;qZkmy z9{Tz4;C_;qXpu=n)pP^qXv1sa%$`Ur* zyH*y#+ZxiWx zq)T5c5=Co9b=!fZ*XWms5&zp?Xerl&e*{eL2*gzjq!(!y)f;DsgjaA%J9Lf3lwnP;%kF{g&n*vMFIC!8VRScjUHO-J7Yo$QBjTV)D-$u>JMIJM zEfoi{9Y^=a>tty>x4Mwj=5TzzWeS>QWsvGDnRPe9sWwBX4xDZ1qT(y2NnBP+Z~*$n z6SL%hn<>2vu8DrAzX}wbsoCv+dUM=`b&?_*LD-^hZJSKx?%>(g(|rr$25-ZW$w+@U zqTu~14PRwQCfo04j9-@+%)i(@*i1O@H|2z3!k;e(YngwZ`#FRURM015Vd)r$UYf5Zf>tQx6$4d3h*$NF5RC6EqPN9Ha&fS%sj9|GO>;O$P=0 zf4>g{1r=@y_33}dC_u{pEb)-_KRN%agvo>XuL#)9JlOxLLwWrtG{1z`5>n8(NNBj2 z7`mA989SLm3Me)fHWo$}Zbmjv6&6lDc5XfvHpnI)3ybn_(eM8w!Pefy(#-S!JAo>L zgbk8F@Si>W$N!8^0`ekbYiMpNXKH8eVgbd<#x|ttUJHrA|9{7*Tbe*ZczIbgsEBtU iAz1%Mh@zR9v#ARdH_zz2H!b8-C>aR_@tW@jLH`$4E2tj; literal 0 HcmV?d00001 diff --git a/website/public/static/images/pr-comment.png b/website/public/static/images/pr-comment.png new file mode 100644 index 0000000000000000000000000000000000000000..f90bd15bf955c34586a63bb1dbfe8149453434bd GIT binary patch literal 312559 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�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�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 literal 0 HcmV?d00001 diff --git a/website/src/Router.tsx b/website/src/Router.tsx new file mode 100644 index 0000000..69541c1 --- /dev/null +++ b/website/src/Router.tsx @@ -0,0 +1,14 @@ +import { BrowserRouter, Switch, Route } from 'react-router-dom'; +import HomePage from './pages/HomePage'; +import CreateProjectPage from './pages/CreateProjectPage'; + +const Router = () => ( + + + + + + +); + +export default Router; diff --git a/website/src/assets/Logo.svg b/website/src/assets/Logo.svg new file mode 100644 index 0000000..a41b3c6 --- /dev/null +++ b/website/src/assets/Logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/components/Layout.tsx b/website/src/components/Layout.tsx new file mode 100644 index 0000000..675ddd0 --- /dev/null +++ b/website/src/components/Layout.tsx @@ -0,0 +1,54 @@ +import React from 'react'; +import { makeStyles } from '@material-ui/core/styles'; +import Container from '@material-ui/core/Container'; +import AppBar from '@material-ui/core/AppBar'; +import Typography from '@material-ui/core/Typography'; +import LogoSVG from '../assets/Logo.svg'; + +const useStyles = makeStyles((theme) => ({ + appBar: { + display: 'flex', + flexDirection: 'row', + alignItems: 'center', + height: '64px', + padding: theme.spacing(1, 3), + color: '#000', + backgroundColor: '#fff', + '&svg': { + marginRight: theme.spacing(2), + }, + }, + container: { + display: 'flex', + flexDirection: 'column', + marginTop: theme.spacing(11), + paddingBottom: theme.spacing(2), + }, + paper: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + minHeight: '300px', + padding: theme.spacing(6), + }, +})); + +const Layout: React.FC = ({ children }) => { + const classes = useStyles(); + + return ( + <> + + + + BundleMon + + + + {children ||

} + + + ); +}; + +export default Layout; diff --git a/website/src/components/ReportChart/ReportChart.tsx b/website/src/components/ReportChart/ReportChart.tsx new file mode 100644 index 0000000..b11eb50 --- /dev/null +++ b/website/src/components/ReportChart/ReportChart.tsx @@ -0,0 +1,113 @@ +import { CommitRecord } from 'bundlemon-utils'; +import { useState, useMemo } from 'react'; +import bytes from 'bytes'; +import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts'; +import CustomLegend from './components/CustomLegend'; +import { PathRecord } from './components/types'; + +const stringToColor = function (str: string): string { + let hash = 0; + + for (let i = 0; i < str.length; i++) { + hash = str.charCodeAt(i) + ((hash << 5) - hash); + } + + let color = '#'; + for (let i = 0; i < 3; i++) { + const value = (hash >> (i * 8)) & 0xff; + color += ('00' + value.toString(16)).substr(-2); + } + return color; +}; + +const getVal = + (path: string, type: 'files' | 'groups') => + (value: CommitRecord): number | undefined => + value[type].find((f) => f.path === path)?.size; + +const bytesTickFormatter = (value: number) => bytes(value); +const dateTickFormatter = (value: string) => new Date(value).toLocaleDateString(); + +interface ReportChartProps { + reports: CommitRecord[]; + type: 'files' | 'groups'; +} + +const ReportChart = ({ reports, type }: ReportChartProps) => { + const sortedReports = useMemo( + () => reports.sort((a, b) => new Date(a.creationDate).getTime() - new Date(b.creationDate).getTime()), + [reports] + ); + + const pathRecords: PathRecord[] = useMemo(() => { + const m: Record = {}; + + reports.forEach((r) => { + (type === 'files' ? r.files : r.groups).forEach((f) => { + if (!m[f.path]) { + m[f.path] = { path: f.path, minSize: f.size, maxSize: f.size, color: stringToColor(f.path) }; + } else { + m[f.path].minSize = Math.min(m[f.path].minSize, f.size); + m[f.path].maxSize = Math.max(m[f.path].maxSize, f.size); + } + }); + }); + + const latestReport = reports[reports.length - 1]; + + (type === 'files' ? latestReport.files : latestReport.groups).forEach((f) => { + if (m[f.path]) { + m[f.path].latestSize = f.size; + } + }); + + return Object.values(m); + }, [reports, type]); + + const [selectedIndexes, setSelectedIndexes] = useState(() => pathRecords.map((_, index) => index)); + const [visibleIndexes, setVisibleIndexes] = useState(() => pathRecords.map((_, index) => index)); + + return ( +
+ + + + + + bytes(value)} /> + + } + /> + {pathRecords.map((p, index) => ( + + ))} + + +
+ ); +}; + +export default ReportChart; diff --git a/website/src/components/ReportChart/components/CustomLegend.tsx b/website/src/components/ReportChart/components/CustomLegend.tsx new file mode 100644 index 0000000..5bb160d --- /dev/null +++ b/website/src/components/ReportChart/components/CustomLegend.tsx @@ -0,0 +1,23 @@ +import { memo } from 'react'; +import { LegendProps } from 'recharts'; +import LegendDataTable from './LegendDataTable'; +import { PathRecord } from './types'; + +interface CustomLegendProps extends LegendProps { + selectedIndexes: number[]; + setSelectedIndexes: (indexes: number[]) => void; + setVisibleIndexes: (indexes: number[]) => void; + pathRecords: PathRecord[]; +} + +const CustomLegend = memo( + ({ payload, onMouseEnter, onMouseLeave, onClick, pathRecords, ...rest }: CustomLegendProps) => { + return ; + }, + (prevProps, nextProps) => + prevProps.pathRecords === nextProps.pathRecords && prevProps.selectedIndexes === nextProps.selectedIndexes +); + +CustomLegend.displayName = 'CustomLegend'; + +export default CustomLegend; diff --git a/website/src/components/ReportChart/components/Icon.tsx b/website/src/components/ReportChart/components/Icon.tsx new file mode 100644 index 0000000..72b096f --- /dev/null +++ b/website/src/components/ReportChart/components/Icon.tsx @@ -0,0 +1,31 @@ +import { memo } from 'react'; +import styled from '@emotion/styled'; + +const IconWrapper = styled.svg` + display: inline-block; + vertical-align: middle; + margin-right: 4px; +`; + +interface IconProps { + color?: string; +} + +const Icon = memo(({ color }: IconProps) => ( + + + +)); + +Icon.displayName = 'Icon'; + +export default Icon; diff --git a/website/src/components/ReportChart/components/LegendDataTable.tsx b/website/src/components/ReportChart/components/LegendDataTable.tsx new file mode 100644 index 0000000..9445c77 --- /dev/null +++ b/website/src/components/ReportChart/components/LegendDataTable.tsx @@ -0,0 +1,152 @@ +/* eslint-disable react/display-name */ +import { useMemo } from 'react'; +import bytes from 'bytes'; +import { MUIDataTableColumn } from 'mui-datatables'; +import { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles'; +import Table, { TableProps } from '../../Table'; +import Icon from './Icon'; + +const muiTheme = createMuiTheme({ + overrides: { + MuiTableCell: { + root: { + padding: 0, + }, + }, + }, +}); + +export type Row = { + path: string; + color: string; + minSize: number; + maxSize: number; + latestSize?: number; +}; + +interface LegendDataTableProps { + data: Row[]; + selectedIndexes: number[]; + setSelectedIndexes: (indexes: number[]) => void; + setVisibleIndexes: (indexes: number[]) => void; +} + +const LegendDataTable = ({ data, selectedIndexes, setSelectedIndexes, setVisibleIndexes }: LegendDataTableProps) => { + const columns = useMemo( + (): MUIDataTableColumn[] => [ + { + name: 'color', + label: ' ', + options: { + filter: false, + customBodyRenderLite: (index) => { + return ; + }, + }, + }, + { + name: 'path', + label: 'Path', + options: { + filter: true, + filterType: 'textField', + customFilterListOptions: { + render: (v) => `Path: ${v}`, + }, + customBodyRenderLite: (index) => { + const { path } = data[index]; + + return ( +
+ {path} +
+ ); + }, + }, + }, + { + name: 'minSize', + label: 'Min', + options: { + filter: false, + customBodyRenderLite: (index) => { + return bytes(data[index].minSize); + }, + }, + }, + { + name: 'maxSize', + label: 'Max', + options: { + filter: false, + customBodyRenderLite: (index) => { + return bytes(data[index].maxSize); + }, + }, + }, + { + name: 'latestSize', + label: 'Latest', + options: { + filter: false, + customBodyRenderLite: (index) => { + const size = data[index]?.latestSize; + + return size ? bytes(size) : '-'; + }, + }, + }, + ], + [data] + ); + + const tableProps: TableProps = { + columns, + data, + options: { + print: false, + pagination: false, + responsive: 'simple', + selectableRows: 'multiple', + fixedHeader: true, + download: false, + sortOrder: { + name: 'path', + direction: 'desc', + }, + tableBodyMaxHeight: '200px', + elevation: 0, + selectToolbarPlacement: 'none', + rowsSelected: selectedIndexes, + selectableRowsOnClick: true, + search: false, + viewColumns: false, + onTableChange: (action, { displayData, selectedRows }) => { + if (action === 'rowSelectionChange') { + // @ts-ignore + setSelectedIndexes(selectedRows.data.map(({ dataIndex }) => dataIndex)); + } else if (action === 'filterChange') { + setVisibleIndexes(displayData.map(({ dataIndex }) => dataIndex)); + } + }, + }, + }; + + return ( + + + + ); +}; + +export default LegendDataTable; diff --git a/website/src/components/ReportChart/components/types.ts b/website/src/components/ReportChart/components/types.ts new file mode 100644 index 0000000..a97689b --- /dev/null +++ b/website/src/components/ReportChart/components/types.ts @@ -0,0 +1,7 @@ +export type PathRecord = { + path: string; + color: string; + minSize: number; + maxSize: number; + latestSize?: number; +}; diff --git a/website/src/components/ReportChart/index.ts b/website/src/components/ReportChart/index.ts new file mode 100644 index 0000000..4524924 --- /dev/null +++ b/website/src/components/ReportChart/index.ts @@ -0,0 +1 @@ +export { default } from './ReportChart'; diff --git a/website/src/components/ReportSummary/ReportSummary.tsx b/website/src/components/ReportSummary/ReportSummary.tsx new file mode 100644 index 0000000..753b754 --- /dev/null +++ b/website/src/components/ReportSummary/ReportSummary.tsx @@ -0,0 +1,27 @@ +import { makeStyles } from '@material-ui/core/styles'; +import Alert from '@material-ui/lab/Alert'; +import { Report, Status, textUtils } from 'bundlemon-utils'; + +const useStyles = makeStyles(() => ({ + root: { + width: '100%', + }, +})); + +interface ReportSummaryProps { + report: Report; +} + +const ReportSummary = ({ report }: ReportSummaryProps) => { + const classes = useStyles(); + + const isPass = report.status === Status.Pass; + + return ( +
+ {textUtils.getReportConclusionText(report)} +
+ ); +}; + +export default ReportSummary; diff --git a/website/src/components/ReportSummary/index.tsx b/website/src/components/ReportSummary/index.tsx new file mode 100644 index 0000000..07e1f17 --- /dev/null +++ b/website/src/components/ReportSummary/index.tsx @@ -0,0 +1 @@ +export { default } from './ReportSummary'; diff --git a/website/src/components/ReportTable/ReportTable.tsx b/website/src/components/ReportTable/ReportTable.tsx new file mode 100644 index 0000000..7a69d04 --- /dev/null +++ b/website/src/components/ReportTable/ReportTable.tsx @@ -0,0 +1,173 @@ +/* eslint-disable react/display-name */ +import { useMemo } from 'react'; +import bytes from 'bytes'; +import { FileDetailsDiff, DiffChange, textUtils } from 'bundlemon-utils'; +import Table, { TableProps } from '../Table'; +import { ChangePercentCell, ChangeSizeCell } from './components'; + +import type { MUIDataTableColumn } from 'mui-datatables'; + +const flatten = (obj: Record, prefix = '', res: Record = {}): Omit => + Object.entries(obj).reduce((r, [key, val]) => { + const k = `${prefix}${key}`; + if (typeof val === 'object') { + flatten(val, `${k}.`, r); + } else { + res[k] = val; + } + return r; + }, res) as any; + +type Data = { + _original: FileDetailsDiff; + status: FileDetailsDiff['status']; + path: FileDetailsDiff['path']; + size: FileDetailsDiff['size']; + 'diff.change': FileDetailsDiff['diff']['change']; + 'diff.bytes': FileDetailsDiff['diff']['bytes']; + 'diff.percent': FileDetailsDiff['diff']['percent']; +}; + +interface ReportTableProps { + files: FileDetailsDiff[]; +} + +const ReportTable = ({ files }: ReportTableProps) => { + const data = useMemo(() => { + const arr: Data[] = []; + + files.forEach((f) => { + arr.push({ _original: f, ...flatten(f) }); + }); + + return arr; + }, [files]); + + const columns = useMemo( + (): MUIDataTableColumn[] => [ + { + name: 'status', + label: 'Status', + options: { + filter: true, + filterType: 'dropdown', + customFilterListOptions: { + render: (v) => `Status: ${v}`, + }, + }, + }, + { + name: 'diff.change', + label: 'Change', + options: { + filter: true, + filterType: 'multiselect', + filterList: [DiffChange.Add, DiffChange.Remove, DiffChange.Update], + customFilterListOptions: { + render: (v) => `Change: ${v}`, + }, + }, + }, + { + name: 'path', + label: 'Path', + options: { + filter: true, + filterType: 'textField', + customFilterListOptions: { + render: (v) => `Path: ${v}`, + }, + customBodyRenderLite: (index) => { + const { path } = data[index]; + + return ( +
+ {path} +
+ ); + }, + }, + }, + { + name: 'size', + label: 'Size', + options: { + filter: false, + customBodyRenderLite: (index) => { + return bytes(data[index].size); + }, + }, + }, + { + name: 'diff.bytes', + label: 'Change size', + options: { + filter: false, + customBodyRenderLite: (index) => { + const file = data[index]._original; + + return ; + }, + }, + }, + { + name: 'diff.percent', + label: 'Change percent', + options: { + filter: false, + customBodyRenderLite: (index) => { + const file = data[index]._original; + + return ; + }, + }, + }, + { + name: 'limits', + label: 'Limits', + options: { + filter: false, + sort: false, + customBodyRenderLite: (index) => { + const file = data[index]._original; + + return textUtils.getLimitsCellText(file); + }, + }, + }, + ], + [data] + ); + + const tableProps: TableProps = { + title: 'Report', + columns, + data, + options: { + print: false, + pagination: false, + responsive: 'simple', + selectableRows: 'none', + fixedHeader: true, + download: false, + sortOrder: { + name: 'diff.percent', + direction: 'desc', + }, + }, + }; + + return
; +}; + +export default ReportTable; diff --git a/website/src/components/ReportTable/components/ChangePercentCell.tsx b/website/src/components/ReportTable/components/ChangePercentCell.tsx new file mode 100644 index 0000000..ff7ab6a --- /dev/null +++ b/website/src/components/ReportTable/components/ChangePercentCell.tsx @@ -0,0 +1,21 @@ +import { FileDetailsDiff, DiffChange, FailReason, textUtils } from 'bundlemon-utils'; + +interface ChangePercentCellProps { + file: FileDetailsDiff; +} + +const ChangePercentCell = ({ file }: ChangePercentCellProps) => { + if (file.diff.change !== DiffChange.Update) { + return -; + } + + const text = textUtils.getDiffPercentText(file.diff.percent); + + if (file.failReasons?.includes(FailReason.MaxPercentIncrease)) { + return {text}; + } + + return {text}; +}; + +export default ChangePercentCell; diff --git a/website/src/components/ReportTable/components/ChangeSizeCell.tsx b/website/src/components/ReportTable/components/ChangeSizeCell.tsx new file mode 100644 index 0000000..51900eb --- /dev/null +++ b/website/src/components/ReportTable/components/ChangeSizeCell.tsx @@ -0,0 +1,21 @@ +import { FileDetailsDiff, DiffChange, FailReason, textUtils } from 'bundlemon-utils'; + +interface ChangeSizeCellProps { + file: FileDetailsDiff; +} + +const ChangeSizeCell = ({ file }: ChangeSizeCellProps) => { + if (file.diff.change !== DiffChange.Update) { + return -; + } + + const text = textUtils.getDiffSizeText(file.diff.bytes); + + if (file.failReasons?.includes(FailReason.MaxSize)) { + return {text}; + } + + return {text}; +}; + +export default ChangeSizeCell; diff --git a/website/src/components/ReportTable/components/index.ts b/website/src/components/ReportTable/components/index.ts new file mode 100644 index 0000000..4cba688 --- /dev/null +++ b/website/src/components/ReportTable/components/index.ts @@ -0,0 +1,2 @@ +export { default as ChangeSizeCell } from './ChangeSizeCell'; +export { default as ChangePercentCell } from './ChangePercentCell'; diff --git a/website/src/components/ReportTable/index.ts b/website/src/components/ReportTable/index.ts new file mode 100644 index 0000000..0f2da5a --- /dev/null +++ b/website/src/components/ReportTable/index.ts @@ -0,0 +1 @@ +export { default } from './ReportTable'; diff --git a/website/src/components/Table/Table.tsx b/website/src/components/Table/Table.tsx new file mode 100644 index 0000000..db45790 --- /dev/null +++ b/website/src/components/Table/Table.tsx @@ -0,0 +1,19 @@ +import MUIDataTable, { MUIDataTableColumn, MUIDataTableOptions } from 'mui-datatables'; +import styled from '@emotion/styled'; + +const StyledMUIDataTable = styled(MUIDataTable)` + width: 100%; +`; + +export interface TableProps { + title?: string; + columns: MUIDataTableColumn[]; + data: Record[]; + options?: MUIDataTableOptions; +} + +const Table = ({ title, ...rest }: TableProps) => { + return ; +}; + +export default Table; diff --git a/website/src/components/Table/index.ts b/website/src/components/Table/index.ts new file mode 100644 index 0000000..7010dbe --- /dev/null +++ b/website/src/components/Table/index.ts @@ -0,0 +1,2 @@ +export { default } from './Table'; +export type { TableProps } from './Table'; diff --git a/website/src/consts/commitRecords.ts b/website/src/consts/commitRecords.ts new file mode 100644 index 0000000..28143b4 --- /dev/null +++ b/website/src/consts/commitRecords.ts @@ -0,0 +1,6 @@ +export enum CommitRecordsQueryResolution { + All = 'all', + Days = 'days', + Weeks = 'weeks', + Months = 'months', +} diff --git a/website/src/consts/config.ts b/website/src/consts/config.ts new file mode 100644 index 0000000..a3c5168 --- /dev/null +++ b/website/src/consts/config.ts @@ -0,0 +1 @@ +export const BUNDLEMON_SERVICE_URL = process.env.BUNDLEMON_SERVICE_URL || 'http://localhost:3333'; diff --git a/website/src/consts/theme.ts b/website/src/consts/theme.ts new file mode 100644 index 0000000..c07d5a0 --- /dev/null +++ b/website/src/consts/theme.ts @@ -0,0 +1,5 @@ +import { createMuiTheme } from '@material-ui/core/styles'; + +const theme = createMuiTheme({}); + +export default theme; diff --git a/website/src/hooks/index.ts b/website/src/hooks/index.ts new file mode 100644 index 0000000..0b00c6b --- /dev/null +++ b/website/src/hooks/index.ts @@ -0,0 +1 @@ +export { default as useOnMount } from './useOnMount'; diff --git a/website/src/hooks/useOnMount.ts b/website/src/hooks/useOnMount.ts new file mode 100644 index 0000000..02a80ee --- /dev/null +++ b/website/src/hooks/useOnMount.ts @@ -0,0 +1,6 @@ +import { useEffect } from 'react'; + +export default function (effect: () => void) { + // eslint-disable-next-line react-hooks/exhaustive-deps + useEffect(effect, []); +} diff --git a/website/src/index.tsx b/website/src/index.tsx new file mode 100644 index 0000000..73adab8 --- /dev/null +++ b/website/src/index.tsx @@ -0,0 +1,20 @@ +import 'regenerator-runtime/runtime.js'; +import React from 'react'; +import ReactDOM from 'react-dom'; +import { ThemeProvider } from '@material-ui/core/styles'; +import CssBaseline from '@material-ui/core/CssBaseline'; +import theme from './consts/theme'; +import Layout from './components/Layout'; +import Router from './Router'; + +ReactDOM.render( + + + + + + + + , + document.getElementById('root') +); diff --git a/website/src/pages/CreateProjectPage.tsx b/website/src/pages/CreateProjectPage.tsx new file mode 100644 index 0000000..f477188 --- /dev/null +++ b/website/src/pages/CreateProjectPage.tsx @@ -0,0 +1,81 @@ +import { useState } from 'react'; +import Paper from '@material-ui/core/Paper'; +import { makeStyles } from '@material-ui/core/styles'; +import Button from '@material-ui/core/Button'; +import Alert from '@material-ui/lab/Alert'; +import AlertTitle from '@material-ui/lab/AlertTitle'; +import Typography from '@material-ui/core/Typography'; +import TextField from '@material-ui/core/TextField'; +import * as bundlemonService from '../services/bundlemonService'; + +import type { CreateProjectResponse } from 'bundlemon-utils'; + +const useStyles = makeStyles((theme) => ({ + paper: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + alignSelf: 'center', + padding: theme.spacing(2), + minWidth: '300px', + maxWidth: '500px', + }, + button: { + marginTop: theme.spacing(2), + }, +})); + +const CreateProjectPage = () => { + const classes = useStyles(); + const [isLoading, setIsLoading] = useState(false); + const [isError, setIsError] = useState(false); + const [project, setProject] = useState(undefined); + + const handleFocus: React.ComponentProps['onFocus'] = (event) => event.target.select(); + + const handleClick = async () => { + try { + setIsLoading(true); + const res = await bundlemonService.createProject(); + + setProject(res); + } catch (err) { + setIsError(true); + } finally { + setIsLoading(false); + } + }; + + if (project) { + return ( + + Define these environment variables + BUNDLEMON_PROJECT_ID + +
+ BUNDLEMON_PROJECT_APIKEY + +
+ ); + } + + return ( + + {isError && ( + + Failed to create project! + Please try again in a few minutes + + )} + + In order to save history and get differences from your main branches you will need to create a new project and + setup environment variables. + + + + ); +}; + +export default CreateProjectPage; diff --git a/website/src/pages/HomePage.tsx b/website/src/pages/HomePage.tsx new file mode 100644 index 0000000..aa4b8dc --- /dev/null +++ b/website/src/pages/HomePage.tsx @@ -0,0 +1,41 @@ +import Paper from '@material-ui/core/Paper'; +import { makeStyles } from '@material-ui/core/styles'; +import Typography from '@material-ui/core/Typography'; +import Button from '@material-ui/core/Button'; + +const useStyles = makeStyles((theme) => ({ + paper: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + alignSelf: 'center', + padding: theme.spacing(6), + maxWidth: '700px', + }, +})); + +const HomePage = () => { + const classes = useStyles(); + + return ( + + + BundleMon helps you to monitor your bundle size. +

+ Your goal is to keep your bundle size as small as possible to reduce the amount of time it takes for users to + load your website/application. This is particularly important for users on low bandwidth connections. +

+

+ BundleMon helps you achieve that by constantly monitoring your bundle size on every commit and alerts you on + changes. +

+
+ + +
+ ); +}; + +export default HomePage; diff --git a/website/src/services/bundlemonService.ts b/website/src/services/bundlemonService.ts new file mode 100644 index 0000000..af4adc6 --- /dev/null +++ b/website/src/services/bundlemonService.ts @@ -0,0 +1,24 @@ +import type { CreateProjectResponse } from 'bundlemon-utils'; +import { BUNDLEMON_SERVICE_URL } from '../consts/config'; + +const baseUrl = BUNDLEMON_SERVICE_URL + '/v1'; + +const baseFetch: typeof fetch = (input, init) => + fetch(baseUrl + input, { + ...init, + headers: { + ...init?.headers, + 'x-api-client-name': 'bundlemon-website', + 'x-api-client-version': '1.0.0', + }, + }); + +export const createProject = async (): Promise => { + const res = await baseFetch('/projects', { method: 'POST' }); + + if (!res.ok) { + throw new Error('Failed to create project'); + } + + return await res.json(); +}; diff --git a/website/tsconfig.json b/website/tsconfig.json new file mode 100644 index 0000000..a9b37a3 --- /dev/null +++ b/website/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "esModuleInterop": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["typings/**/*.d.ts", "src/**/*"], +} \ No newline at end of file diff --git a/website/typings/assets.d.ts b/website/typings/assets.d.ts new file mode 100644 index 0000000..a2dfb4d --- /dev/null +++ b/website/typings/assets.d.ts @@ -0,0 +1,6 @@ +interface SvgrComponent extends React.FC> {} + +declare module '*.svg' { + const value: SvgrComponent; + export default value; +} diff --git a/website/webpack/webpack.base.config.js b/website/webpack/webpack.base.config.js new file mode 100644 index 0000000..69f06dd --- /dev/null +++ b/website/webpack/webpack.base.config.js @@ -0,0 +1,44 @@ +const path = require('path'); +const Dotenv = require('dotenv-webpack'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); +const ESLintPlugin = require('eslint-webpack-plugin'); + +const getBaseConfig = (isProd) => { + return { + context: path.resolve(__dirname, '../'), + entry: './src/index.tsx', + module: { + rules: [ + { + test: /\.(ts|js)x?$/i, + exclude: /node_modules/, + use: { + loader: 'babel-loader', + }, + }, + { + test: /\.svg$/, + use: ['@svgr/webpack'], + }, + ], + }, + resolve: { + extensions: ['.tsx', '.ts', '.js'], + }, + plugins: [ + new Dotenv({ path: `${isProd ? 'prod' : 'dev'}.env` }), + new HtmlWebpackPlugin({ + template: 'public/index.html', + }), + new ForkTsCheckerWebpackPlugin({ + async: !isProd, + }), + new ESLintPlugin({ + files: 'src/**/*', + }), + ], + }; +}; + +module.exports = getBaseConfig; diff --git a/website/webpack/webpack.config.js b/website/webpack/webpack.config.js new file mode 100644 index 0000000..7bedef8 --- /dev/null +++ b/website/webpack/webpack.config.js @@ -0,0 +1,16 @@ +const { merge } = require('webpack-merge'); +const getBaseConfig = require('./webpack.base.config'); +const devConfig = require('./webpack.dev.config'); +const prodConfig = require('./webpack.prod.config'); + +module.exports = (env) => { + if (env.development) { + return merge(getBaseConfig(false), devConfig); + } + + if (env.prod) { + return merge(getBaseConfig(true), prodConfig); + } + + throw new Error('No matching configuration was found!'); +}; diff --git a/website/webpack/webpack.dev.config.js b/website/webpack/webpack.dev.config.js new file mode 100644 index 0000000..60bdcd4 --- /dev/null +++ b/website/webpack/webpack.dev.config.js @@ -0,0 +1,20 @@ +const path = require('path'); +const webpack = require('webpack'); + +const config = { + mode: 'development', + output: { + publicPath: '/', + }, + plugins: [new webpack.HotModuleReplacementPlugin()], + devtool: 'inline-source-map', + devServer: { + contentBase: path.join(__dirname, 'build'), + historyApiFallback: true, + port: 4000, + open: true, + hot: true, + }, +}; + +module.exports = config; diff --git a/website/webpack/webpack.prod.config.js b/website/webpack/webpack.prod.config.js new file mode 100644 index 0000000..85d90de --- /dev/null +++ b/website/webpack/webpack.prod.config.js @@ -0,0 +1,31 @@ +const path = require('path'); +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); +const CopyPlugin = require('copy-webpack-plugin'); +const TerserPlugin = require('terser-webpack-plugin'); + +const config = { + mode: 'production', + output: { + path: path.resolve(__dirname, '../build'), + filename: '[name].[contenthash].js', + publicPath: '', + }, + plugins: [ + new CleanWebpackPlugin(), + new CopyPlugin({ + patterns: [{ from: 'public', to: '' }], + }), + ], + performance: { + hints: false, + }, + optimization: { + minimizer: [ + new TerserPlugin({ + extractComments: false, + }), + ], + }, +}; + +module.exports = config; diff --git a/yarn.lock b/yarn.lock index 950fba7..0dd1682 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,13 @@ # yarn lockfile v1 +"@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.3": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.3.tgz#324bcfd8d35cd3d47dae18cde63d752086435e9a" @@ -9,6 +16,18 @@ dependencies: "@babel/highlight" "^7.10.3" +"@babel/code-frame@^7.12.13", "@babel/code-frame@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" + integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== + dependencies: + "@babel/highlight" "^7.12.13" + +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.13.15", "@babel/compat-data@^7.13.8": + version "7.13.15" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.15.tgz#7e8eea42d0b64fda2b375b22d06c605222e848f4" + integrity sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA== + "@babel/core@^7.1.0", "@babel/core@^7.7.5": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.3.tgz#73b0e8ddeec1e3fdd7a2de587a60e17c440ec77e" @@ -31,6 +50,27 @@ semver "^5.4.1" source-map "^0.5.0" +"@babel/core@^7.12.10", "@babel/core@^7.12.3": + version "7.13.16" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.16.tgz#7756ab24396cc9675f1c3fcd5b79fcce192ea96a" + integrity sha512-sXHpixBiWWFti0AV2Zq7avpTasr6sIAu7Y396c608541qAU2ui4a193m0KSQmfPSKFZLnQ3cvlKDOm3XkuXm3Q== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.13.16" + "@babel/helper-compilation-targets" "^7.13.16" + "@babel/helper-module-transforms" "^7.13.14" + "@babel/helpers" "^7.13.16" + "@babel/parser" "^7.13.16" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.15" + "@babel/types" "^7.13.16" + 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.10.3": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.3.tgz#32b9a0d963a71d7a54f5f6c15659c3dbc2a523a5" @@ -41,6 +81,80 @@ lodash "^4.17.13" source-map "^0.5.0" +"@babel/generator@^7.13.16": + version "7.13.16" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.16.tgz#0befc287031a201d84cdfc173b46b320ae472d14" + integrity sha512-grBBR75UnKOcUWMp8WoDxNsWCFl//XCK6HWTrBQKTr5SV9f5g0pNOjdyzi/DTBv12S9GnYPInIXQBTky7OXEMg== + dependencies: + "@babel/types" "^7.13.16" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.10.4", "@babel/helper-annotate-as-pure@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab" + integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc" + integrity sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.13", "@babel/helper-compilation-targets@^7.13.16", "@babel/helper-compilation-targets@^7.13.8": + version "7.13.16" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz#6e91dccf15e3f43e5556dffe32d860109887563c" + integrity sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA== + dependencies: + "@babel/compat-data" "^7.13.15" + "@babel/helper-validator-option" "^7.12.17" + browserslist "^4.14.5" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.13.0": + version "7.13.11" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz#30d30a005bca2c953f5653fc25091a492177f4f6" + integrity sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw== + dependencies: + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-member-expression-to-functions" "^7.13.0" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-replace-supers" "^7.13.0" + "@babel/helper-split-export-declaration" "^7.12.13" + +"@babel/helper-create-regexp-features-plugin@^7.12.13": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz#a2ac87e9e319269ac655b8d4415e94d38d663cb7" + integrity sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + regexpu-core "^4.7.1" + +"@babel/helper-define-polyfill-provider@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz#a640051772045fedaaecc6f0c6c69f02bdd34bf1" + integrity sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw== + 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.12.13": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz#17b5c59ff473d9f956f40ef570cf3a76ca12657f" + integrity sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA== + dependencies: + "@babel/types" "^7.13.0" + "@babel/helper-function-name@^7.10.3": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz#79316cd75a9fa25ba9787ff54544307ed444f197" @@ -50,6 +164,15 @@ "@babel/template" "^7.10.3" "@babel/types" "^7.10.3" +"@babel/helper-function-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" + integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== + dependencies: + "@babel/helper-get-function-arity" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/types" "^7.12.13" + "@babel/helper-get-function-arity@^7.10.3": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz#3a28f7b28ccc7719eacd9223b659fdf162e4c45e" @@ -57,6 +180,21 @@ dependencies: "@babel/types" "^7.10.3" +"@babel/helper-get-function-arity@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" + integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-hoist-variables@^7.13.0": + version "7.13.16" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz#1b1651249e94b51f8f0d33439843e33e39775b30" + integrity sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg== + dependencies: + "@babel/traverse" "^7.13.15" + "@babel/types" "^7.13.16" + "@babel/helper-member-expression-to-functions@^7.10.1": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz#bc3663ac81ac57c39148fef4c69bf48a77ba8dd6" @@ -64,6 +202,13 @@ dependencies: "@babel/types" "^7.10.3" +"@babel/helper-member-expression-to-functions@^7.13.0", "@babel/helper-member-expression-to-functions@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72" + integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw== + dependencies: + "@babel/types" "^7.13.12" + "@babel/helper-module-imports@^7.10.1": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.3.tgz#766fa1d57608e53e5676f23ae498ec7a95e1b11a" @@ -71,6 +216,13 @@ dependencies: "@babel/types" "^7.10.3" +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977" + integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA== + dependencies: + "@babel/types" "^7.13.12" + "@babel/helper-module-transforms@^7.10.1": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz#24e2f08ee6832c60b157bb0936c86bef7210c622" @@ -84,6 +236,20 @@ "@babel/types" "^7.10.1" lodash "^4.17.13" +"@babel/helper-module-transforms@^7.13.0", "@babel/helper-module-transforms@^7.13.14": + version "7.13.14" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz#e600652ba48ccb1641775413cb32cfa4e8b495ef" + integrity sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g== + dependencies: + "@babel/helper-module-imports" "^7.13.12" + "@babel/helper-replace-supers" "^7.13.12" + "@babel/helper-simple-access" "^7.13.12" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/helper-validator-identifier" "^7.12.11" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.13" + "@babel/types" "^7.13.14" + "@babel/helper-optimise-call-expression@^7.10.1": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.3.tgz#f53c4b6783093195b0f69330439908841660c530" @@ -91,6 +257,13 @@ dependencies: "@babel/types" "^7.10.3" +"@babel/helper-optimise-call-expression@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea" + integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA== + dependencies: + "@babel/types" "^7.12.13" + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.1", "@babel/helper-plugin-utils@^7.8.0": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz#aac45cccf8bc1873b99a85f34bceef3beb5d3244" @@ -101,6 +274,20 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== +"@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" + integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== + +"@babel/helper-remap-async-to-generator@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz#376a760d9f7b4b2077a9dd05aa9c3927cadb2209" + integrity sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-wrap-function" "^7.13.0" + "@babel/types" "^7.13.0" + "@babel/helper-replace-supers@^7.10.1": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz#ec6859d20c5d8087f6a2dc4e014db7228975f13d" @@ -111,6 +298,16 @@ "@babel/traverse" "^7.10.1" "@babel/types" "^7.10.1" +"@babel/helper-replace-supers@^7.12.13", "@babel/helper-replace-supers@^7.13.0", "@babel/helper-replace-supers@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz#6442f4c1ad912502481a564a7386de0c77ff3804" + integrity sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.13.12" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.12" + "@babel/helper-simple-access@^7.10.1": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz#08fb7e22ace9eb8326f7e3920a1c2052f13d851e" @@ -119,6 +316,20 @@ "@babel/template" "^7.10.1" "@babel/types" "^7.10.1" +"@babel/helper-simple-access@^7.12.13", "@babel/helper-simple-access@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6" + integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA== + dependencies: + "@babel/types" "^7.13.12" + +"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" + integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== + dependencies: + "@babel/types" "^7.12.1" + "@babel/helper-split-export-declaration@^7.10.1": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz#c6f4be1cbc15e3a868e4c64a17d5d31d754da35f" @@ -126,11 +337,38 @@ dependencies: "@babel/types" "^7.10.1" +"@babel/helper-split-export-declaration@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" + integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== + dependencies: + "@babel/types" "^7.12.13" + "@babel/helper-validator-identifier@^7.10.3": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz#60d9847f98c4cea1b279e005fdb7c28be5412d15" integrity sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw== +"@babel/helper-validator-identifier@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + +"@babel/helper-validator-option@^7.12.17": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" + integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw== + +"@babel/helper-wrap-function@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz#bdb5c66fda8526ec235ab894ad53a1235c79fcc4" + integrity sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA== + dependencies: + "@babel/helper-function-name" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + "@babel/helpers@^7.10.1": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.1.tgz#a6827b7cb975c9d9cef5fd61d919f60d8844a973" @@ -140,6 +378,15 @@ "@babel/traverse" "^7.10.1" "@babel/types" "^7.10.1" +"@babel/helpers@^7.13.16": + version "7.13.17" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.17.tgz#b497c7a00e9719d5b613b8982bda6ed3ee94caf6" + integrity sha512-Eal4Gce4kGijo1/TGJdqp3WuhllaMLSrW6XcL0ulyUAQOuxHcCafZE8KHg9857gcTehsm/v7RcOx2+jp0Ryjsg== + dependencies: + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.17" + "@babel/types" "^7.13.17" + "@babel/highlight@^7.10.3": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.3.tgz#c633bb34adf07c5c13156692f5922c81ec53f28d" @@ -149,11 +396,143 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": + version "7.13.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" + integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.10.3": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.3.tgz#7e71d892b0d6e7d04a1af4c3c79d72c1f10f5315" integrity sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA== +"@babel/parser@^7.12.13", "@babel/parser@^7.13.16": + version "7.13.16" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.16.tgz#0f18179b0448e6939b1f3f5c4c355a3a9bcdfd37" + integrity sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw== + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz#a3484d84d0b549f3fc916b99ee4783f26fabad2a" + integrity sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.13.12" + +"@babel/plugin-proposal-async-generator-functions@^7.13.15": + version "7.13.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.15.tgz#80e549df273a3b3050431b148c892491df1bcc5b" + integrity sha512-VapibkWzFeoa6ubXy/NgV5U2U4MVnUlvnx6wo1XhlsaTrLYWE0UFpDQsVrmn22q5CzeloqJ8gEMHSKxuee6ZdA== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-remap-async-to-generator" "^7.13.0" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz#146376000b94efd001e57a40a88a525afaab9f37" + integrity sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-proposal-dynamic-import@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz#876a1f6966e1dec332e8c9451afda3bebcdf2e1d" + integrity sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz#393be47a4acd03fa2af6e3cde9b06e33de1b446d" + integrity sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz#bf1fb362547075afda3634ed31571c5901afef7b" + integrity sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz#93fa78d63857c40ce3c8c3315220fd00bfbb4e1a" + integrity sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz#3730a31dafd3c10d8ccd10648ed80a2ac5472ef3" + integrity sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz#bd9da3188e787b5120b4f9d465a8261ce67ed1db" + integrity sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz#5d210a4d727d6ce3b18f9de82cc99a3964eed60a" + integrity sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g== + dependencies: + "@babel/compat-data" "^7.13.8" + "@babel/helper-compilation-targets" "^7.13.8" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.13.0" + +"@babel/plugin-proposal-optional-catch-binding@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz#3ad6bd5901506ea996fc31bdcf3ccfa2bed71107" + integrity sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz#ba9feb601d422e0adea6760c2bd6bbb7bfec4866" + integrity sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz#04bd4c6d40f6e6bbfa2f57e2d8094bad900ef787" + integrity sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-proposal-unicode-property-regex@^7.12.13", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz#bebde51339be829c17aaaaced18641deb62b39ba" + integrity sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@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" @@ -168,6 +547,13 @@ 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-properties@^7.8.3": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.1.tgz#d5bc0645913df5b17ad7eda0fa2308330bde34c5" @@ -175,6 +561,20 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.1" +"@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-import-meta@^7.8.3": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.1.tgz#3e59120ed8b3c2ccc5abb1cfc7aaa3ea01cd36b6" @@ -189,6 +589,20 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz#044fb81ebad6698fe62c478875575bcbb9b70f15" + integrity sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@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-logical-assignment-operators@^7.8.3": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.1.tgz#fffee77b4934ce77f3b427649ecdddbec1958550" @@ -203,6 +617,13 @@ 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-numeric-separator@^7.8.3": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz#25761ee7410bc8cf97327ba741ee94e4a61b7d99" @@ -231,6 +652,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-top-level-await@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178" + integrity sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-top-level-await@^7.8.3": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" @@ -238,6 +666,444 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-syntax-typescript@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz#9dff111ca64154cef0f4dc52cf843d9f12ce4474" + integrity sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-arrow-functions@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz#10a59bebad52d637a027afa692e8d5ceff5e3dae" + integrity sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-async-to-generator@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz#8e112bf6771b82bf1e974e5e26806c5c99aa516f" + integrity sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg== + dependencies: + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-remap-async-to-generator" "^7.13.0" + +"@babel/plugin-transform-block-scoped-functions@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz#a9bf1836f2a39b4eb6cf09967739de29ea4bf4c4" + integrity sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-block-scoping@^7.12.13": + version "7.13.16" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.13.16.tgz#a9c0f10794855c63b1d629914c7dcfeddd185892" + integrity sha512-ad3PHUxGnfWF4Efd3qFuznEtZKoBp0spS+DgqzVzRPV7urEBvPLue3y2j80w4Jf2YLzZHj8TOv/Lmvdmh3b2xg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-classes@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz#0265155075c42918bf4d3a4053134176ad9b533b" + integrity sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-replace-supers" "^7.13.0" + "@babel/helper-split-export-declaration" "^7.12.13" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz#845c6e8b9bb55376b1fa0b92ef0bdc8ea06644ed" + integrity sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-destructuring@^7.13.0": + version "7.13.17" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz#678d96576638c19d5b36b332504d3fd6e06dea27" + integrity sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-dotall-regex@^7.12.13", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz#3f1601cc29905bfcb67f53910f197aeafebb25ad" + integrity sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-duplicate-keys@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz#6f06b87a8b803fd928e54b81c258f0a0033904de" + integrity sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-exponentiation-operator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz#4d52390b9a273e651e4aba6aee49ef40e80cd0a1" + integrity sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-for-of@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz#c799f881a8091ac26b54867a845c3e97d2696062" + integrity sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-function-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz#bb024452f9aaed861d374c8e7a24252ce3a50051" + integrity sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ== + dependencies: + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz#2ca45bafe4a820197cf315794a4d26560fe4bdb9" + integrity sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-member-expression-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz#5ffa66cd59b9e191314c9f1f803b938e8c081e40" + integrity sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-modules-amd@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz#19f511d60e3d8753cc5a6d4e775d3a5184866cc3" + integrity sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ== + dependencies: + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz#7b01ad7c2dcf2275b06fa1781e00d13d420b3e1b" + integrity sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw== + dependencies: + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-simple-access" "^7.12.13" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz#6d066ee2bff3c7b3d60bf28dec169ad993831ae3" + integrity sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A== + dependencies: + "@babel/helper-hoist-variables" "^7.13.0" + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-identifier" "^7.12.11" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz#8a3d96a97d199705b9fd021580082af81c06e70b" + integrity sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw== + dependencies: + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz#2213725a5f5bbbe364b50c3ba5998c9599c5c9d9" + integrity sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + +"@babel/plugin-transform-new-target@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz#e22d8c3af24b150dd528cbd6e685e799bf1c351c" + integrity sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-object-super@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz#b4416a2d63b8f7be314f3d349bd55a9c1b5171f7" + integrity sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" + +"@babel/plugin-transform-parameters@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz#8fa7603e3097f9c0b7ca1a4821bc2fb52e9e5007" + integrity sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-property-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz#4e6a9e37864d8f1b3bc0e2dce7bf8857db8b1a81" + integrity sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-react-constant-elements@^7.12.1": + version "7.13.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.13.13.tgz#0208b1d942bf939cd4f7aa5b255d42602aa4a920" + integrity sha512-SNJU53VM/SjQL0bZhyU+f4kJQz7bQQajnrZRSaU21hruG/NWY41AEM9AWXeXX90pYr/C2yAmTgI6yW3LlLrAUQ== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-react-display-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.13.tgz#c28effd771b276f4647411c9733dbb2d2da954bd" + integrity sha512-MprESJzI9O5VnJZrL7gg1MpdqmiFcUv41Jc7SahxYsNP2kDkFqClxxTZq+1Qv4AFCamm+GXMRDQINNn+qrxmiA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-react-jsx-development@^7.12.17": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.17.tgz#f510c0fa7cd7234153539f9a362ced41a5ca1447" + integrity sha512-BPjYV86SVuOaudFhsJR1zjgxxOhJDt6JHNoD48DxWEIxUCAMjV1ys6DYw4SDYZh0b1QsS2vfIA9t/ZsQGsDOUQ== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.12.17" + +"@babel/plugin-transform-react-jsx@^7.12.17", "@babel/plugin-transform-react-jsx@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.13.12.tgz#1df5dfaf0f4b784b43e96da6f28d630e775f68b3" + integrity sha512-jcEI2UqIcpCqB5U5DRxIl0tQEProI2gcu+g8VTIqxLO5Iidojb4d77q+fwGseCvd8af/lJ9masp4QWzBXFE2xA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-module-imports" "^7.13.12" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-jsx" "^7.12.13" + "@babel/types" "^7.13.12" + +"@babel/plugin-transform-react-pure-annotations@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz#05d46f0ab4d1339ac59adf20a1462c91b37a1a42" + integrity sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-regenerator@^7.13.15": + version "7.13.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz#e5eb28945bf8b6563e7f818945f966a8d2997f39" + integrity sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz#7d9988d4f06e0fe697ea1d9803188aa18b472695" + integrity sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-runtime@^7.12.10": + version "7.13.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.13.15.tgz#2eddf585dd066b84102517e10a577f24f76a9cd7" + integrity sha512-d+ezl76gx6Jal08XngJUkXM4lFXK/5Ikl9Mh4HKDxSfGJXmZ9xG64XT2oivBzfxb/eQ62VfvoMkaCZUKJMVrBA== + dependencies: + "@babel/helper-module-imports" "^7.13.12" + "@babel/helper-plugin-utils" "^7.13.0" + babel-plugin-polyfill-corejs2 "^0.2.0" + babel-plugin-polyfill-corejs3 "^0.2.0" + babel-plugin-polyfill-regenerator "^0.2.0" + semver "^6.3.0" + +"@babel/plugin-transform-shorthand-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad" + integrity sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-spread@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz#84887710e273c1815ace7ae459f6f42a5d31d5fd" + integrity sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + +"@babel/plugin-transform-sticky-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz#760ffd936face73f860ae646fb86ee82f3d06d1f" + integrity sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-template-literals@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz#a36049127977ad94438dee7443598d1cefdf409d" + integrity sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-typeof-symbol@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz#785dd67a1f2ea579d9c2be722de8c84cb85f5a7f" + integrity sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-typescript@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.13.0.tgz#4a498e1f3600342d2a9e61f60131018f55774853" + integrity sha512-elQEwluzaU8R8dbVuW2Q2Y8Nznf7hnjM7+DSCd14Lo5fF63C9qNLbwZYbmZrtV9/ySpSUpkRpQXvJb6xyu4hCQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-typescript" "^7.12.13" + +"@babel/plugin-transform-unicode-escapes@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz#840ced3b816d3b5127dd1d12dcedc5dead1a5e74" + integrity sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-unicode-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz#b52521685804e155b1202e83fc188d34bb70f5ac" + integrity sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/preset-env@^7.12.1", "@babel/preset-env@^7.12.11": + version "7.13.15" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.13.15.tgz#c8a6eb584f96ecba183d3d414a83553a599f478f" + integrity sha512-D4JAPMXcxk69PKe81jRJ21/fP/uYdcTZ3hJDF5QX2HSI9bBxxYw/dumdR6dGumhjxlprHPE4XWoPaqzZUVy2MA== + dependencies: + "@babel/compat-data" "^7.13.15" + "@babel/helper-compilation-targets" "^7.13.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.13.12" + "@babel/plugin-proposal-async-generator-functions" "^7.13.15" + "@babel/plugin-proposal-class-properties" "^7.13.0" + "@babel/plugin-proposal-dynamic-import" "^7.13.8" + "@babel/plugin-proposal-export-namespace-from" "^7.12.13" + "@babel/plugin-proposal-json-strings" "^7.13.8" + "@babel/plugin-proposal-logical-assignment-operators" "^7.13.8" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" + "@babel/plugin-proposal-numeric-separator" "^7.12.13" + "@babel/plugin-proposal-object-rest-spread" "^7.13.8" + "@babel/plugin-proposal-optional-catch-binding" "^7.13.8" + "@babel/plugin-proposal-optional-chaining" "^7.13.12" + "@babel/plugin-proposal-private-methods" "^7.13.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@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-top-level-await" "^7.12.13" + "@babel/plugin-transform-arrow-functions" "^7.13.0" + "@babel/plugin-transform-async-to-generator" "^7.13.0" + "@babel/plugin-transform-block-scoped-functions" "^7.12.13" + "@babel/plugin-transform-block-scoping" "^7.12.13" + "@babel/plugin-transform-classes" "^7.13.0" + "@babel/plugin-transform-computed-properties" "^7.13.0" + "@babel/plugin-transform-destructuring" "^7.13.0" + "@babel/plugin-transform-dotall-regex" "^7.12.13" + "@babel/plugin-transform-duplicate-keys" "^7.12.13" + "@babel/plugin-transform-exponentiation-operator" "^7.12.13" + "@babel/plugin-transform-for-of" "^7.13.0" + "@babel/plugin-transform-function-name" "^7.12.13" + "@babel/plugin-transform-literals" "^7.12.13" + "@babel/plugin-transform-member-expression-literals" "^7.12.13" + "@babel/plugin-transform-modules-amd" "^7.13.0" + "@babel/plugin-transform-modules-commonjs" "^7.13.8" + "@babel/plugin-transform-modules-systemjs" "^7.13.8" + "@babel/plugin-transform-modules-umd" "^7.13.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13" + "@babel/plugin-transform-new-target" "^7.12.13" + "@babel/plugin-transform-object-super" "^7.12.13" + "@babel/plugin-transform-parameters" "^7.13.0" + "@babel/plugin-transform-property-literals" "^7.12.13" + "@babel/plugin-transform-regenerator" "^7.13.15" + "@babel/plugin-transform-reserved-words" "^7.12.13" + "@babel/plugin-transform-shorthand-properties" "^7.12.13" + "@babel/plugin-transform-spread" "^7.13.0" + "@babel/plugin-transform-sticky-regex" "^7.12.13" + "@babel/plugin-transform-template-literals" "^7.13.0" + "@babel/plugin-transform-typeof-symbol" "^7.12.13" + "@babel/plugin-transform-unicode-escapes" "^7.12.13" + "@babel/plugin-transform-unicode-regex" "^7.12.13" + "@babel/preset-modules" "^0.1.4" + "@babel/types" "^7.13.14" + babel-plugin-polyfill-corejs2 "^0.2.0" + babel-plugin-polyfill-corejs3 "^0.2.0" + babel-plugin-polyfill-regenerator "^0.2.0" + core-js-compat "^3.9.0" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" + integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@^7.12.10", "@babel/preset-react@^7.12.5": + version "7.13.13" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.13.13.tgz#fa6895a96c50763fe693f9148568458d5a839761" + integrity sha512-gx+tDLIE06sRjKJkVtpZ/t3mzCDOnPG+ggHZG9lffUbX8+wC739x20YQc9V35Do6ZAxaUc/HhVHIiOzz5MvDmA== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-transform-react-display-name" "^7.12.13" + "@babel/plugin-transform-react-jsx" "^7.13.12" + "@babel/plugin-transform-react-jsx-development" "^7.12.17" + "@babel/plugin-transform-react-pure-annotations" "^7.12.1" + +"@babel/preset-typescript@^7.12.7": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.13.0.tgz#ab107e5f050609d806fbb039bec553b33462c60a" + integrity sha512-LXJwxrHy0N3f6gIJlYbLta1D9BDtHpQeqwzM0LIfjDlr6UE/D5Mc7W4iDiQzaE+ks0sTjT26ArcHWnJVt0QiHw== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-transform-typescript" "^7.13.0" + +"@babel/runtime-corejs3@^7.12.1": + version "7.13.17" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.13.17.tgz#9baf45f03d4d013f021760b992d6349a9d27deaf" + integrity sha512-RGXINY1YvduBlGrP+vHjJqd/nK7JVpfM4rmZLGMx77WoL3sMrhheA0qxii9VNn1VHnxJLEyxmvCB+Wqc+x/FMw== + dependencies: + core-js-pure "^3.0.0" + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.1.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@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", "@babel/runtime@^7.9.2": + version "7.13.17" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.13.17.tgz#8966d1fc9593bf848602f0662d6b4d0069e3a7ec" + integrity sha512-NCdgJEelPTSh+FEFylhnP1ylq848l1z9t9N0j1Lfbcw0+KXGjsTvUmkxy+voLLXB5SOKMbLLx4jxYliGrYQseA== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/runtime@^7.9.6": version "7.10.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.2.tgz#d103f21f2602497d38348a32e008637d506db839" @@ -254,6 +1120,15 @@ "@babel/parser" "^7.10.3" "@babel/types" "^7.10.3" +"@babel/template@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" + integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/types" "^7.12.13" + "@babel/traverse@^7.1.0", "@babel/traverse@^7.10.1", "@babel/traverse@^7.10.3": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.3.tgz#0b01731794aa7b77b214bcd96661f18281155d7e" @@ -269,6 +1144,20 @@ globals "^11.1.0" lodash "^4.17.13" +"@babel/traverse@^7.13.0", "@babel/traverse@^7.13.13", "@babel/traverse@^7.13.15", "@babel/traverse@^7.13.17": + version "7.13.17" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.17.tgz#c85415e0c7d50ac053d758baec98b28b2ecfeea3" + integrity sha512-BMnZn0R+X6ayqm3C3To7o1j7Q020gWdqdyP50KEoVqaCO2c/Im7sYZSmVgvefp8TTMQ+9CtwuBp0Z1CZ8V3Pvg== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.13.16" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/parser" "^7.13.16" + "@babel/types" "^7.13.17" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.10.1", "@babel/types@^7.10.3", "@babel/types@^7.3.0", "@babel/types@^7.3.3": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.3.tgz#6535e3b79fea86a6b09e012ea8528f935099de8e" @@ -278,6 +1167,14 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.12.6", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.14", "@babel/types@^7.13.16", "@babel/types@^7.13.17", "@babel/types@^7.4.4": + version "7.13.17" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.17.tgz#48010a115c9fba7588b4437dd68c9469012b38b4" + integrity sha512-RawydLgxbOPDlTLJNtoIypwdmAy//uQIzlKt2+iBiJaRlVuI6QLUxVAyWGNfOzp8Yu4L4lLIacoCyTNtpb4wiA== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -291,10 +1188,82 @@ exec-sh "^0.3.2" minimist "^1.2.0" -"@eslint/eslintrc@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.1.3.tgz#7d1a2b2358552cc04834c0979bd4275362e37085" - integrity sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA== +"@discoveryjs/json-ext@^0.5.0": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz#8f03a22a04de437254e8ce8cc84ba39689288752" + integrity sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg== + +"@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/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.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.1.0.tgz#29ef6be1e946fb4739f9707def860f316f668cde" + integrity sha512-9RkilvXAufQHsSsjQ3PIzSns+pxuX4EW8EbGeSPjZMHuMx6z/MOzb9LpqNieQX4F3mre3NWS2+X3JNRHTQztUQ== + 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/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/styled@^11.3.0": + version "11.3.0" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.3.0.tgz#d63ee00537dfb6ff612e31b0e915c5cf9925a207" + 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" + +"@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== + +"@eslint/eslintrc@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.1.tgz#442763b88cecbe3ee0ec7ca6d6dd6168550cbf14" + integrity sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ== dependencies: ajv "^6.12.4" debug "^4.1.1" @@ -303,7 +1272,6 @@ ignore "^4.0.6" import-fresh "^3.2.1" js-yaml "^3.13.1" - lodash "^4.17.19" minimatch "^3.0.4" strip-json-comments "^3.1.1" @@ -381,6 +1349,19 @@ unique-filename "^1.1.1" which "^1.3.1" +"@fastify/forwarded@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@fastify/forwarded/-/forwarded-1.0.0.tgz#cc4a3bc1f02856e56e67d6d655026e8d8c2e7429" + integrity sha512-VoO+6WD0aRz8bwgJZ8pkkxjq7o/782cQ1j945HWg0obZMgIadYW3Pew0+an+k1QL7IPZHM3db5WF6OP6x4ymMA== + +"@fastify/proxy-addr@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@fastify/proxy-addr/-/proxy-addr-3.0.0.tgz#7d3bb6474a01b206010329291f4edf6af8af582d" + integrity sha512-ty7wnUd/GeSqKTC2Jozsl5xGbnxUnEFC0On2/zPv/8ixywipQmVZwuWvNGnBoitJ2wixwVqofwXNua8j6Y62lQ== + dependencies: + "@fastify/forwarded" "^1.0.0" + ipaddr.js "^2.0.0" + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -1263,6 +2244,81 @@ npmlog "^4.1.2" write-file-atomic "^2.3.0" +"@material-ui/core@^4.11.3", "@material-ui/core@^4.11.4": + version "4.11.4" + resolved "https://registry.yarnpkg.com/@material-ui/core/-/core-4.11.4.tgz#4fb9fe5dec5dcf780b687e3a40cff78b2b9640a4" + integrity sha512-oqb+lJ2Dl9HXI9orc6/aN8ZIAMkeThufA5iZELf2LQeBn2NtjVilF5D2w7e9RpntAzDb4jK5DsVhkfOvFY/8fg== + dependencies: + "@babel/runtime" "^7.4.4" + "@material-ui/styles" "^4.11.4" + "@material-ui/system" "^4.11.3" + "@material-ui/types" "5.1.0" + "@material-ui/utils" "^4.11.2" + "@types/react-transition-group" "^4.2.0" + clsx "^1.0.4" + hoist-non-react-statics "^3.3.2" + popper.js "1.16.1-lts" + prop-types "^15.7.2" + react-is "^16.8.0 || ^17.0.0" + react-transition-group "^4.4.0" + +"@material-ui/lab@^4.0.0-alpha.58": + version "4.0.0-alpha.58" + resolved "https://registry.yarnpkg.com/@material-ui/lab/-/lab-4.0.0-alpha.58.tgz#c7ebb66f49863c5acbb20817163737caa299fafc" + integrity sha512-GKHlJqLxUeHH3L3dGQ48ZavYrqGOTXkFkiEiuYMAnAvXAZP4rhMIqeHOPXSUQan4Bd8QnafDcpovOSLnadDmKw== + dependencies: + "@babel/runtime" "^7.4.4" + "@material-ui/utils" "^4.11.2" + clsx "^1.0.4" + prop-types "^15.7.2" + react-is "^16.8.0 || ^17.0.0" + +"@material-ui/styles@^4.11.4": + version "4.11.4" + resolved "https://registry.yarnpkg.com/@material-ui/styles/-/styles-4.11.4.tgz#eb9dfccfcc2d208243d986457dff025497afa00d" + integrity sha512-KNTIZcnj/zprG5LW0Sao7zw+yG3O35pviHzejMdcSGCdWbiO8qzRgOYL8JAxAsWBKOKYwVZxXtHWaB5T2Kvxew== + dependencies: + "@babel/runtime" "^7.4.4" + "@emotion/hash" "^0.8.0" + "@material-ui/types" "5.1.0" + "@material-ui/utils" "^4.11.2" + clsx "^1.0.4" + csstype "^2.5.2" + hoist-non-react-statics "^3.3.2" + jss "^10.5.1" + jss-plugin-camel-case "^10.5.1" + jss-plugin-default-unit "^10.5.1" + jss-plugin-global "^10.5.1" + jss-plugin-nested "^10.5.1" + jss-plugin-props-sort "^10.5.1" + jss-plugin-rule-value-function "^10.5.1" + jss-plugin-vendor-prefixer "^10.5.1" + prop-types "^15.7.2" + +"@material-ui/system@^4.11.3": + version "4.11.3" + resolved "https://registry.yarnpkg.com/@material-ui/system/-/system-4.11.3.tgz#466bc14c9986798fd325665927c963eb47cc4143" + integrity sha512-SY7otguNGol41Mu2Sg6KbBP1ZRFIbFLHGK81y4KYbsV2yIcaEPOmsCK6zwWlp+2yTV3J/VwT6oSBARtGIVdXPw== + dependencies: + "@babel/runtime" "^7.4.4" + "@material-ui/utils" "^4.11.2" + csstype "^2.5.2" + prop-types "^15.7.2" + +"@material-ui/types@5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@material-ui/types/-/types-5.1.0.tgz#efa1c7a0b0eaa4c7c87ac0390445f0f88b0d88f2" + integrity sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A== + +"@material-ui/utils@^4.11.2": + version "4.11.2" + resolved "https://registry.yarnpkg.com/@material-ui/utils/-/utils-4.11.2.tgz#f1aefa7e7dff2ebcb97d31de51aecab1bb57540a" + integrity sha512-Uul8w38u+PICe2Fg2pDKCaIG7kOyhowZ9vjiC1FsVwPABTW8vPPKfF6OvxRq3IiBaI1faOJmgdvMG7rMJARBhA== + dependencies: + "@babel/runtime" "^7.4.4" + prop-types "^15.7.2" + react-is "^16.8.0 || ^17.0.0" + "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" @@ -1297,6 +2353,57 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" +"@octokit/auth-app@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@octokit/auth-app/-/auth-app-3.4.0.tgz#af9f68512e7b8dd071b49e1470a1ddf88ff6a3a3" + integrity sha512-zBVgTnLJb0uoNMGCpcDkkAbPeavHX7oAjJkaDv2nqMmsXSsCw4AbUhjl99EtJQG/JqFY/kLFHM9330Wn0k70+g== + dependencies: + "@octokit/auth-oauth-app" "^4.1.0" + "@octokit/auth-oauth-user" "^1.2.3" + "@octokit/request" "^5.4.11" + "@octokit/request-error" "^2.0.0" + "@octokit/types" "^6.0.3" + "@types/lru-cache" "^5.1.0" + deprecation "^2.3.1" + lru-cache "^6.0.0" + universal-github-app-jwt "^1.0.1" + universal-user-agent "^6.0.0" + +"@octokit/auth-oauth-app@^4.1.0": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-app/-/auth-oauth-app-4.1.2.tgz#bf3ff30c260e6e9f10b950386f279befb8fe907d" + integrity sha512-bdNGNRmuDJjKoHla3mUGtkk/xcxKngnQfBEnyk+7VwMqrABKvQB1wQRSrwSWkPPUX7Lcj2ttkPAPG7+iBkMRnw== + dependencies: + "@octokit/auth-oauth-device" "^3.1.1" + "@octokit/auth-oauth-user" "^1.2.1" + "@octokit/request" "^5.3.0" + "@octokit/types" "^6.0.3" + "@types/btoa-lite" "^1.0.0" + btoa-lite "^1.0.0" + universal-user-agent "^6.0.0" + +"@octokit/auth-oauth-device@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-device/-/auth-oauth-device-3.1.1.tgz#380499f9a850425e2c7bdeb62afc070181c536a9" + integrity sha512-ykDZROilszXZJ6pYdl6SZ15UZniCs0zDcKgwOZpMz3U0QDHPUhFGXjHToBCAIHwbncMu+jLt4/Nw4lq3FwAw/w== + dependencies: + "@octokit/oauth-methods" "^1.1.0" + "@octokit/request" "^5.4.14" + "@octokit/types" "^6.10.0" + universal-user-agent "^6.0.0" + +"@octokit/auth-oauth-user@^1.2.1", "@octokit/auth-oauth-user@^1.2.3": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-user/-/auth-oauth-user-1.2.4.tgz#3594eb7d40cb462240e7e90849781dfa0045aed5" + integrity sha512-efOajupCZBP1veqx5w59Qey0lIud1rDUgxTRjjkQDU3eOBmkAasY1pXemDsQwW0I85jb1P/gn2dMejedVxf9kw== + dependencies: + "@octokit/auth-oauth-device" "^3.1.1" + "@octokit/oauth-methods" "^1.1.0" + "@octokit/request" "^5.4.14" + "@octokit/types" "^6.12.2" + btoa-lite "^1.0.0" + universal-user-agent "^6.0.0" + "@octokit/auth-token@^2.4.0": version "2.4.2" resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.2.tgz#10d0ae979b100fa6b72fa0e8e63e27e6d0dbff8a" @@ -1304,15 +2411,65 @@ dependencies: "@octokit/types" "^5.0.0" -"@octokit/endpoint@^6.0.1": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.3.tgz#dd09b599662d7e1b66374a177ab620d8cdf73487" - integrity sha512-Y900+r0gIz+cWp6ytnkibbD95ucEzDSKzlEnaWS52hbCDNcCJYO5mRmWW7HRAnDc7am+N/5Lnd8MppSaTYx1Yg== +"@octokit/auth-token@^2.4.4": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.5.tgz#568ccfb8cb46f36441fac094ce34f7a875b197f3" + integrity sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA== + dependencies: + "@octokit/types" "^6.0.3" + +"@octokit/core@^3.2.3": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.4.0.tgz#b48aa27d755b339fe7550548b340dcc2b513b742" + integrity sha512-6/vlKPP8NF17cgYXqucdshWqmMZGXkuvtcrWCgU5NOI0Pl2GjlmZyWgBMrU8zJ3v2MJlM6++CiB45VKYmhiWWg== + dependencies: + "@octokit/auth-token" "^2.4.4" + "@octokit/graphql" "^4.5.8" + "@octokit/request" "^5.4.12" + "@octokit/request-error" "^2.0.5" + "@octokit/types" "^6.0.3" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^6.0.1": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.3.tgz#dd09b599662d7e1b66374a177ab620d8cdf73487" + integrity sha512-Y900+r0gIz+cWp6ytnkibbD95ucEzDSKzlEnaWS52hbCDNcCJYO5mRmWW7HRAnDc7am+N/5Lnd8MppSaTYx1Yg== dependencies: "@octokit/types" "^5.0.0" is-plain-object "^3.0.0" universal-user-agent "^5.0.0" +"@octokit/graphql@^4.5.8": + version "4.6.1" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.6.1.tgz#f975486a46c94b7dbe58a0ca751935edc7e32cc9" + integrity sha512-2lYlvf4YTDgZCTXTW4+OX+9WTLFtEUc6hGm4qM1nlZjzxj+arizM4aHWzBVBCxY9glh7GIs0WEuiSgbVzv8cmA== + dependencies: + "@octokit/request" "^5.3.0" + "@octokit/types" "^6.0.3" + universal-user-agent "^6.0.0" + +"@octokit/oauth-authorization-url@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@octokit/oauth-authorization-url/-/oauth-authorization-url-4.3.1.tgz#008d09bf427a7f61c70b5283040d60a456011a51" + integrity sha512-sI/SOEAvzRhqdzj+kJl+2ifblRve2XU6ZB36Lq25Su8R31zE3GoKToSLh64nWFnKePNi2RrdcMm94UEIQZslOw== + +"@octokit/oauth-methods@^1.1.0": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@octokit/oauth-methods/-/oauth-methods-1.2.2.tgz#3d98c548aa2ace36ad8d0ce6593fd49dcbe103cc" + integrity sha512-CFMUMn9DdPLMcpffhKgkwIIClfv0ZToJM4qcg4O0egCoHMYkVlxl22bBoo9qCnuF1U/xn871KEXuozKIX+bA2w== + dependencies: + "@octokit/oauth-authorization-url" "^4.3.1" + "@octokit/request" "^5.4.14" + "@octokit/request-error" "^2.0.5" + "@octokit/types" "^6.12.2" + btoa-lite "^1.0.0" + +"@octokit/openapi-types@^6.2.1": + version "6.2.1" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-6.2.1.tgz#5830395622ca0d8e945532c7ace722aec3670508" + integrity sha512-rSyuVb2zVwEbWpl1FJzVziyDfvEhNcvIsp6QxmEJkpiFuPfcZ4LwXz2/fhVdVC8Xy7BCugUQr7/ISdhYwgs3zQ== + "@octokit/plugin-enterprise-rest@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437" @@ -1325,11 +2482,23 @@ dependencies: "@octokit/types" "^2.0.1" +"@octokit/plugin-paginate-rest@^2.6.2": + version "2.13.3" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.3.tgz#f0f1792230805108762d87906fb02d573b9e070a" + integrity sha512-46lptzM9lTeSmIBt/sVP/FLSTPGx6DCzAdSX3PfeJ3mTf4h9sGC26WpaQzMEq/Z44cOcmx8VsOhO+uEgE3cjYg== + dependencies: + "@octokit/types" "^6.11.0" + "@octokit/plugin-request-log@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz#eef87a431300f6148c39a7f75f8cfeb218b2547e" integrity sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw== +"@octokit/plugin-request-log@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz#70a62be213e1edc04bb8897ee48c311482f9700d" + integrity sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ== + "@octokit/plugin-rest-endpoint-methods@2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz#3288ecf5481f68c494dd0602fc15407a59faf61e" @@ -1338,6 +2507,14 @@ "@octokit/types" "^2.0.1" deprecation "^2.3.1" +"@octokit/plugin-rest-endpoint-methods@5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.0.1.tgz#631b8d4edc6798b03489911252a25f2a4e58c594" + integrity sha512-vvWbPtPqLyIzJ7A4IPdTl+8IeuKAwMJ4LjvmqWOOdfSuqWQYZXq2CEd0hsnkidff2YfKlguzujHs/reBdAx8Sg== + dependencies: + "@octokit/types" "^6.13.1" + deprecation "^2.3.1" + "@octokit/request-error@^1.0.2": version "1.2.1" resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-1.2.1.tgz#ede0714c773f32347576c25649dc013ae6b31801" @@ -1356,6 +2533,15 @@ deprecation "^2.0.0" once "^1.4.0" +"@octokit/request-error@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.5.tgz#72cc91edc870281ad583a42619256b380c600143" + integrity sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg== + dependencies: + "@octokit/types" "^6.0.3" + deprecation "^2.0.0" + once "^1.4.0" + "@octokit/request@^5.2.0": version "5.4.5" resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.5.tgz#8df65bd812047521f7e9db6ff118c06ba84ac10b" @@ -1370,6 +2556,18 @@ once "^1.4.0" universal-user-agent "^5.0.0" +"@octokit/request@^5.3.0", "@octokit/request@^5.4.11", "@octokit/request@^5.4.12", "@octokit/request@^5.4.14": + version "5.4.15" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.15.tgz#829da413dc7dd3aa5e2cdbb1c7d0ebe1f146a128" + integrity sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag== + dependencies: + "@octokit/endpoint" "^6.0.1" + "@octokit/request-error" "^2.0.0" + "@octokit/types" "^6.7.1" + is-plain-object "^5.0.0" + node-fetch "^2.6.1" + universal-user-agent "^6.0.0" + "@octokit/rest@^16.28.4": version "16.43.1" resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.43.1.tgz#3b11e7d1b1ac2bbeeb23b08a17df0b20947eda6b" @@ -1392,6 +2590,16 @@ once "^1.4.0" universal-user-agent "^4.0.0" +"@octokit/rest@^18.5.3": + version "18.5.3" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.5.3.tgz#6a2e6006a87ebbc34079c419258dd29ec9ff659d" + integrity sha512-KPAsUCr1DOdLVbZJgGNuE/QVLWEaVBpFQwDAz/2Cnya6uW2wJ/P5RVGk0itx7yyN1aGa8uXm2pri4umEqG1JBA== + dependencies: + "@octokit/core" "^3.2.3" + "@octokit/plugin-paginate-rest" "^2.6.2" + "@octokit/plugin-request-log" "^1.0.2" + "@octokit/plugin-rest-endpoint-methods" "5.0.1" + "@octokit/types@^2.0.0", "@octokit/types@^2.0.1": version "2.16.2" resolved "https://registry.yarnpkg.com/@octokit/types/-/types-2.16.2.tgz#4c5f8da3c6fecf3da1811aef678fda03edac35d2" @@ -1406,6 +2614,38 @@ dependencies: "@types/node" ">= 8" +"@octokit/types@^6.0.3", "@octokit/types@^6.10.0", "@octokit/types@^6.11.0", "@octokit/types@^6.12.2", "@octokit/types@^6.13.1", "@octokit/types@^6.7.1": + version "6.14.1" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.14.1.tgz#4579bbdabee9a8349ce302f29ebc6f81775f0f5c" + integrity sha512-RDzkeFPaT2TgZcNtB2s1HtaMmtOrvXsc5VsAdpzApNkTwNN7Jk76RRCzGYhjm+hQ/HHuQXZkxUDWhJlt2QAyKQ== + dependencies: + "@octokit/openapi-types" "^6.2.1" + +"@polka/url@^1.0.0-next.15": + version "1.0.0-next.15" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.15.tgz#6a9d143f7f4f49db2d782f9e1c8839a29b43ae23" + integrity sha512-15spi3V28QdevleWBNXE4pIls3nFZmBbUGrW9IVPwiQczuSb9n76TCB4bsk8TSel+I1OkHEdPhu5QKMfY6rQHA== + +"@react-dnd/asap@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@react-dnd/asap/-/asap-4.0.0.tgz#b300eeed83e9801f51bd66b0337c9a6f04548651" + integrity sha512-0XhqJSc6pPoNnf8DhdsPHtUhRzZALVzYMTzRwV4VI6DJNJ/5xxfL9OQUwb8IH5/2x7lSf7nAZrnzUD+16VyOVQ== + +"@react-dnd/invariant@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@react-dnd/invariant/-/invariant-2.0.0.tgz#09d2e81cd39e0e767d7da62df9325860f24e517e" + integrity sha512-xL4RCQBCBDJ+GRwKTFhGUW8GXa4yoDfJrPbLblc3U09ciS+9ZJXJ3Qrcs/x2IODOdIE5kQxvMmE2UKyqUictUw== + +"@react-dnd/shallowequal@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@react-dnd/shallowequal/-/shallowequal-2.0.0.tgz#a3031eb54129f2c66b2753f8404266ec7bf67f0a" + integrity sha512-Pc/AFTdwZwEKJxFJvlxrSmGe/di+aAOBn60sremrpLo6VI/6cmiUYNNwlI5KNYttg7uypzA3ILPMPgxB2GYZEg== + +"@sindresorhus/is@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" + integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + "@sinonjs/commons@^1.7.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.0.tgz#c8d68821a854c555bba172f3b06959a0039b236d" @@ -1420,6 +2660,121 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@svgr/babel-plugin-add-jsx-attribute@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" + integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== + +"@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef" + integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== + +"@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd" + integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== + +"@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897" + integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== + +"@svgr/babel-plugin-svg-dynamic-title@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7" + integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== + +"@svgr/babel-plugin-svg-em-dimensions@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0" + integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== + +"@svgr/babel-plugin-transform-react-native-svg@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80" + integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== + +"@svgr/babel-plugin-transform-svg-component@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a" + integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== + +"@svgr/babel-preset@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327" + integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" + "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "^5.0.1" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^5.0.1" + "@svgr/babel-plugin-svg-dynamic-title" "^5.4.0" + "@svgr/babel-plugin-svg-em-dimensions" "^5.4.0" + "@svgr/babel-plugin-transform-react-native-svg" "^5.4.0" + "@svgr/babel-plugin-transform-svg-component" "^5.5.0" + +"@svgr/core@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579" + integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== + dependencies: + "@svgr/plugin-jsx" "^5.5.0" + camelcase "^6.2.0" + cosmiconfig "^7.0.0" + +"@svgr/hast-util-to-babel-ast@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461" + integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== + dependencies: + "@babel/types" "^7.12.6" + +"@svgr/plugin-jsx@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000" + integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== + dependencies: + "@babel/core" "^7.12.3" + "@svgr/babel-preset" "^5.5.0" + "@svgr/hast-util-to-babel-ast" "^5.5.0" + svg-parser "^2.0.2" + +"@svgr/plugin-svgo@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246" + integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== + dependencies: + cosmiconfig "^7.0.0" + deepmerge "^4.2.2" + svgo "^1.2.2" + +"@svgr/webpack@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640" + integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== + dependencies: + "@babel/core" "^7.12.3" + "@babel/plugin-transform-react-constant-elements" "^7.12.1" + "@babel/preset-env" "^7.12.1" + "@babel/preset-react" "^7.12.5" + "@svgr/core" "^5.5.0" + "@svgr/plugin-jsx" "^5.5.0" + "@svgr/plugin-svgo" "^5.5.0" + loader-utils "^2.0.0" + +"@szmarczak/http-timer@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + dependencies: + defer-to-connect "^1.0.1" + +"@types/anymatch@*": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" + integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== + "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": version "7.1.9" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d" @@ -1465,6 +2820,18 @@ resolved "https://registry.yarnpkg.com/@types/braces/-/braces-3.0.0.tgz#7da1c0d44ff1c7eb660a36ec078ea61ba7eb42cb" integrity sha512-TbH79tcyi9FHwbyboOKeRachRq63mSuWYXOflsNO9ZyE5ClQ/JaozNKl+aWUq87qPNsXasXxi2AbgfwIJ+8GQw== +"@types/bson@*": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/bson/-/bson-4.0.3.tgz#30889d2ffde6262abbe38659364c631454999fbf" + integrity sha512-mVRvYnTOZJz3ccpxhr3wgxVmSeiYinW+zlzQz3SXWaJmD1DuL05Jeq7nKw3SnbKmbleW5qrLG5vdyWe/A9sXhw== + dependencies: + "@types/node" "*" + +"@types/btoa-lite@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/btoa-lite/-/btoa-lite-1.0.0.tgz#e190a5a548e0b348adb0df9ac7fa5f1151c7cca4" + integrity sha512-wJsiX1tosQ+J5+bY5LrSahHxr2wT+uME5UDwdN1kg4frt40euqA+wzECkmq4t5QbveHiJepfdThgQrPw6KiSlg== + "@types/bytes@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@types/bytes/-/bytes-3.1.0.tgz#835a3e4aea3b4d7604aca216a78de372bff3ecc3" @@ -1475,6 +2842,58 @@ resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== +"@types/d3-path@^1": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-1.0.9.tgz#73526b150d14cd96e701597cbf346cfd1fd4a58c" + integrity sha512-NaIeSIBiFgSC6IGUBjZWcscUJEq7vpVu7KthHN8eieTV9d9MqkSOZLH4chq1PmcKy06PNe3axLeKmRIyxJ+PZQ== + +"@types/d3-scale@^3.0.0": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-3.2.2.tgz#5e28d0b1c599328aaec6094219f10a2570be6d74" + integrity sha512-qpQe8G02tzUwt9sdWX1h8A/W0Q1+N48wMnYXVOkrzeLUkCfvzJYV9Ee3aORCS4dN4ONRLFmMvaXdziQ29XGLjQ== + dependencies: + "@types/d3-time" "*" + +"@types/d3-shape@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-2.0.0.tgz#61aa065726f3c2641aedc59c3603475ab11aeb2f" + integrity sha512-NLzD02m5PiD1KLEDjLN+MtqEcFYn4ZL9+Rqc9ZwARK1cpKZXd91zBETbe6wpBB6Ia0D0VZbpmbW3+BsGPGnCpA== + dependencies: + "@types/d3-path" "^1" + +"@types/d3-time@*": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-2.0.0.tgz#831dd093db91f16b83ba980e194bb8e4bcef44d6" + integrity sha512-Abz8bTzy8UWDeYs9pCa3D37i29EWDjNTjemdk0ei1ApYVNqulYlGUKip/jLOpogkPSsPz/GvZCYiC7MFlEk0iQ== + +"@types/eslint-scope@^3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.0.tgz#4792816e31119ebd506902a482caec4951fabd86" + integrity sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*", "@types/eslint@^7.2.6": + version "7.2.10" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.10.tgz#4b7a9368d46c0f8cd5408c23288a59aa2394d917" + integrity sha512-kUEPnMKrqbtpCq/KTaGFFKAcz6Ethm2EjCoKIDaCmfRBWLbFuTcOJfTlorwbnboXBzahqWLgUp1BQeKHiJzPUQ== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^0.0.47": + version "0.0.47" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.47.tgz#d7a51db20f0650efec24cd04994f523d93172ed4" + integrity sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg== + +"@types/fastify-cors@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/fastify-cors/-/fastify-cors-2.1.0.tgz#cf09d8f2726c23a6eca8149de26ab19f80bfcbb4" + integrity sha512-o01k3tVq/6kNDv2Q+STSHOsgRPD1jEL5kzhBp6RFu0VSHdyUW6WnOctuS1gC9mdlZyuldGR0Eo8vdkP8ZrPa8g== + dependencies: + fastify-cors "*" + "@types/glob@^7.1.1": version "7.1.2" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.2.tgz#06ca26521353a545d94a0adc74f38a59d232c987" @@ -1490,6 +2909,24 @@ dependencies: "@types/node" "*" +"@types/history@*": + version "4.7.8" + resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.8.tgz#49348387983075705fe8f4e02fb67f7daaec4934" + integrity sha512-S78QIYirQcUoo6UJZx9CSP0O2ix9IaeAXwQi26Rhr/+mg7qqPy8TzaxHSUut7eGjL8WmLccT7/MXf304WjqHcA== + +"@types/hoist-non-react-statics@^3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" + integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA== + dependencies: + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + +"@types/html-minifier-terser@^5.0.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50" + integrity sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA== + "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" @@ -1525,11 +2962,28 @@ jest-diff "^25.2.1" pretty-format "^25.2.1" +"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.7": + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== + "@types/json-schema@^7.0.3": version "7.0.4" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== +"@types/jsonwebtoken@^8.3.3": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#56958cb2d80f6d74352bd2e501a018e2506a8a84" + integrity sha512-rNAPdomlIUX0i0cg2+I+Q1wOUr531zHBQ+cV/28PJ39bSPKjahatZZ2LMuhiguETkCgLVzfruw/ZvNMNkKoSzw== + dependencies: + "@types/node" "*" + +"@types/lru-cache@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.0.tgz#57f228f2b80c046b4a1bd5cac031f81f207f4f03" + integrity sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w== + "@types/micromatch@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@types/micromatch/-/micromatch-4.0.1.tgz#9381449dd659fc3823fd2a4190ceacc985083bc7" @@ -1547,6 +3001,23 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= +"@types/mongodb@^3.6.16": + version "3.6.16" + resolved "https://registry.yarnpkg.com/@types/mongodb/-/mongodb-3.6.16.tgz#7a48aaeb777f57e4655515ce18acbc68600dfeb9" + integrity sha512-D3tM0iRUet3TiIMAdvovxAIRG9gYqFd4j7visGwmPNdQj8Fq/uFFfRxyGCgEwVXAs0NnJPMI/QGVTADxDwhmSQ== + dependencies: + "@types/bson" "*" + "@types/node" "*" + +"@types/mui-datatables@^3.7.3": + version "3.7.3" + resolved "https://registry.yarnpkg.com/@types/mui-datatables/-/mui-datatables-3.7.3.tgz#e1f26916557c31cca3451535b69ccc8100a6d04d" + integrity sha512-4l41Fb9j5pbX7Ye/7n6/gJ2mZPLY8GLzRzjAnAiXCztY+Ghz+6v8wL+9cQzZuZSePbnsJZI+cwIy7dFXbAI7QQ== + dependencies: + "@material-ui/core" "^4.11.3" + "@material-ui/types" "5.1.0" + "@types/react" "*" + "@types/node@*", "@types/node@>= 8": version "14.0.13" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.13.tgz#ee1128e881b874c371374c1f72201893616417c9" @@ -1572,11 +3043,109 @@ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.1.tgz#b6e98083f13faa1e5231bfa3bdb1b0feff536b6d" integrity sha512-boy4xPNEtiw6N3abRhBi/e7hNvy3Tt8E9ZRAQrwAGzoCGZS/1wjo9KY7JHhnfnEsG5wSjDbymCozUM9a3ea7OQ== +"@types/prop-types@*": + version "15.7.3" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" + integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== + +"@types/q@^1.5.1": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" + integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== + +"@types/react-dom@^17.0.0": + version "17.0.3" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.3.tgz#7fdf37b8af9d6d40127137865bb3fff8871d7ee1" + integrity sha512-4NnJbCeWE+8YBzupn/YrJxZ8VnjcJq5iR1laqQ1vkpQgBiA7bwk0Rp24fxsdNinzJY2U+HHS4dJJDPdoMjdJ7w== + dependencies: + "@types/react" "*" + +"@types/react-router-dom@^5.1.7": + version "5.1.7" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.7.tgz#a126d9ea76079ffbbdb0d9225073eb5797ab7271" + integrity sha512-D5mHD6TbdV/DNHYsnwBTv+y73ei+mMjrkGrla86HthE4/PVvL1J94Bu3qABU+COXzpL23T1EZapVVpwHuBXiUg== + dependencies: + "@types/history" "*" + "@types/react" "*" + "@types/react-router" "*" + +"@types/react-router@*": + version "5.1.13" + resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.13.tgz#051c0d229bd48ad90558a1db500708127cc512f7" + integrity sha512-ZIuaO9Yrln54X6elg8q2Ivp6iK6p4syPsefEYAhRDAoqNh48C8VYUmB9RkXjKSQAJSJV0mbIFCX7I4vZDcHrjg== + dependencies: + "@types/history" "*" + "@types/react" "*" + +"@types/react-transition-group@^4.2.0": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.1.tgz#e1a3cb278df7f47f17b5082b1b3da17170bd44b1" + integrity sha512-vIo69qKKcYoJ8wKCJjwSgCTM+z3chw3g18dkrDfVX665tMH7tmbDxEAnPdey4gTlwZz5QuHGzd+hul0OVZDqqQ== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@^17.0.0": + version "17.0.4" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.4.tgz#a67c6f7a460d2660e950d9ccc1c2f18525c28220" + integrity sha512-onz2BqScSFMoTRdJUZUDD/7xrusM8hBA2Fktk2qgaTYPCgPvWnDEgkrOs8hhPUf2jfcIXkJ5yK6VfYormJS3Jw== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/resize-observer-browser@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@types/resize-observer-browser/-/resize-observer-browser-0.1.5.tgz#36d897708172ac2380cd486da7a3daf1161c1e23" + integrity sha512-8k/67Z95Goa6Lznuykxkfhq9YU3l1Qe6LNZmwde1u7802a3x8v44oq0j91DICclxatTr0rNnhXx7+VTIetSrSQ== + +"@types/scheduler@*": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.1.tgz#18845205e86ff0038517aab7a18a62a6b9f71275" + integrity sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA== + +"@types/source-list-map@*": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" + integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== + "@types/stack-utils@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== +"@types/tapable@^1", "@types/tapable@^1.0.5": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.7.tgz#545158342f949e8fd3bfd813224971ecddc3fac4" + integrity sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ== + +"@types/uglify-js@*": + version "3.13.0" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.0.tgz#1cad8df1fb0b143c5aba08de5712ea9d1ff71124" + integrity sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q== + dependencies: + source-map "^0.6.1" + +"@types/webpack-sources@*": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10" + integrity sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg== + dependencies: + "@types/node" "*" + "@types/source-list-map" "*" + source-map "^0.7.3" + +"@types/webpack@^4.4.31", "@types/webpack@^4.41.8": + version "4.41.27" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.27.tgz#f47da488c8037e7f1b2dbf2714fbbacb61ec0ffc" + integrity sha512-wK/oi5gcHi72VMTbOaQ70VcDxSQ1uX8S2tukBK9ARuGXrYM/+u4ou73roc7trXDNmCxCoerE8zruQqX/wuHszA== + dependencies: + "@types/anymatch" "*" + "@types/node" "*" + "@types/tapable" "^1" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + source-map "^0.6.0" + "@types/yargs-parser@*": version "15.0.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" @@ -1594,28 +3163,29 @@ resolved "https://registry.yarnpkg.com/@types/yup/-/yup-0.29.3.tgz#5a85024796bffe0eb01601bfc180fe218356dba4" integrity sha512-XxZFKnxzTfm+DR8MMBA35UUXfUPmjPpi8HJ90VZg7q/LIbtiOhVGJ26gNnATcflcpnIyf2Qm9A+oEhswaqoDpA== -"@typescript-eslint/eslint-plugin@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.3.0.tgz#1a23d904bf8ea248d09dc3761af530d90f39c8fa" - integrity sha512-RqEcaHuEKnn3oPFislZ6TNzsBLqpZjN93G69SS+laav/I8w/iGMuMq97P0D2/2/kW4SCebHggqhbcCfbDaaX+g== +"@typescript-eslint/eslint-plugin@^4.24.0": + version "4.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.24.0.tgz#03801ffc25b2af9d08f3dc9bccfc0b7ce3780d0f" + integrity sha512-qbCgkPM7DWTsYQGjx9RTuQGswi+bEt0isqDBeo+CKV0953zqI0Tp7CZ7Fi9ipgFA6mcQqF4NOVNwS/f2r6xShw== dependencies: - "@typescript-eslint/experimental-utils" "4.3.0" - "@typescript-eslint/scope-manager" "4.3.0" + "@typescript-eslint/experimental-utils" "4.24.0" + "@typescript-eslint/scope-manager" "4.24.0" debug "^4.1.1" functional-red-black-tree "^1.0.1" + lodash "^4.17.15" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.3.0.tgz#3f3c6c508e01b8050d51b016e7f7da0e3aefcb87" - integrity sha512-cmmIK8shn3mxmhpKfzMMywqiEheyfXLV/+yPDnOTvQX/ztngx7Lg/OD26J8gTZfkLKUmaEBxO2jYP3keV7h2OQ== +"@typescript-eslint/experimental-utils@4.24.0": + version "4.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.24.0.tgz#c23ead9de44b99c3a5fd925c33a106b00165e172" + integrity sha512-IwTT2VNDKH1h8RZseMH4CcYBz6lTvRoOLDuuqNZZoThvfHEhOiZPQCow+5El3PtyxJ1iDr6UXZwYtE3yZQjhcw== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.3.0" - "@typescript-eslint/types" "4.3.0" - "@typescript-eslint/typescript-estree" "4.3.0" + "@typescript-eslint/scope-manager" "4.24.0" + "@typescript-eslint/types" "4.24.0" + "@typescript-eslint/typescript-estree" "4.24.0" eslint-scope "^5.0.0" eslint-utils "^2.0.0" @@ -1629,28 +3199,28 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.3.0.tgz#684fc0be6551a2bfcb253991eec3c786a8c063a3" - integrity sha512-JyfRnd72qRuUwItDZ00JNowsSlpQGeKfl9jxwO0FHK1qQ7FbYdoy5S7P+5wh1ISkT2QyAvr2pc9dAemDxzt75g== +"@typescript-eslint/parser@^4.24.0": + version "4.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.24.0.tgz#2e5f1cc78ffefe43bfac7e5659309a92b09a51bd" + integrity sha512-dj1ZIh/4QKeECLb2f/QjRwMmDArcwc2WorWPRlB8UNTZlY1KpTVsbX7e3ZZdphfRw29aTFUSNuGB8w9X5sS97w== dependencies: - "@typescript-eslint/scope-manager" "4.3.0" - "@typescript-eslint/types" "4.3.0" - "@typescript-eslint/typescript-estree" "4.3.0" + "@typescript-eslint/scope-manager" "4.24.0" + "@typescript-eslint/types" "4.24.0" + "@typescript-eslint/typescript-estree" "4.24.0" debug "^4.1.1" -"@typescript-eslint/scope-manager@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.3.0.tgz#c743227e087545968080d2362cfb1273842cb6a7" - integrity sha512-cTeyP5SCNE8QBRfc+Lgh4Xpzje46kNUhXYfc3pQWmJif92sjrFuHT9hH4rtOkDTo/si9Klw53yIr+djqGZS1ig== +"@typescript-eslint/scope-manager@4.24.0": + version "4.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.24.0.tgz#38088216f0eaf235fa30ed8cabf6948ec734f359" + integrity sha512-9+WYJGDnuC9VtYLqBhcSuM7du75fyCS/ypC8c5g7Sdw7pGL4NDTbeH38eJPfzIydCHZDoOgjloxSAA3+4l/zsA== dependencies: - "@typescript-eslint/types" "4.3.0" - "@typescript-eslint/visitor-keys" "4.3.0" + "@typescript-eslint/types" "4.24.0" + "@typescript-eslint/visitor-keys" "4.24.0" -"@typescript-eslint/types@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.3.0.tgz#1f0b2d5e140543e2614f06d48fb3ae95193c6ddf" - integrity sha512-Cx9TpRvlRjOppGsU6Y6KcJnUDOelja2NNCX6AZwtVHRzaJkdytJWMuYiqi8mS35MRNA3cJSwDzXePfmhU6TANw== +"@typescript-eslint/types@4.24.0": + version "4.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.24.0.tgz#6d0cca2048cbda4e265e0c4db9c2a62aaad8228c" + integrity sha512-tkZUBgDQKdvfs8L47LaqxojKDE+mIUmOzdz7r+u+U54l3GDkTpEbQ1Jp3cNqqAU9vMUCBA1fitsIhm7yN0vx9Q== "@typescript-eslint/typescript-estree@2.34.0": version "2.34.0" @@ -1665,28 +3235,204 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/typescript-estree@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.3.0.tgz#0edc1068e6b2e4c7fdc54d61e329fce76241cee8" - integrity sha512-ZAI7xjkl+oFdLV/COEz2tAbQbR3XfgqHEGy0rlUXzfGQic6EBCR4s2+WS3cmTPG69aaZckEucBoTxW9PhzHxxw== +"@typescript-eslint/typescript-estree@4.24.0": + version "4.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.24.0.tgz#b49249679a98014d8b03e8d4b70864b950e3c90f" + integrity sha512-kBDitL/by/HK7g8CYLT7aKpAwlR8doshfWz8d71j97n5kUa5caHWvY0RvEUEanL/EqBJoANev8Xc/mQ6LLwXGA== dependencies: - "@typescript-eslint/types" "4.3.0" - "@typescript-eslint/visitor-keys" "4.3.0" + "@typescript-eslint/types" "4.24.0" + "@typescript-eslint/visitor-keys" "4.24.0" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" - lodash "^4.17.15" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.3.0.tgz#0e5ab0a09552903edeae205982e8521e17635ae0" - integrity sha512-xZxkuR7XLM6RhvLkgv9yYlTcBHnTULzfnw4i6+z2TGBLy9yljAypQaZl9c3zFvy7PNI7fYWyvKYtohyF8au3cw== +"@typescript-eslint/visitor-keys@4.24.0": + version "4.24.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.24.0.tgz#a8fafdc76cad4e04a681a945fbbac4e35e98e297" + integrity sha512-4ox1sjmGHIxjEDBnMCtWFFhErXtKA1Ec0sBpuz0fqf3P+g3JFGyTxxbF06byw0FRsPnnbq44cKivH7Ks1/0s6g== dependencies: - "@typescript-eslint/types" "4.3.0" + "@typescript-eslint/types" "4.24.0" eslint-visitor-keys "^2.0.0" +"@vercel/build-utils@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@vercel/build-utils/-/build-utils-2.10.1.tgz#5b175fc66639a82f8beeb19e85983fe955f27875" + integrity sha512-K5xaXoZnysKXxuc5YuR9NZxzBaS9UZYI+TGQCrpx+n1jFJMnVKcXTIlcGtsbNzVI1PR8Fx7YgjtAChSoIyBznQ== + +"@vercel/go@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@vercel/go/-/go-1.2.2.tgz#47686fc8f381767428d855bdd846b66efe2f742f" + integrity sha512-Oo1lXjXmDrSqdF3LKCWXJGU9DInq5aMe6weQSoWnKRvSZ6v4at2x19ltHYvgUO95y4tbdzqPLRKFNUSQEJVdjQ== + +"@vercel/node@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@vercel/node/-/node-1.9.1.tgz#55c079a469208560fd3f9f186cb68a504c4a10a1" + integrity sha512-sZIEk6UtJhbW4qRSCTnTWnGOT7UR6ZrhhSvK6z9AAS/BRc+Jz1/nbwPlYjT7HjZySo32VAwpeq2VHOd3hyxKGw== + dependencies: + "@types/node" "*" + ts-node "8.9.1" + typescript "3.9.3" + +"@vercel/python@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@vercel/python/-/python-2.0.1.tgz#5a94438762e8e2d39015a2655625779fa3300b5c" + integrity sha512-qrb6y1VYLq0x0uziW3/w6UZ1GNvNpeoM3aTfjFayr2CMZJ665J9lUaqbZhdH2/q4qw6VrBrlw3FYjr5HUpAFrw== + +"@vercel/ruby@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@vercel/ruby/-/ruby-1.2.6.tgz#d3472c32705f0ef64d3f0bd07bae1b0990cc35ca" + integrity sha512-ZLDMxMvOL0xd7FBHXQJ9EJxPohw+qzpgwulaNhXGgPuFUfnS9mboUEyj0sU9A9F7lMJFPJ6gs8UfVxBY2eNnGA== + +"@webassemblyjs/ast@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.0.tgz#a5aa679efdc9e51707a4207139da57920555961f" + integrity sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + +"@webassemblyjs/floating-point-hex-parser@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz#34d62052f453cd43101d72eab4966a022587947c" + integrity sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA== + +"@webassemblyjs/helper-api-error@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz#aaea8fb3b923f4aaa9b512ff541b013ffb68d2d4" + integrity sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w== + +"@webassemblyjs/helper-buffer@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz#d026c25d175e388a7dbda9694e91e743cbe9b642" + integrity sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA== + +"@webassemblyjs/helper-numbers@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz#7ab04172d54e312cc6ea4286d7d9fa27c88cd4f9" + integrity sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.0" + "@webassemblyjs/helper-api-error" "1.11.0" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz#85fdcda4129902fe86f81abf7e7236953ec5a4e1" + integrity sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA== + +"@webassemblyjs/helper-wasm-section@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz#9ce2cc89300262509c801b4af113d1ca25c1a75b" + integrity sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-buffer" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/wasm-gen" "1.11.0" + +"@webassemblyjs/ieee754@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz#46975d583f9828f5d094ac210e219441c4e6f5cf" + integrity sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.0.tgz#f7353de1df38aa201cba9fb88b43f41f75ff403b" + integrity sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.0.tgz#86e48f959cf49e0e5091f069a709b862f5a2cadf" + integrity sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw== + +"@webassemblyjs/wasm-edit@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz#ee4a5c9f677046a210542ae63897094c2027cb78" + integrity sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-buffer" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/helper-wasm-section" "1.11.0" + "@webassemblyjs/wasm-gen" "1.11.0" + "@webassemblyjs/wasm-opt" "1.11.0" + "@webassemblyjs/wasm-parser" "1.11.0" + "@webassemblyjs/wast-printer" "1.11.0" + +"@webassemblyjs/wasm-gen@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz#3cdb35e70082d42a35166988dda64f24ceb97abe" + integrity sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/ieee754" "1.11.0" + "@webassemblyjs/leb128" "1.11.0" + "@webassemblyjs/utf8" "1.11.0" + +"@webassemblyjs/wasm-opt@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz#1638ae188137f4bb031f568a413cd24d32f92978" + integrity sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-buffer" "1.11.0" + "@webassemblyjs/wasm-gen" "1.11.0" + "@webassemblyjs/wasm-parser" "1.11.0" + +"@webassemblyjs/wasm-parser@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz#3e680b8830d5b13d1ec86cc42f38f3d4a7700754" + integrity sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-api-error" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/ieee754" "1.11.0" + "@webassemblyjs/leb128" "1.11.0" + "@webassemblyjs/utf8" "1.11.0" + +"@webassemblyjs/wast-printer@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz#680d1f6a5365d6d401974a8e949e05474e1fab7e" + integrity sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@xtuc/long" "4.2.2" + +"@webpack-cli/configtest@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.2.tgz#2a20812bfb3a2ebb0b27ee26a52eeb3e3f000836" + integrity sha512-3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA== + +"@webpack-cli/info@^1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.3.tgz#ef819d10ace2976b6d134c7c823a3e79ee31a92c" + integrity sha512-lLek3/T7u40lTqzCGpC6CAbY6+vXhdhmwFRxZLMnRm6/sIF/7qMpT8MocXCRQfz0JAh63wpbXLMnsQ5162WS7Q== + dependencies: + envinfo "^7.7.3" + +"@webpack-cli/serve@^1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.3.1.tgz#911d1b3ff4a843304b9c3bacf67bb34672418441" + integrity sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw== + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + "@zkochan/cmd-shim@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@zkochan/cmd-shim/-/cmd-shim-3.1.0.tgz#2ab8ed81f5bb5452a85f25758eb9b8681982fd2e" @@ -1714,6 +3460,19 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== +abstract-logging@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/abstract-logging/-/abstract-logging-2.0.1.tgz#6b0c371df212db7129b57d2e7fcf282b8bf1c839" + integrity sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + acorn-globals@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" @@ -1727,16 +3486,36 @@ acorn-jsx@^5.2.0: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== +acorn-jsx@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + acorn-walk@^7.1.1: version "7.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== +acorn-walk@^8.0.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.1.0.tgz#d3c6a9faf00987a5e2b9bdb506c2aa76cd707f83" + integrity sha512-mjmzmv12YIG/G8JQdQuz2MUDShEJ6teYpT5bmWA4q7iwoGen8xtt3twF3OvzIUl+Q06aWIjvnwQUKvQ6TtMRjg== + acorn@^7.1.1, acorn@^7.4.0: version "7.4.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== +acorn@^8.0.4: + version "8.2.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.2.4.tgz#caba24b08185c3b56e3168e97d15ed17f4d31fd0" + integrity sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg== + +acorn@^8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.2.1.tgz#0d36af126fb6755095879c1dc6fd7edf7d60a5fb" + integrity sha512-z716cpm5TX4uzOzILx8PavOE6C6DKshHDw1aQN52M/yNSqE9s5O8SMfyhCCfCJ3HmTL0NkVOi+8a/55T7YB3bg== + agent-base@4, agent-base@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" @@ -1766,7 +3545,27 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.4, ajv@^6.5.5: +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.1.0, ajv@^6.11.0, ajv@^6.12.2, 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@^6.10.0, ajv@^6.12.4, ajv@^6.5.5: version "6.12.5" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz#19b0e8bae8f476e5ba666300387775fb1a00a4da" integrity sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag== @@ -1776,11 +3575,33 @@ ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.4, ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-colors@^3.2.1: +ajv@^8.0.1: + version "8.2.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.2.0.tgz#c89d3380a784ce81b2085f48811c4c101df4c602" + integrity sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA== + 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-align@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" + integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== + dependencies: + string-width "^3.0.0" + +ansi-colors@^3.0.0, ansi-colors@^3.2.1: version "3.2.4" 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@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" @@ -1793,6 +3614,11 @@ ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: dependencies: type-fest "^0.11.0" +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= + ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -1849,6 +3675,14 @@ anymatch@^3.0.3: normalize-path "^3.0.0" picomatch "^2.0.4" +anymatch@~3.1.1: + 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, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" @@ -1859,6 +3693,11 @@ aproba@^2.0.0: resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= + are-we-there-yet@~1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" @@ -1867,6 +3706,11 @@ are-we-there-yet@~1.1.2: delegates "^1.0.0" readable-stream "^2.0.6" +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -1899,12 +3743,33 @@ array-find-index@^1.0.1: resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + array-ify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= -array-union@^1.0.2: +array-includes@^3.1.2, array-includes@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== + 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" + +array-union@^1.0.1, array-union@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= @@ -1926,6 +3791,16 @@ 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.flatmap@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" + integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + function-bind "^1.1.1" + arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -1958,21 +3833,38 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - 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" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +async@^2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + atob-lite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696" @@ -1983,6 +3875,26 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== +atomic-sleep@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" + integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== + +avvio@^7.1.2: + version "7.2.1" + resolved "https://registry.yarnpkg.com/avvio/-/avvio-7.2.1.tgz#d2323bbebfe308189e5a41386de834ce3fbbd2f8" + integrity sha512-b+gox68dqD6c3S3t+bZBKN6rYbVWdwpN12sHQLFTiacDT2rcq7fm07Ww+IKt/AvAkyCIe1f5ArP1bC/vAlx97A== + dependencies: + archy "^1.0.0" + debug "^4.0.0" + fastq "^1.6.1" + queue-microtask "^1.1.2" + +aws-lambda-fastify@^1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/aws-lambda-fastify/-/aws-lambda-fastify-1.4.4.tgz#4ee8c823f9c271ff9944be4d8639d3ba1d87dda6" + integrity sha512-o8BuMHFIHStKUSzp3vwmAjvl3ftjnv4E6SY3f0Sy0jJwH/G81QzfUB3NakSPlnmDZ3CYr2lRvek2+LROT4vtRg== + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -2014,6 +3926,23 @@ babel-jest@^26.6.3: graceful-fs "^4.2.4" slash "^3.0.0" +babel-loader@^8.2.2: + version "8.2.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" + integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== + 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-istanbul@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" @@ -2035,6 +3964,39 @@ babel-plugin-jest-hoist@^26.6.2: "@types/babel__core" "^7.0.0" "@types/babel__traverse" "^7.0.6" +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.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz#686775bf9a5aa757e10520903675e3889caeedc4" + integrity sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.2.0" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz#f4b4bb7b19329827df36ff56f6e6d367026cb7a2" + integrity sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.0" + core-js-compat "^3.9.1" + +babel-plugin-polyfill-regenerator@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz#853f5f5716f4691d98c84f8069c7636ea8da7ab8" + integrity sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.0" + babel-preset-current-node-syntax@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" @@ -2079,6 +4041,11 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" @@ -2091,11 +4058,93 @@ before-after-hook@^2.0.0: resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== +before-after-hook@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.1.tgz#73540563558687586b52ed217dad6a802ab1549c" + integrity sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bl@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/bl/-/bl-2.2.1.tgz#8c11a7b730655c5d56898cdc871224f40fd901d5" + integrity sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== +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, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +boxen@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" + integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== + dependencies: + ansi-align "^3.0.0" + camelcase "^5.3.1" + chalk "^3.0.0" + cli-boxes "^2.2.0" + string-width "^4.1.0" + term-size "^2.1.0" + type-fest "^0.8.1" + widest-line "^3.1.0" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2104,7 +4153,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^2.3.1: +braces@^2.3.1, braces@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== @@ -2120,7 +4169,7 @@ braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.1: +braces@^3.0.1, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -2132,6 +4181,17 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== +browserslist@^4.14.5, browserslist@^4.16.4: + version "4.16.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.5.tgz#952825440bca8913c62d0021334cbe928ef062ae" + integrity sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A== + dependencies: + caniuse-lite "^1.0.30001214" + colorette "^1.2.2" + electron-to-chromium "^1.3.719" + escalade "^3.1.1" + node-releases "^1.1.71" + bs-logger@0.x: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" @@ -2146,16 +4206,31 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" +bson@^1.1.4: + version "1.1.6" + resolved "https://registry.yarnpkg.com/bson/-/bson-1.1.6.tgz#fb819be9a60cd677e0853aee4ca712a785d6618a" + integrity sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg== + btoa-lite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc= +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= + buffer-from@1.x, buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== + builtins@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" @@ -2171,7 +4246,12 @@ byte-size@^5.0.1: resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-5.0.1.tgz#4b651039a5ecd96767e71a3d7ed380e48bed4191" integrity sha512-/XuKeqWocKsYa/cBY1YbSJSWWqTi4cFgr9S6OyM7PBaPbr9zvNGwWP33vt0uqGhwDdN+y3yhbXVILEUpnwEWGw== -bytes@^3.1.0: +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.0, bytes@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== @@ -2212,6 +4292,27 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" +cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" + integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^3.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^1.0.2" + +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" + call-me-maybe@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" @@ -2241,6 +4342,14 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== +camel-case@^4.1.1: + 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-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" @@ -2287,6 +4396,16 @@ camelcase@^6.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== +camelcase@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +caniuse-lite@^1.0.30001214: + version "1.0.30001218" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001218.tgz#9b44f6ed16f875db6373e2debd4d14a07359002f" + integrity sha512-0ASydOWSy3bB88FbDpJSTt+PfDwnMqrym3yRZfqG8EXSQ06OZhF+q5wgYP/EN+jJMERItNcDQUqMyNjzZ+r5+Q== + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -2299,7 +4418,7 @@ caseless@~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.3.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2324,6 +4443,14 @@ chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" + integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" @@ -2334,11 +4461,50 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== +chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chokidar@^3.2.2, chokidar@^3.4.2: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.3.1" + chownr@^1.1.1, chownr@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + ci-info@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" @@ -2359,11 +4525,36 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" +classnames@^2.2.5: + version "2.3.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" + integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== + +clean-css@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + dependencies: + source-map "~0.6.0" + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== +clean-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz#a99d8ec34c1c628a4541567aa7b457446460c62b" + integrity sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A== + dependencies: + "@types/webpack" "^4.4.31" + del "^4.1.1" + +cli-boxes@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== + cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" @@ -2418,16 +4609,37 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= +clsx@^1.0.4, 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== + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -2470,6 +4682,11 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +colorette@^1.2.1, colorette@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" + integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + columnify@^1.5.4: version "1.5.4" resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" @@ -2485,6 +4702,16 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" +commander@^2.20.0, commander@~2.20.3: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + commander@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" @@ -2495,10 +4722,20 @@ commander@^6.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-6.1.0.tgz#f8d722b78103141006b66f4c7ba1e97315ba75bc" integrity sha512-wl7PNrYWd2y5mp1OK/LhTlv8Ff4kQJQRXXAvF+uU/TPNiVJUxZLRYGj/B0y/lPGAVcSbJqH2Za/cvHmrPMC8mA== -commander@~2.20.3: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commander@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +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== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= compare-func@^2.0.0: version "2.0.0" @@ -2518,6 +4755,26 @@ component-emitter@^1.2.1: resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== +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" @@ -2551,11 +4808,40 @@ config-chain@^1.1.11: ini "^1.3.4" proto-list "~1.2.1" +configstore@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" + integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== + dependencies: + dot-prop "^5.2.0" + graceful-fs "^4.1.2" + make-dir "^3.0.0" + unique-string "^2.0.0" + write-file-atomic "^3.0.0" + xdg-basedir "^4.0.0" + +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== + conventional-changelog-angular@^5.0.3: version "5.0.11" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.11.tgz#99a3ca16e4a5305e0c2c2fae3ef74fd7631fc3fb" @@ -2639,13 +4925,28 @@ conventional-recommended-bump@^5.0.0: meow "^4.0.0" q "^1.5.1" -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== dependencies: safe-buffer "~5.1.1" +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + +cookie@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" + integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== + copy-concurrently@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" @@ -2663,6 +4964,32 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= +copy-webpack-plugin@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-8.1.1.tgz#3f697e162764925c2f0d235f380676125508fd26" + integrity sha512-rYM2uzRxrLRpcyPqGceRBDpxxUV8vcDqIKxAUKfcnFpcrPxT5+XvhTxv7XLjo5AvEJFPdAE3zCogG2JVahqgSQ== + dependencies: + fast-glob "^3.2.5" + glob-parent "^5.1.1" + globby "^11.0.3" + normalize-path "^3.0.0" + p-limit "^3.1.0" + schema-utils "^3.0.0" + serialize-javascript "^5.0.1" + +core-js-compat@^3.9.0, core-js-compat@^3.9.1: + version "3.11.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.11.0.tgz#635683f43480a0b41e3f6be3b1c648dadb8b4390" + integrity sha512-3wsN9YZJohOSDCjVB0GequOyHax8zFiogSX3XWLE28M1Ew7dTU57tgHjIylSBKSIouwmLBp3g61sKMz/q3xEGA== + dependencies: + browserslist "^4.16.4" + semver "7.0.0" + +core-js-pure@^3.0.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.11.0.tgz#e07f25a8f616d178ec16b0354b008ad28b20b2f0" + integrity sha512-PxEiQGjzC+5qbvE7ZIs5Zn6BynNeZO9zHhrrWmkRff2SZLq0CE/H5LuZOJHhmOQ8L38+eMzEHAmPYWrUtDfuDQ== + core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -2689,6 +5016,22 @@ cosmiconfig@^6.0.0: path-type "^4.0.0" yaml "^1.7.2" +cosmiconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + 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" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -2709,6 +5052,76 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" +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" + +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + +css-select@^2.0.0, css-select@^2.0.2: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@^1.1.2: + 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-unit-converter@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21" + integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== + +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@^3.2.1: + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== + +csso@^4.0.2: + 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" + cssom@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" @@ -2726,6 +5139,16 @@ cssstyle@^2.2.0: dependencies: cssom "~0.3.6" +csstype@^2.5.2: + version "2.6.17" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.17.tgz#4cf30eb87e1d1a005d8b6510f95292413f6a1c0e" + integrity sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A== + +csstype@^3.0.2: + version "3.0.8" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340" + integrity sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw== + currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -2738,6 +5161,67 @@ cyclist@^1.0.1: resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= +d3-array@2, d3-array@^2.3.0: + version "2.12.1" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.12.1.tgz#e20b41aafcdffdf5d50928004ececf815a465e81" + integrity sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ== + dependencies: + internmap "^1.0.0" + +"d3-color@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-2.0.0.tgz#8d625cab42ed9b8f601a1760a389f7ea9189d62e" + integrity sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ== + +"d3-format@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-2.0.0.tgz#a10bcc0f986c372b729ba447382413aabf5b0767" + integrity sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA== + +"d3-interpolate@1.2.0 - 2", d3-interpolate@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-2.0.1.tgz#98be499cfb8a3b94d4ff616900501a64abc91163" + integrity sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ== + dependencies: + d3-color "1 - 2" + +"d3-path@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-2.0.0.tgz#55d86ac131a0548adae241eebfb56b4582dd09d8" + integrity sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA== + +d3-scale@^3.2.3: + version "3.3.0" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-3.3.0.tgz#28c600b29f47e5b9cd2df9749c206727966203f3" + integrity sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ== + dependencies: + d3-array "^2.3.0" + d3-format "1 - 2" + d3-interpolate "1.2.0 - 2" + d3-time "^2.1.1" + d3-time-format "2 - 3" + +d3-shape@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-2.1.0.tgz#3b6a82ccafbc45de55b57fcf956c584ded3b666f" + integrity sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA== + dependencies: + d3-path "1 - 2" + +"d3-time-format@2 - 3": + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-3.0.0.tgz#df8056c83659e01f20ac5da5fdeae7c08d5f1bb6" + integrity sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag== + dependencies: + d3-time "1 - 2" + +"d3-time@1 - 2", d3-time@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-2.1.1.tgz#e9d8a8a88691f4548e68ca085e5ff956724a6682" + integrity sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ== + dependencies: + d3-array "2" + dargs@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" @@ -2766,6 +5250,13 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== +debug@2.6.9, debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + debug@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" @@ -2773,13 +5264,6 @@ debug@3.1.0: dependencies: ms "2.0.0" -debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - debug@^3.1.0: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" @@ -2787,6 +5271,20 @@ debug@^3.1.0: dependencies: ms "^2.1.1" +debug@^3.1.1, debug@^3.2.6: + 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.0.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" @@ -2812,6 +5310,11 @@ decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= +decimal.js-light@^2.4.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/decimal.js-light/-/decimal.js-light-2.5.1.tgz#134fd32508f19e208f4fb2f8dac0d2626a867934" + integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== + decimal.js@^10.2.0: version "10.2.0" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" @@ -2822,11 +5325,35 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= +deep-equal@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -2837,6 +5364,14 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== +default-gateway@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== + dependencies: + execa "^1.0.0" + ip-regex "^2.1.0" + defaults@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" @@ -2844,6 +5379,11 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" +defer-to-connect@^1.0.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" + integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== + define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -2873,6 +5413,19 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" +del@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== + dependencies: + "@types/glob" "^7.1.1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -2883,11 +5436,26 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= +denque@^1.4.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.0.tgz#773de0686ff2d8ec2ff92914316a47b73b1c73de" + integrity sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + deprecation@^2.0.0, deprecation@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + detect-indent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" @@ -2898,6 +5466,11 @@ detect-newline@^3.0.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== +detect-node@^2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.5.tgz#9d270aa7eaa5af0b72c4c9d9b814e7f4ce738b79" + integrity sha512-qi86tE6hRcFHy8jI1m2VG+LaPUR1LhqDa5G8tVjuUXmOrpuAgqsA1pN0+ldgr3aKUH+QLI9hCY/OcRYisERejw== + dezalgo@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" @@ -2916,6 +5489,11 @@ diff-sequences@^26.6.2: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + dir-glob@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" @@ -2930,6 +5508,42 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +dnd-core@^11.1.3: + version "11.1.3" + resolved "https://registry.yarnpkg.com/dnd-core/-/dnd-core-11.1.3.tgz#f92099ba7245e49729d2433157031a6267afcc98" + integrity sha512-QugF55dNW+h+vzxVJ/LSJeTeUw9MCJ2cllhmVThVPEtF16ooBkxj0WBE5RB+AceFxMFo1rO6bJKXtqKl+JNnyA== + dependencies: + "@react-dnd/asap" "^4.0.0" + "@react-dnd/invariant" "^2.0.0" + redux "^4.0.4" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + +dns-packet@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" + integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" @@ -2937,6 +5551,46 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dom-converter@^0.2: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-helpers@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" + integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== + dependencies: + "@babel/runtime" "^7.1.2" + +dom-helpers@^5.0.1, dom-helpers@^5.1.3: + 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@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +domelementtype@1, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + domexception@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" @@ -2944,6 +5598,29 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domutils@^1.5.1, domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-case@^3.0.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" + dot-prop@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" @@ -2951,18 +5628,52 @@ dot-prop@^4.2.0: dependencies: is-obj "^1.0.0" -dot-prop@^5.1.0: +dot-prop@^5.1.0, dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" +dotenv-defaults@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/dotenv-defaults/-/dotenv-defaults-2.0.1.tgz#ea6f9632b3b5cc55e48b736760def5561f1cb7c0" + integrity sha512-ugFCyBF7ILuwpmznduHPQZBMucHHJ8T4OBManTEVjemxCm2+nqifSuW2lD2SNKdiKSH1E324kZSdJ8M04b4I/A== + dependencies: + dotenv "^8.2.0" + +dotenv-webpack@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-7.0.2.tgz#1bf2e407e92c10fbb08d815b12c991028f10f81c" + integrity sha512-RY+/5uM/XY4bGtih9f9ic8hlrUDxVcZZBPWlnX/aHhaKxcVVX9SH/5VH7CSmvVo9GL6PKvQOA0X1bc552rnatQ== + dependencies: + dotenv-defaults "^2.0.1" + +dotenv@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + +dotenv@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" + integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== + +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + duplexer@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" @@ -2981,6 +5692,23 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +electron-to-chromium@^1.3.719: + version "1.3.722" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.722.tgz#621657f79e7f65402e71aa3403bc941f3a4af0a0" + integrity sha512-aAsc906l0RBsVTsGTK+KirVfey9eNtxyejdkbNzkISGxb7AFna3Kf0qvsp8tMttzBt9Bz3HddtYQ+++/PZtRYA== + emittery@^0.7.1: version "0.7.2" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" @@ -2996,6 +5724,16 @@ 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== +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= + encoding@^0.1.11: version "0.1.12" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" @@ -3010,6 +5748,14 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" +enhanced-resolve@^5.8.0: + version "5.8.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.0.tgz#d9deae58f9d3773b6a111a5a46831da5be5c9ac0" + integrity sha512-Sl3KRpJA8OpprrtaIswVki3cWPiPKxXuFxJXBp+zNb6s6VwNWwFRUdtmzd2ReUut8n+sCPx7QCtQ7w5wfJhSgQ== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + enquirer@^2.3.5: version "2.3.5" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.5.tgz#3ab2b838df0a9d8ab9e7dff235b0e8712ef92381" @@ -3017,21 +5763,55 @@ enquirer@^2.3.5: dependencies: ansi-colors "^3.2.1" +enquirer@^2.3.6: + 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@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + env-paths@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== +env-var@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/env-var/-/env-var-7.0.1.tgz#a3ec1667bcfa893bb2fc67811a71999993274fc8" + integrity sha512-w4iTR5nongmpSgIByBhEaMvuLZOQCyzv4IUbhZnYMSKo/X8tj9E2Wdn4ikzKNFi29K78e5eT64iQkpar+nIYzw== + envinfo@^7.3.1: version "7.5.1" resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.5.1.tgz#93c26897225a00457c75e734d354ea9106a72236" integrity sha512-hQBkDf2iO4Nv0CNHpCuSBeaSrveU6nThVxFGTrq/eDlV716UQk09zChaJae4mZRsos1x4YLY2TaH3LHUae3ZmQ== +envinfo@^7.7.3: + version "7.8.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== + err-code@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= +errno@^0.1.3: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -3056,6 +5836,33 @@ es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" +es-abstract@^1.17.2, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: + version "1.18.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" + integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.2" + is-callable "^1.2.3" + is-negative-zero "^2.0.1" + is-regex "^1.1.2" + is-string "^1.0.5" + object-inspect "^1.9.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.0" + +es-module-lexer@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.4.1.tgz#dda8c6a14d8f340a24e34331e0fab0cb50438e0e" + integrity sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA== + 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" @@ -3077,6 +5884,21 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" +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-goat@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" + integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== + +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" @@ -3087,6 +5909,11 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== +escape-string-regexp@^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== + escodegen@^1.14.1: version "1.14.2" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.2.tgz#14ab71bf5026c2aa08173afba22c6f3173284a84" @@ -3099,12 +5926,10 @@ escodegen@^1.14.1: optionalDependencies: source-map "~0.6.1" -eslint-config-prettier@^6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz#f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1" - integrity sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA== - dependencies: - get-stdin "^6.0.0" +eslint-config-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-plugin-jest@^23.17.1: version "23.17.1" @@ -3120,6 +5945,29 @@ eslint-plugin-prettier@^3.1.4: 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@^7.22.0: + version "7.23.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz#2d2291b0f95c03728b55869f01102290e792d494" + integrity sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw== + dependencies: + array-includes "^3.1.3" + array.prototype.flatmap "^1.2.4" + doctrine "^2.1.0" + has "^1.0.3" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.0.4" + object.entries "^1.1.3" + object.fromentries "^2.0.4" + object.values "^1.1.3" + prop-types "^15.7.2" + resolve "^2.0.0-next.3" + string.prototype.matchall "^4.0.4" + eslint-scope@^5.0.0, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -3145,29 +5993,43 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@^7.10.0: - version "7.10.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.10.0.tgz#494edb3e4750fb791133ca379e786a8f648c72b9" - integrity sha512-BDVffmqWl7JJXqCjAK6lWtcQThZB/aP1HXSH1JKwGwv0LQEdvpR7qzNrUT487RM39B5goWuboFad5ovMBmD8yA== +eslint-webpack-plugin@^2.4.1: + version "2.5.4" + resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-2.5.4.tgz#473b84932f1a8e2c2b8e66a402d0497bf440b986" + integrity sha512-7rYh0m76KyKSDE+B+2PUQrlNS4HJ51t3WKpkJg6vo2jFMbEPTG99cBV0Dm7LXSHucN4WGCG65wQcRiTFrj7iWw== dependencies: - "@babel/code-frame" "^7.0.0" - "@eslint/eslintrc" "^0.1.3" + "@types/eslint" "^7.2.6" + arrify "^2.0.1" + jest-worker "^26.6.2" + micromatch "^4.0.2" + normalize-path "^3.0.0" + schema-utils "^3.0.0" + +eslint@^7.27.0: + version "7.27.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.27.0.tgz#665a1506d8f95655c9274d84bd78f7166b07e9c7" + integrity sha512-JZuR6La2ZF0UD384lcbnd0Cgg6QJjiCwhMD6eU4h/VGPcVGwawNNzKU41tgokGXnfjOOyI6QIffthhJTPzzuRA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.1" 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 "^1.3.0" - espree "^7.3.0" - esquery "^1.2.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" esutils "^2.0.2" - file-entry-cache "^5.0.1" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" glob-parent "^5.0.0" - globals "^12.1.0" + globals "^13.6.0" ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" @@ -3175,7 +6037,7 @@ eslint@^7.10.0: js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.19" + lodash.merge "^4.6.2" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -3184,7 +6046,7 @@ eslint@^7.10.0: semver "^7.2.1" strip-ansi "^6.0.0" strip-json-comments "^3.1.0" - table "^5.2.3" + table "^6.0.9" text-table "^0.2.0" v8-compile-cache "^2.0.3" @@ -3197,15 +6059,24 @@ espree@^7.3.0: acorn-jsx "^5.2.0" eslint-visitor-keys "^1.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" + esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" - integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== dependencies: estraverse "^5.1.0" @@ -3231,11 +6102,33 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + eventemitter3@^3.1.0: version "3.1.2" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== +eventemitter3@^4.0.0, eventemitter3@^4.0.1: + 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== + +eventsource@^1.0.7: + version "1.1.0" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" + integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== + dependencies: + original "^1.0.0" + exec-sh@^0.3.2: version "0.3.4" resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" @@ -3269,6 +6162,21 @@ execa@^4.0.0, execa@^4.0.1: signal-exit "^3.0.2" strip-final-newline "^2.0.0" +execa@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" + integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== + 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" + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -3299,6 +6207,42 @@ expect@^26.6.2: jest-message-util "^26.6.2" jest-regex-util "^26.0.0" +express@^4.17.1: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + 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-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -3352,16 +6296,31 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= +fast-decode-uri-component@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz#46f8b6c22b30ff7a81357d4f59abfae938202543" + integrity sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg== + fast-deep-equal@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== +fast-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-diff@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== +fast-equals@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-2.0.1.tgz#ffc1b0746aceaa855bed91e6aa0e70968645ed7c" + integrity sha512-jIHAbyu5Txdi299DitHXr4wuvw7ajz8S4xVgShJmQOUD6TovsKzvMoHoq9G8+dO6xeKWrwH3DURT+ZDKnwjSsA== + fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" @@ -3386,16 +6345,98 @@ fast-glob@^3.1.1: micromatch "^4.0.2" picomatch "^2.2.1" -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: +fast-glob@^3.2.5: + version "3.2.5" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" + integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== +fast-json-stringify@^2.5.2: + version "2.7.1" + resolved "https://registry.yarnpkg.com/fast-json-stringify/-/fast-json-stringify-2.7.1.tgz#60b46813f771c4554ac213c1d0cfb62e48c14a5d" + integrity sha512-DInuFDVNbwjZmcZke80IB1GlMONCAc15QqRhLQCOrAyJr1tFmQsgpXCJS2dtwxLWL1PtTtOLK4itj24wEqIMWg== + dependencies: + ajv "^6.11.0" + deepmerge "^4.2.2" + rfdc "^1.2.0" + string-similarity "^4.0.1" + fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fast-redact@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.0.1.tgz#d6015b971e933d03529b01333ba7f22c29961e92" + integrity sha512-kYpn4Y/valC9MdrISg47tZOpYBNoTXKgT9GYXFpHN/jYFs+lFkPoisY+LcBODdKVMY96ATzvzsWv+ES/4Kmufw== + +fast-safe-stringify@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743" + integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA== + +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== + +fastify-cors@*, fastify-cors@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/fastify-cors/-/fastify-cors-6.0.1.tgz#300e0f1cbeedda19d9de284e9cf05c65842c182b" + integrity sha512-eeNTdQNmBsqHL87we+X74n9+H0hTDX0cXGVdyZjGf9om2pZfigAZwuSxaUUE2pLP9tp5+rEd5kejKQ8+ZCvAoA== + dependencies: + fastify-plugin "^3.0.0" + vary "^1.1.2" + +fastify-error@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/fastify-error/-/fastify-error-0.3.1.tgz#8eb993e15e3cf57f0357fc452af9290f1c1278d2" + integrity sha512-oCfpcsDndgnDVgiI7bwFKAun2dO+4h84vBlkWsWnz/OUK9Reff5UFoFl241xTiLeHWX/vU9zkDVXqYUxjOwHcQ== + +fastify-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/fastify-plugin/-/fastify-plugin-3.0.0.tgz#cf1b8c8098e3b5a7c8c30e6aeb06903370c054ca" + integrity sha512-ZdCvKEEd92DNLps5n0v231Bha8bkz1DjnPP/aEz37rz/q42Z5JVLmgnqR4DYuNn3NXAO3IDCPyRvgvxtJ4Ym4w== + +fastify-warning@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/fastify-warning/-/fastify-warning-0.2.0.tgz#e717776026a4493dc9a2befa44db6d17f618008f" + integrity sha512-s1EQguBw/9qtc1p/WTY4eq9WMRIACkj+HTcOIK1in4MV5aFaQC9ZCIt0dJ7pr5bIf4lPpHvAtP2ywpTNgs7hqw== + +fastify@^3.15.1: + version "3.15.1" + resolved "https://registry.yarnpkg.com/fastify/-/fastify-3.15.1.tgz#6d257cd7d04938d97e8fcd5d727bc363e5e4dabe" + integrity sha512-QZBGrSOwcR+IJF5OwYTZ5662wEd68SqC6sG4aMu0GncKbYlG9GF88EF2PzN2HfXCCD9K0d/+ZNowuF8S893mOg== + dependencies: + "@fastify/proxy-addr" "^3.0.0" + abstract-logging "^2.0.0" + ajv "^6.12.2" + avvio "^7.1.2" + fast-json-stringify "^2.5.2" + fastify-error "^0.3.0" + fastify-warning "^0.2.0" + find-my-way "^4.0.0" + flatstr "^1.0.12" + light-my-request "^4.2.0" + pino "^6.2.1" + readable-stream "^3.4.0" + rfdc "^1.1.4" + secure-json-parse "^2.0.0" + semver "^7.3.2" + tiny-lru "^7.0.0" + fastq@^1.6.0: version "1.8.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" @@ -3403,6 +6444,20 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +fastq@^1.6.1: + version "1.11.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" + integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.3" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" + integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== + dependencies: + websocket-driver ">=0.5.1" + fb-watchman@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" @@ -3429,12 +6484,17 @@ figures@^3.2.0: dependencies: escape-string-regexp "^1.0.5" -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: - flat-cache "^2.0.1" + flat-cache "^3.0.4" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== fill-range@^4.0.0: version "4.0.0" @@ -3453,6 +6513,43 @@ fill-range@^7.0.1: 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.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-my-way@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-my-way/-/find-my-way-4.1.0.tgz#e70aa10b3670cc8be96eb251357705644ea5087b" + integrity sha512-UBD94MdO6cBi6E97XA0fBA9nwqw+xG5x1TYIPHats33gEi/kNqy7BWHAWx8QHCQQRSU5Txc0JiD8nzba39gvMQ== + dependencies: + fast-decode-uri-component "^1.0.1" + fast-deep-equal "^3.1.3" + safe-regex2 "^2.0.0" + semver-store "^0.3.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@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -3490,19 +6587,23 @@ find-versions@^3.2.0: dependencies: semver-regex "^2.0.0" -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" + flatted "^3.1.0" + rimraf "^3.0.2" -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== +flatstr@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/flatstr/-/flatstr-1.0.12.tgz#c2ba6a08173edbb6c9640e3055b95e287ceb5931" + integrity sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw== + +flatted@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" + integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== flush-write-stream@^1.0.0: version "1.1.1" @@ -3517,6 +6618,11 @@ fn-name@~3.0.0: resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-3.0.0.tgz#0596707f635929634d791f452309ab41558e3c5c" integrity sha512-eNMNr5exLoavuAMhIUVsOKF79SWd/zG104ef6sxBTSw+cZc6BXdQXDvYcGvp0VbxVVSp1XDUNoz7mg1xMtSznA== +follow-redirects@^1.0.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.0.tgz#f5d260f95c5f8c105894491feee5dc8993b402fe" + integrity sha512-0vRwd7RKQBTt+mgu87mtYeofLFZpTas2S9zY+jIeuLJMNvudIgF52nr19q40HOwH5RrhWIPuj9puybzSJiRrVg== + follow-redirects@^1.10.0: version "1.13.1" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.1.tgz#5f69b813376cee4fd0474a3aba835df04ab763b7" @@ -3532,6 +6638,24 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= +fork-ts-checker-webpack-plugin@^6.0.8: + version "6.2.5" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.5.tgz#09e81ad57ed862c9dd093298550e7f6966ab1a2f" + integrity sha512-EqHkTmxOotb5WJEc8kjzJh8IRuRUpHxtBh+jGyOHJcEwwZzqTmlMNAJsVF3tvALohi9yJzV8C1j215DyK8Ta8w== + 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" + memfs "^3.1.2" + minimatch "^3.0.4" + schema-utils "2.7.0" + semver "^7.3.2" + tapable "^1.0.0" + form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -3541,6 +6665,11 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -3548,6 +6677,11 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + from2@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" @@ -3556,6 +6690,19 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" +frontend-collective-react-dnd-scrollzone@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/frontend-collective-react-dnd-scrollzone/-/frontend-collective-react-dnd-scrollzone-1.0.2.tgz#cf5ed6165335f7d26504a40126f8e972ee644698" + integrity sha512-me/D9PZJq9j/sjEjs/OPmm6V6nbaHbhgeQiwrWu0t35lhwAOKWc+QBzzKKcZQeboYTkgE8UvCD9el+5ANp+g5Q== + dependencies: + hoist-non-react-statics "^3.1.0" + lodash.throttle "^4.0.1" + prop-types "^15.5.9" + raf "^3.2.0" + react "^16.3.0" + react-display-name "^0.2.0" + react-dom "^16.3.0" + fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -3565,6 +6712,16 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^9.0.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-minipass@^1.2.5: version "1.2.7" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" @@ -3572,6 +6729,11 @@ fs-minipass@^1.2.5: dependencies: minipass "^2.6.0" +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-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" @@ -3587,11 +6749,24 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + fsevents@^2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== +fsevents@~2.3.1: + 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" @@ -3626,11 +6801,25 @@ gensync@^1.0.0-beta.1: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== +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-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-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-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" @@ -3662,11 +6851,6 @@ get-stdin@^4.0.1: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - get-stream@^4.0.0, get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -3681,6 +6865,18 @@ get-stream@^5.0.0: dependencies: pump "^3.0.0" +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +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-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -3757,12 +6953,24 @@ glob-parent@^5.0.0, glob-parent@^5.1.0: dependencies: is-glob "^4.0.1" +glob-parent@^5.1.1, glob-parent@~5.1.0: + 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.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +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.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -3774,6 +6982,13 @@ glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" +global-dirs@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d" + integrity sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ== + dependencies: + ini "1.3.7" + globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -3786,6 +7001,13 @@ globals@^12.1.0: dependencies: type-fest "^0.8.1" +globals@^13.6.0: + version "13.8.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3" + integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== + dependencies: + type-fest "^0.20.2" + globby@^11.0.1: version "11.0.1" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" @@ -3798,6 +7020,29 @@ globby@^11.0.1: merge2 "^1.3.0" slash "^3.0.0" +globby@^11.0.3: + version "11.0.3" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" + integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + globby@^9.2.0: version "9.2.0" resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" @@ -3812,6 +7057,23 @@ globby@^9.2.0: pify "^4.0.1" slash "^2.0.0" +got@^9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== + dependencies: + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + cacheable-request "^6.0.0" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" + graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" @@ -3830,10 +7092,22 @@ gzip-size@^5.1.1: duplexer "^0.1.1" pify "^4.0.1" +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + handlebars@^4.7.6: - version "4.7.6" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" - integrity sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA== + version "4.7.7" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== dependencies: minimist "^1.2.5" neo-async "^2.6.0" @@ -3860,6 +7134,11 @@ hard-rejection@^2.1.0: resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== +has-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" @@ -3875,6 +7154,11 @@ has-symbols@^1.0.0, has-symbols@^1.0.1: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== +has-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-unicode@^2.0.0, has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -3911,6 +7195,11 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" +has-yarn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" + integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== + has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -3918,10 +7207,44 @@ has@^1.0.3: 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.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, hosted-git-info@^2.7.1: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + 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-encoding-sniffer@^2.0.1: version "2.0.1" @@ -3930,16 +7253,108 @@ html-encoding-sniffer@^2.0.1: dependencies: whatwg-encoding "^1.0.5" +html-entities@^1.3.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" + integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== + html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== +html-minifier-terser@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" + integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== + dependencies: + camel-case "^4.1.1" + clean-css "^4.2.3" + commander "^4.1.1" + he "^1.2.0" + param-case "^3.0.3" + relateurl "^0.2.7" + terser "^4.6.3" + +html-webpack-plugin@^4.5.1: + version "4.5.2" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz#76fc83fa1a0f12dd5f7da0404a54e2699666bc12" + integrity sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A== + dependencies: + "@types/html-minifier-terser" "^5.0.0" + "@types/tapable" "^1.0.5" + "@types/webpack" "^4.41.8" + html-minifier-terser "^5.0.1" + loader-utils "^1.2.3" + lodash "^4.17.20" + pretty-error "^2.1.1" + tapable "^1.1.3" + util.promisify "1.0.0" + +htmlparser2@^3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + http-cache-semantics@^3.8.1: version "3.8.1" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== +http-cache-semantics@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + +http-deceiver@^1.2.7: + version "1.2.7" + 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-agent@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" @@ -3948,6 +7363,25 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" +http-proxy-middleware@0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" + integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== + dependencies: + http-proxy "^1.17.0" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy@^1.17.0: + version "1.18.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" @@ -3970,6 +7404,11 @@ human-signals@^1.1.1: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== +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== + humanize-ms@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" @@ -3993,6 +7432,11 @@ husky@^4.2.5: slash "^3.0.0" which-pm-runs "^1.0.0" +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, iconv-lite@^0.4.24, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -4005,6 +7449,11 @@ iferr@^0.1.5: resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= +ignore-by-default@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" + integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk= + ignore-walk@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" @@ -4038,6 +7487,11 @@ import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + import-local@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" @@ -4059,6 +7513,13 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= +indefinite-observable@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/indefinite-observable/-/indefinite-observable-2.0.1.tgz#574af29bfbc17eb5947793797bddc94c9d859400" + integrity sha512-G8vgmork+6H9S8lUAg1gtXEj2JxIQTo0g2PbFiYOdjkziSI0F7UYBiVwhZRuixhBCNGczAls34+5HJPyZysvxQ== + dependencies: + symbol-observable "1.2.0" + indent-string@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" @@ -4089,12 +7550,22 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@^1.3.2, ini@^1.3.4: +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.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" + integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== + +ini@^1.3.2, ini@^1.3.4, 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== @@ -4132,16 +7603,58 @@ inquirer@^6.2.0: strip-ansi "^5.1.0" through "^2.3.6" +internal-ip@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== + dependencies: + default-gateway "^4.2.0" + ipaddr.js "^1.9.0" + +internal-slot@^1.0.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" + +internmap@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-1.0.1.tgz#0017cc8a3b99605f0302f2b198d272e015e5df95" + integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== + +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@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= -ip@1.1.5: +ip@1.1.5, ip@^1.1.0, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= +ipaddr.js@1.9.1, ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.0.tgz#77ccccc8063ae71ab65c55f21b090698e763fc6e" + integrity sha512-S54H9mIj0rbxRIyrDMEuuER86LdlgUg9FSeZ8duQb6CUG2iRrA36MYVQBSprTF/ZeAwvyQ5mDGuNvIPM0BIl3w== + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" + integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -4156,11 +7669,44 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-arguments@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" + integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== + dependencies: + call-bind "^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-bigint@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" + integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" + integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== + dependencies: + call-bind "^1.0.0" + is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -4171,6 +7717,11 @@ is-callable@^1.1.4, is-callable@^1.2.0: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== +is-callable@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" + integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -4185,6 +7736,13 @@ is-core-module@^2.1.0: dependencies: has "^1.0.3" +is-core-module@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.3.0.tgz#d341652e3408bca69c4671b79a0954a3d349f887" + integrity sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -4283,13 +7841,41 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0, is-glob@^4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: is-extglob "^2.1.1" +is-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-installed-globally@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" + integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== + dependencies: + global-dirs "^2.0.1" + is-path-inside "^3.0.1" + +is-negative-zero@^2.0.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-npm@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" + integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== + +is-number-object@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" + integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -4312,6 +7898,30 @@ is-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== + dependencies: + path-is-inside "^1.0.2" + +is-path-inside@^3.0.1: + 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@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -4331,11 +7941,24 @@ is-plain-object@^3.0.0: dependencies: isobject "^4.0.0" +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + is-potential-custom-element-name@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= +is-regex@^1.0.4, is-regex@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" + integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== + dependencies: + call-bind "^1.0.2" + has-symbols "^1.0.1" + is-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" @@ -4365,7 +7988,12 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== -is-symbol@^1.0.2: +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== + +is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== @@ -4394,6 +8022,11 @@ is-windows@^1.0.0, is-windows@^1.0.2: resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" @@ -4401,6 +8034,16 @@ is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" +is-yarn-global@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" + integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -4807,7 +8450,7 @@ jest-snapshot@^26.6.2: pretty-format "^26.6.2" semver "^7.3.2" -jest-util@^26.6.2: +jest-util@^26.1.0, jest-util@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== @@ -4862,7 +8505,7 @@ jest@^26.6.3: import-local "^3.0.2" jest-cli "^26.6.3" -js-tokens@^4.0.0: +"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== @@ -4917,7 +8560,17 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1: +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-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + +json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== @@ -4927,6 +8580,11 @@ json-schema-traverse@^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.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -4937,11 +8595,23 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + dependencies: + jsonify "~0.0.0" + json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= +json3@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== + json5@2.x, json5@^2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" @@ -4949,6 +8619,13 @@ json5@2.x, json5@^2.1.2: dependencies: minimist "^1.2.5" +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -4956,11 +8633,41 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= +jsonwebtoken@^8.5.1: + version "8.5.1" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" + integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^5.6.0" + jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" @@ -4971,6 +8678,114 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" +jss-plugin-camel-case@^10.5.1: + version "10.6.0" + resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.6.0.tgz#93d2cd704bf0c4af70cc40fb52d74b8a2554b170" + integrity sha512-JdLpA3aI/npwj3nDMKk308pvnhoSzkW3PXlbgHAzfx0yHWnPPVUjPhXFtLJzgKZge8lsfkUxvYSQ3X2OYIFU6A== + dependencies: + "@babel/runtime" "^7.3.1" + hyphenate-style-name "^1.0.3" + jss "10.6.0" + +jss-plugin-default-unit@^10.5.1: + version "10.6.0" + resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.6.0.tgz#af47972486819b375f0f3a9e0213403a84b5ef3b" + integrity sha512-7y4cAScMHAxvslBK2JRK37ES9UT0YfTIXWgzUWD5euvR+JR3q+o8sQKzBw7GmkQRfZijrRJKNTiSt1PBsLI9/w== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.6.0" + +jss-plugin-global@^10.5.1: + version "10.6.0" + resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.6.0.tgz#3e8011f760f399cbadcca7f10a485b729c50e3ed" + integrity sha512-I3w7ji/UXPi3VuWrTCbHG9rVCgB4yoBQLehGDTmsnDfXQb3r1l3WIdcO8JFp9m0YMmyy2CU7UOV6oPI7/Tmu+w== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.6.0" + +jss-plugin-nested@^10.5.1: + version "10.6.0" + resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.6.0.tgz#5f83c5c337d3b38004834e8426957715a0251641" + integrity sha512-fOFQWgd98H89E6aJSNkEh2fAXquC9aZcAVjSw4q4RoQ9gU++emg18encR4AT4OOIFl4lQwt5nEyBBRn9V1Rk8g== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.6.0" + tiny-warning "^1.0.2" + +jss-plugin-props-sort@^10.5.1: + version "10.6.0" + resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.6.0.tgz#297879f35f9fe21196448579fee37bcde28ce6bc" + integrity sha512-oMCe7hgho2FllNc60d9VAfdtMrZPo9n1Iu6RNa+3p9n0Bkvnv/XX5San8fTPujrTBScPqv9mOE0nWVvIaohNuw== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.6.0" + +jss-plugin-rule-value-function@^10.5.1: + version "10.6.0" + resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.6.0.tgz#3c1a557236a139d0151e70a82c810ccce1c1c5ea" + integrity sha512-TKFqhRTDHN1QrPTMYRlIQUOC2FFQb271+AbnetURKlGvRl/eWLswcgHQajwuxI464uZk91sPiTtdGi7r7XaWfA== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.6.0" + tiny-warning "^1.0.2" + +jss-plugin-vendor-prefixer@^10.5.1: + version "10.6.0" + resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.6.0.tgz#e1fcd499352846890c38085b11dbd7aa1c4f2c78" + integrity sha512-doJ7MouBXT1lypLLctCwb4nJ6lDYqrTfVS3LtXgox42Xz0gXusXIIDboeh6UwnSmox90QpVnub7au8ybrb0krQ== + dependencies: + "@babel/runtime" "^7.3.1" + css-vendor "^2.0.8" + jss "10.6.0" + +jss@10.6.0, jss@^10.5.1: + version "10.6.0" + resolved "https://registry.yarnpkg.com/jss/-/jss-10.6.0.tgz#d92ff9d0f214f65ca1718591b68e107be4774149" + integrity sha512-n7SHdCozmxnzYGXBHe0NsO0eUf9TvsHVq2MXvi4JmTn3x5raynodDVE/9VQmBdWFyyj9HpHZ2B4xNZ7MMy7lkw== + dependencies: + "@babel/runtime" "^7.3.1" + csstype "^3.0.2" + indefinite-observable "^2.0.1" + is-in-browser "^1.1.3" + tiny-warning "^1.0.2" + +"jsx-ast-utils@^2.4.1 || ^3.0.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" + integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q== + dependencies: + array-includes "^3.1.2" + object.assign "^4.1.2" + +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + dependencies: + json-buffer "3.0.0" + +killable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -5000,6 +8815,13 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +latest-version@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" + integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== + dependencies: + package-json "^6.3.0" + lerna@^3.22.1: version "3.22.1" resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.22.1.tgz#82027ac3da9c627fd8bf02ccfeff806a98e65b62" @@ -5045,6 +8867,17 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +light-my-request@^4.2.0: + version "4.4.1" + resolved "https://registry.yarnpkg.com/light-my-request/-/light-my-request-4.4.1.tgz#bfa2220316eef4f6465bf2f0667780da6b7f6a71" + integrity sha512-FDNRF2mYjthIRWE7O8d/X7AzDx4otQHl4/QXbu3Q/FRwBFcgb+ZoDaUd5HwN53uQXLAiw76osN+Va0NEaOW6rQ== + dependencies: + ajv "^6.12.2" + cookie "^0.4.0" + fastify-warning "^0.2.0" + readable-stream "^3.6.0" + set-cookie-parser "^2.4.1" + lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" @@ -5117,6 +8950,29 @@ load-json-file@^5.3.0: strip-bom "^3.0.0" type-fest "^0.3.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.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" + integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -5150,26 +9006,91 @@ lodash._reinterpolate@^3.0.0: resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= +lodash.assignwith@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz#127a97f02adc41751a954d24b0de17e100e038eb" + integrity sha1-EnqX8CrcQXUalU0ksN4X4QDgOOs= + lodash.clonedeep@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= +lodash.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.find@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" + integrity sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E= + lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= + lodash.ismatch@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= -lodash.memoize@4.x: +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= + +lodash.isundefined@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz#23ef3d9535565203a66cefd5b830f848911afb48" + integrity sha1-I+89lTVWUgOmbO/VuDD4SJEa+0g= + +lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + lodash.set@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" @@ -5195,15 +9116,25 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" +lodash.throttle@^4.0.1, lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= + +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: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.2.1: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== +lodash@4.x, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.2.1: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== log-symbols@^4.0.0: version "4.0.0" @@ -5222,6 +9153,18 @@ log-update@^4.0.0: slice-ansi "^4.0.0" wrap-ansi "^6.2.0" +loglevel@^1.6.8: + version "1.7.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" + integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== + +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" + loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" @@ -5230,6 +9173,23 @@ loud-rejection@^1.0.0: currently-unhandled "^0.4.1" signal-exit "^3.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" + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -5237,6 +9197,13 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + macos-release@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" @@ -5257,14 +9224,14 @@ make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" -make-dir@^3.0.0: +make-dir@^3.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" -make-error@1.x: +make-error@1.x, make-error@^1.1.1: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== @@ -5320,6 +9287,41 @@ map-visit@^1.0.0: dependencies: object-visit "^1.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== + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + +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.1.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.2.2.tgz#5de461389d596e3f23d48bb7c2afb6161f4df40e" + integrity sha512-RE0CwmIM3CEvpcdK3rZ19BC4E6hv9kADkMN5rPduRak58cNArWLi/9jFLsa4rhsjfVxMP3v0jO7FHXq7SvFY5Q== + dependencies: + fs-monkey "1.0.3" + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-pager@^1.0.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" + integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== + meow@^3.3.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -5370,6 +9372,11 @@ meow@^7.0.0: type-fest "^0.13.1" yargs-parser "^18.1.3" +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + 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" @@ -5380,13 +9387,10 @@ merge2@^1.2.3, merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@4.x, micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" +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@^3.1.10, micromatch@^3.1.4: version "3.1.10" @@ -5407,11 +9411,24 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + mime-db@1.44.0: version "1.44.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== +mime-db@1.47.0, "mime-db@>= 1.43.0 < 2": + version "1.47.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" + integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== + mime-types@^2.1.12, mime-types@~2.1.19: version "2.1.27" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" @@ -5419,6 +9436,23 @@ mime-types@^2.1.12, mime-types@~2.1.19: dependencies: mime-db "1.44.0" +mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.24: + version "2.1.30" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" + integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== + dependencies: + mime-db "1.47.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.3.1, mime@^2.4.4: + version "2.5.2" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" + integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== + mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" @@ -5429,11 +9463,29 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + min-indent@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== +mini-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" @@ -5514,7 +9566,7 @@ mkdirp@*, mkdirp@1.x: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mkdirp@^0.5.0, mkdirp@^0.5.1: +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -5526,6 +9578,19 @@ modify-values@^1.0.0: resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== +mongodb@^3.6.8: + version "3.6.8" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.6.8.tgz#3e2632af81915b3ff99b7681121ca0895e8ed407" + integrity sha512-sDjJvI73WjON1vapcbyBD3Ao9/VN3TKYY8/QX9EPbs22KaCSrQ5rXo5ZZd44tWJ3wl3FlnrFZ+KyUtNH6+1ZPQ== + dependencies: + bl "^2.2.1" + bson "^1.1.4" + denque "^1.4.1" + optional-require "^1.0.3" + safe-buffer "^5.1.2" + optionalDependencies: + saslprep "^1.0.0" + move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -5543,11 +9608,51 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@^2.0.0, ms@^2.1.1: +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, ms@^2.0.0, ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +mui-datatables@^3.7.7: + version "3.7.7" + resolved "https://registry.yarnpkg.com/mui-datatables/-/mui-datatables-3.7.7.tgz#37498a100f8fa41911478c8248f891aec61bab6b" + integrity sha512-IHK6snQybKdyZET2G1ODN3cCrFE6u2TUk/wIGUMq7+vANXAALYjh7EXeJtesYmzR/7R7ctv4/V8uARraSQMKPg== + dependencies: + "@babel/runtime-corejs3" "^7.12.1" + clsx "^1.1.1" + lodash.assignwith "^4.2.0" + lodash.clonedeep "^4.5.0" + lodash.debounce "^4.0.8" + lodash.find "^4.6.0" + lodash.get "^4.4.2" + lodash.isequal "^4.5.0" + lodash.isundefined "^3.0.1" + lodash.memoize "^4.1.2" + lodash.merge "^4.6.2" + prop-types "^15.7.2" + react-dnd "^11.1.3" + react-dnd-html5-backend "^11.1.3" + react-sortable-tree "^2.7.1" + react-to-print "^2.8.0" + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + multimatch@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-3.0.0.tgz#0e2534cc6bc238d9ab67e1b9cd5fcd85a6dbf70b" @@ -5577,6 +9682,11 @@ mz@^2.5.0: object-assign "^4.0.1" thenify-all "^1.0.0" +nan@^2.12.1: + version "2.14.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" + integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -5599,16 +9709,34 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + neo-async@^2.6.0: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== +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-fetch-npm@^2.0.2: version "2.0.4" resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4" @@ -5618,11 +9746,16 @@ node-fetch-npm@^2.0.2: json-parse-better-errors "^1.0.0" safe-buffer "^5.1.1" -node-fetch@^2.3.0, node-fetch@^2.5.0: +node-fetch@^2.3.0, node-fetch@^2.5.0, node-fetch@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" + integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== + node-gyp@^5.0.2: version "5.1.1" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.1.1.tgz#eb915f7b631c937d282e33aed44cb7a025f62a3e" @@ -5662,6 +9795,27 @@ node-notifier@^8.0.0: uuid "^8.3.0" which "^2.0.2" +node-releases@^1.1.71: + version "1.1.71" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" + integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== + +nodemon@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.7.tgz#6f030a0a0ebe3ea1ba2a38f71bf9bab4841ced32" + integrity sha512-XHzK69Awgnec9UzHr1kc8EomQh4sjTQ8oRf8TsGrSmHDx9/UmiGG9E/mM3BuTfNeFwdNBvrqQq/RHL0xIeyFOA== + dependencies: + chokidar "^3.2.2" + debug "^3.2.6" + ignore-by-default "^1.0.1" + minimatch "^3.0.4" + pstree.remy "^1.1.7" + semver "^5.7.1" + supports-color "^5.5.0" + touch "^3.1.0" + undefsafe "^2.0.3" + update-notifier "^4.1.0" + nopt@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" @@ -5670,6 +9824,13 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" +nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" + integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= + dependencies: + abbrev "1" + normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -5687,7 +9848,7 @@ normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0: +normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -5697,6 +9858,11 @@ normalize-url@^3.3.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== +normalize-url@^4.1.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" + integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + npm-bundled@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" @@ -5758,7 +9924,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -npm-run-path@^4.0.0: +npm-run-path@^4.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== @@ -5775,6 +9941,13 @@ npmlog@^4.1.2: gauge "~2.7.3" set-blocking "~2.0.0" +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + 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" @@ -5790,7 +9963,7 @@ oauth-sign@~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.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= @@ -5809,6 +9982,19 @@ object-inspect@^1.7.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== +object-inspect@^1.9.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.2.tgz#b6385a3e2b7cae0b5eafcf90cddf85d128767f30" + integrity sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA== + +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.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -5831,6 +10017,36 @@ object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" +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" + +object.entries@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" + integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + has "^1.0.3" + +object.fromentries@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" + integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + has "^1.0.3" + object.getownpropertydescriptors@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" @@ -5839,6 +10055,15 @@ object.getownpropertydescriptors@^2.0.3: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" +object.getownpropertydescriptors@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" + integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" @@ -5846,11 +10071,38 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" +object.values@^1.1.0, object.values@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" + integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + has "^1.0.3" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + octokit-pagination-methods@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4" integrity sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ== +on-finished@~2.3.0: + 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" @@ -5872,11 +10124,35 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" +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" + opencollective-postinstall@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89" integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw== +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +opn@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== + dependencies: + is-wsl "^1.1.0" + +optional-require@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/optional-require/-/optional-require-1.0.3.tgz#275b8e9df1dc6a17ad155369c2422a440f89cb07" + integrity sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA== + optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -5901,6 +10177,13 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" +original@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== + dependencies: + url-parse "^1.4.3" + os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -5927,6 +10210,11 @@ osenv@^0.1.4, osenv@^0.1.5: os-homedir "^1.0.0" os-tmpdir "^1.0.0" +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + p-each-series@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" @@ -5951,6 +10239,13 @@ p-limit@^2.0.0, p-limit@^2.2.0: dependencies: p-try "^2.0.0" +p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -5979,7 +10274,7 @@ p-map-series@^1.0.0: dependencies: p-reduce "^1.0.0" -p-map@^2.1.0: +p-map@^2.0.0, p-map@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== @@ -6008,6 +10303,13 @@ p-reduce@^1.0.0: resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= +p-retry@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" + integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== + dependencies: + retry "^0.12.0" + p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -6025,6 +10327,16 @@ p-waterfall@^1.0.0: dependencies: p-reduce "^1.0.0" +package-json@^6.3.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" + integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== + dependencies: + got "^9.6.0" + registry-auth-token "^4.0.0" + registry-url "^5.0.0" + semver "^6.2.0" + parallel-transform@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" @@ -6034,6 +10346,14 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" +param-case@^3.0.3: + 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" @@ -6094,6 +10414,19 @@ parse5@5.1.1: resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + 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" + pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" @@ -6126,6 +10459,11 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= +path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" @@ -6141,6 +10479,18 @@ path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-to-regexp@^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@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" @@ -6199,6 +10549,23 @@ pinkie@^2.0.0: resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= +pino-std-serializers@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz#b56487c402d882eb96cd67c257868016b61ad671" + integrity sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg== + +pino@^6.2.1: + version "6.11.3" + resolved "https://registry.yarnpkg.com/pino/-/pino-6.11.3.tgz#0c02eec6029d25e6794fdb6bbea367247d74bc29" + integrity sha512-drPtqkkSf0ufx2gaea3TryFiBHdNIdXKf5LN0hTM82SXI4xVIve2wLwNg92e1MT6m3jASLu6VO7eGY6+mmGeyw== + dependencies: + fast-redact "^3.0.0" + fast-safe-stringify "^2.0.7" + flatstr "^1.0.12" + pino-std-serializers "^3.1.0" + quick-format-unescaped "^4.0.3" + sonic-boom "^1.0.2" + pirates@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" @@ -6213,7 +10580,7 @@ pkg-dir@^3.0.0: dependencies: find-up "^3.0.0" -pkg-dir@^4.2.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== @@ -6227,11 +10594,30 @@ please-upgrade-node@^3.2.0: dependencies: semver-compare "^1.0.0" +popper.js@1.16.1-lts: + version "1.16.1-lts" + resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1-lts.tgz#cf6847b807da3799d80ee3d6d2f90df8a3f50b05" + integrity sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA== + +portfinder@^1.0.26: + version "1.0.28" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= +postcss-value-parser@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -6242,6 +10628,11 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + prettier-linter-helpers@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" @@ -6249,10 +10640,18 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" - integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg== +prettier@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.0.tgz#b6a5bf1284026ae640f17f7ff5658a7567fc0d18" + integrity sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w== + +pretty-error@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== + dependencies: + lodash "^4.17.20" + renderkid "^2.0.4" pretty-format@^25.2.1, pretty-format@^25.5.0: version "25.5.0" @@ -6312,10 +10711,19 @@ promzard@^0.3.0: dependencies: read "1" +prop-types@^15.5.9, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: + version "15.7.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" + property-expr@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.2.tgz#fff2a43919135553a3bc2fdd94bdb841965b2330" - integrity sha512-bc/5ggaYZxNkFKj374aLbEDqVADdYaLcFo8XBkishUWbaAdjlphaBFns9TvRA2pUseVL/wMFmui9X3IdNDU37g== + version "2.0.4" + resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.4.tgz#37b925478e58965031bb612ec5b3260f8241e910" + integrity sha512-sFPkHQjVKheDNnPvotjQmm3KD3uk1fWKUN7CrpdbwmUx3CrG3QiM8QpTSimvig5vTXmTvjz7+TDvXOI9+4rkcg== proto-list@~1.2.1: version "1.2.4" @@ -6334,11 +10742,29 @@ protoduck@^5.0.1: dependencies: genfun "^5.0.0" +proxy-addr@~2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" + integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + psl@^1.1.28: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== +pstree.remy@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" + integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== + pump@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" @@ -6364,21 +10790,58 @@ pumpify@^1.3.3: inherits "^2.0.3" pump "^2.0.0" +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -q@^1.5.1: +pupa@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" + integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== + dependencies: + escape-goat "^2.0.0" + +q@^1.1.2, q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + qs@~6.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= + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +queue-microtask@^1.1.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-format-unescaped@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.3.tgz#6d6b66b8207aa2b35eef12be1421bb24c428f652" + integrity sha512-MaL/oqh02mhEo5m5J2rwsVL23Iw2PEaGVHgT2vFt8AAsr0lfvQA5dpXo9TPu0rz7tSBdUPgkbam0j/fj5ZM8yg== + quick-lru@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" @@ -6389,16 +10852,228 @@ quick-lru@^4.0.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== -react-is@^16.12.0: +raf@^3.2.0, raf@^3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + dependencies: + performance-now "^2.1.0" + +randombytes@^2.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.8: + 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-display-name@^0.2.0: + version "0.2.5" + resolved "https://registry.yarnpkg.com/react-display-name/-/react-display-name-0.2.5.tgz#304c7cbfb59ee40389d436e1a822c17fe27936c6" + integrity sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg== + +react-dnd-html5-backend@^11.1.3: + version "11.1.3" + resolved "https://registry.yarnpkg.com/react-dnd-html5-backend/-/react-dnd-html5-backend-11.1.3.tgz#2749f04f416ec230ea193f5c1fbea2de7dffb8f7" + integrity sha512-/1FjNlJbW/ivkUxlxQd7o3trA5DE33QiRZgxent3zKme8DwF4Nbw3OFVhTRFGaYhHFNL1rZt6Rdj1D78BjnNLw== + dependencies: + dnd-core "^11.1.3" + +react-dnd@^11.1.3: + version "11.1.3" + resolved "https://registry.yarnpkg.com/react-dnd/-/react-dnd-11.1.3.tgz#f9844f5699ccc55dfc81462c2c19f726e670c1af" + integrity sha512-8rtzzT8iwHgdSC89VktwhqdKKtfXaAyC4wiqp0SywpHG12TTLvfOoL6xNEIUWXwIEWu+CFfDn4GZJyynCEuHIQ== + dependencies: + "@react-dnd/shallowequal" "^2.0.0" + "@types/hoist-non-react-statics" "^3.3.1" + dnd-core "^11.1.3" + hoist-non-react-statics "^3.3.0" + +react-dom@^16.3.0: + version "16.14.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" + integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.19.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-is@16.10.2: + version "16.10.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.10.2.tgz#984120fd4d16800e9a738208ab1fba422d23b5ab" + integrity sha512-INBT1QEgtcCCgvccr5/86CfD71fw9EPmDxgiJX4I2Ddr6ZsV6iFXsuby+qWJPtmNuMY0zByTsG4468P7nHuNWA== + +react-is@^16.12.0, 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@^16.8.0 || ^17.0.0": + 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-is@^17.0.1: version "17.0.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== +react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + +react-resize-detector@^6.6.3: + version "6.7.0" + resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-6.7.0.tgz#d8f01a56d3d1e75944582c0ff3abb24ccec347a5" + integrity sha512-cUNQHkt1lEpC/Wo7Faf46pOK4rg+RG2Imdy+CBndHjhaMCfO2vRe59xe/a9EOJJnuJDqAkZCXd3KbN5ibPtepQ== + dependencies: + "@types/resize-observer-browser" "^0.1.5" + lodash.debounce "^4.0.8" + lodash.throttle "^4.1.1" + resize-observer-polyfill "^1.5.1" + +react-router-dom@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.2.0.tgz#9e65a4d0c45e13289e66c7b17c7e175d0ea15662" + integrity sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA== + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.2.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-router@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.0.tgz#424e75641ca8747fbf76e5ecca69781aa37ea293" + integrity sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw== + dependencies: + "@babel/runtime" "^7.1.2" + 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-smooth@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/react-smooth/-/react-smooth-2.0.0.tgz#561647b33e498b2e25f449b3c6689b2e9111bf91" + integrity sha512-wK4dBBR6P21otowgMT9toZk+GngMplGS1O5gk+2WSiHEXIrQgDvhR5IIlT74Vtu//qpTcipkgo21dD7a7AUNxw== + dependencies: + fast-equals "^2.0.0" + raf "^3.4.0" + react-transition-group "2.9.0" + +react-sortable-tree@^2.7.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/react-sortable-tree/-/react-sortable-tree-2.8.0.tgz#9901711778628d0546c045f845216480507c366a" + integrity sha512-gTjwxRNt7z0FC76KeNTnGqx1qUSlV3N78mMPRushBpSUXzZYhiFNsWHUIruyPnaAbw4SA7LgpItV7VieAuwDpw== + dependencies: + frontend-collective-react-dnd-scrollzone "^1.0.2" + lodash.isequal "^4.5.0" + prop-types "^15.6.1" + react-dnd "^11.1.3" + react-dnd-html5-backend "^11.1.3" + react-lifecycles-compat "^3.0.4" + react-virtualized "^9.21.2" + +react-to-print@^2.8.0: + version "2.12.4" + resolved "https://registry.yarnpkg.com/react-to-print/-/react-to-print-2.12.4.tgz#d9ed1447719c321798896040b0945a5c73a8f0c1" + integrity sha512-OM0nttpZMv3NV+z9FDRyyJIPRHlz05NzlTFoUKPREq+Bq4CnojwzUtB2qNzpwYerXPFzgYXR4/IT1W1mk9s9HA== + dependencies: + prop-types "^15.7.2" + +react-transition-group@2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d" + integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg== + dependencies: + dom-helpers "^3.4.0" + loose-envify "^1.4.0" + prop-types "^15.6.2" + react-lifecycles-compat "^3.0.4" + +react-transition-group@^4.4.0: + version "4.4.1" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9" + integrity sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + +react-virtualized@^9.21.2: + version "9.22.3" + resolved "https://registry.yarnpkg.com/react-virtualized/-/react-virtualized-9.22.3.tgz#f430f16beb0a42db420dbd4d340403c0de334421" + integrity sha512-MKovKMxWTcwPSxE1kK1HcheQTWfuCxAuBoSTf2gwyMM21NdX/PXUhnoP8Uc5dRKd+nKm8v41R36OellhdCpkrw== + dependencies: + "@babel/runtime" "^7.7.2" + clsx "^1.0.4" + dom-helpers "^5.1.3" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-lifecycles-compat "^3.0.4" + +react@^16.3.0: + version "16.14.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" + integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + 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-cmd-shim@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz#87e43eba50098ba5a32d0ceb583ab8e43b961c16" @@ -6487,7 +11162,7 @@ read@1, read@~1.0.1: dependencies: mute-stream "~0.0.4" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -6500,7 +11175,7 @@ read@1, read@~1.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -"readable-stream@2 || 3", readable-stream@^3.0.2: +"readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -6519,6 +11194,55 @@ readdir-scoped-modules@^1.0.0: graceful-fs "^4.1.2" once "^1.3.0" +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + +recharts-scale@^0.4.4: + version "0.4.5" + resolved "https://registry.yarnpkg.com/recharts-scale/-/recharts-scale-0.4.5.tgz#0969271f14e732e642fcc5bd4ab270d6e87dd1d9" + integrity sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w== + dependencies: + decimal.js-light "^2.4.1" + +recharts@^2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/recharts/-/recharts-2.0.9.tgz#048068eb01383291104548388712026948275f70" + integrity sha512-JNsXE80PuF3hugUCE7JqDOMSvu5xQLxtjOaqFKKZI2pCJ1PVJzhwDv4TWk0nO4AvADbeWzYEHbg8C5Hcrh42UA== + dependencies: + "@types/d3-scale" "^3.0.0" + "@types/d3-shape" "^2.0.0" + classnames "^2.2.5" + d3-interpolate "^2.0.1" + d3-scale "^3.2.3" + d3-shape "^2.0.0" + eventemitter3 "^4.0.1" + lodash "^4.17.19" + react-is "16.10.2" + react-resize-detector "^6.6.3" + react-smooth "^2.0.0" + recharts-scale "^0.4.4" + reduce-css-calc "^2.1.8" + +rechoir@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca" + integrity sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q== + dependencies: + resolve "^1.9.0" + redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" @@ -6543,11 +11267,50 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" +reduce-css-calc@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz#7ef8761a28d614980dc0c982f772c93f7a99de03" + integrity sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg== + dependencies: + css-unit-converter "^1.1.1" + postcss-value-parser "^3.3.0" + +redux@^4.0.4: + version "4.1.0" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.1.0.tgz#eb049679f2f523c379f1aff345c8612f294c88d4" + integrity sha512-uI2dQN43zqLWCt6B/BMGRMY6db7TTY4qeHHfGeKb3EOhmOKjU3KdWvNLJyqaHRksv/ErdNH7cFZWg9jXtewy4g== + dependencies: + "@babel/runtime" "^7.9.2" + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.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.4: version "0.13.5" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== +regenerator-runtime@^0.13.7: + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + dependencies: + "@babel/runtime" "^7.8.4" + regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -6556,16 +11319,78 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: + 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" + regexpp@^3.0.0, regexpp@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + +registry-auth-token@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" + integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== + dependencies: + rc "^1.2.8" + +registry-url@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" + integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== + dependencies: + rc "^1.2.8" + +regjsgen@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + +regjsparser@^0.6.4: + version "0.6.9" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6" + integrity sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ== + 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@^2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.5.tgz#483b1ac59c6601ab30a7a596a5965cabccfdd0a5" + integrity sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ== + dependencies: + css-select "^2.0.2" + dom-converter "^0.2" + htmlparser2 "^3.10.1" + lodash "^4.17.20" + strip-ansi "^3.0.0" + repeat-element@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" @@ -6630,11 +11455,26 @@ require-directory@^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== + require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" @@ -6664,6 +11504,11 @@ resolve-from@^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-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" @@ -6676,6 +11521,14 @@ resolve@^1.10.0, resolve@^1.3.2: dependencies: path-parse "^1.0.6" +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" + resolve@^1.18.1: version "1.19.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" @@ -6684,6 +11537,21 @@ resolve@^1.18.1: is-core-module "^2.1.0" path-parse "^1.0.6" +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -6705,22 +11573,30 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== +ret@~0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.2.2.tgz#b6861782a1f4762dce43402a71eb7a283f44573c" + integrity sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ== + retry@^0.10.0: version "0.10.1" resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" +rfdc@^1.1.4, rfdc@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3: version "2.7.1" @@ -6765,15 +11641,22 @@ rxjs@^6.4.0, rxjs@^6.5.5: dependencies: tslib "^1.9.0" -safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -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-regex2@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/safe-regex2/-/safe-regex2-2.0.0.tgz#b287524c397c7a2994470367e0185e1916b1f5b9" + integrity sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ== + dependencies: + ret "~0.2.0" safe-regex@^1.1.0: version "1.1.0" @@ -6802,6 +11685,18 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" +saslprep@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226" + integrity sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag== + dependencies: + sparse-bitfield "^3.0.3" + +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + saxes@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" @@ -6809,36 +11704,176 @@ saxes@^5.0.0: dependencies: xmlchars "^2.2.0" +scheduler@^0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" + integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +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.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.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: + version "3.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" + integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== + dependencies: + "@types/json-schema" "^7.0.6" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +secure-json-parse@^2.0.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.4.0.tgz#5aaeaaef85c7a417f76271a4f5b0cc3315ddca85" + integrity sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg== + +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.8: + version "1.10.8" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" + integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w== + dependencies: + node-forge "^0.10.0" + semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= +semver-diff@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" + integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== + dependencies: + semver "^6.3.0" + semver-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw== +semver-store@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/semver-store/-/semver-store-0.3.0.tgz#ce602ff07df37080ec9f4fb40b29576547befbe9" + integrity sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg== + "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + semver@7.x, semver@^7.2.1, semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +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@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + 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, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= +set-cookie-parser@^2.4.1: + version "2.4.8" + resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.4.8.tgz#d0da0ed388bc8f24e706a391f9c9e252a13c58b2" + integrity sha512-edRH8mBKEWNVIVMKejNnuJxleqYE/ZSdcT8/Nem9/mmosx12pctd80s2Oy00KNZzrogMZS5mauK2/ymL1bvlvg== + set-value@^2.0.0, set-value@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" @@ -6849,6 +11884,16 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" +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" @@ -6885,11 +11930,29 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== -signal-exit@^3.0.0, signal-exit@^3.0.2: +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.2, signal-exit@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== +sirv@^1.0.7: + version "1.0.12" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.12.tgz#d816c882b35489b3c63290e2f455ae3eccd5f652" + integrity sha512-+jQoCxndz7L2tqQL4ZyzfDhky0W/4ZJip3XoOuxyQWnAwMxindLl3Xv1qT4x1YX/re0leShvTm8Uk0kQspGhBg== + dependencies: + "@polka/url" "^1.0.0-next.15" + mime "^2.3.1" + totalist "^1.0.0" + sisteransi@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -6905,15 +11968,6 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - slice-ansi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" @@ -6972,6 +12026,27 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" +sockjs-client@^1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.1.tgz#256908f6d5adfb94dabbdbd02c66362cca0f9ea6" + integrity sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ== + dependencies: + debug "^3.2.6" + eventsource "^1.0.7" + faye-websocket "^0.11.3" + inherits "^2.0.4" + json3 "^3.3.3" + url-parse "^1.5.1" + +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" + socks-proxy-agent@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386" @@ -6988,6 +12063,14 @@ socks@~2.3.2: ip "1.1.5" smart-buffer "^4.1.0" +sonic-boom@^1.0.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-1.4.1.tgz#d35d6a74076624f12e6f917ade7b9d75e918f53e" + integrity sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg== + dependencies: + atomic-sleep "^1.0.0" + flatstr "^1.0.12" + sort-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" @@ -6995,6 +12078,11 @@ sort-keys@^2.0.0: dependencies: is-plain-obj "^1.0.0" +source-list-map@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + source-map-resolve@^0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" @@ -7006,7 +12094,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.6: +source-map-support@^0.5.17, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.19: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== @@ -7019,21 +12107,28 @@ source-map-url@^0.4.0: resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= -source-map@^0.5.0, source-map@^0.5.6: +source-map@^0.5.0, source-map@^0.5.6, 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.1: +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3: +source-map@^0.7.3, 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== +sparse-bitfield@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" + integrity sha1-/0rm5oZWBWuks+eSqzM004JzyhE= + dependencies: + memory-pager "^1.0.2" + spdx-correct@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" @@ -7060,6 +12155,29 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.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" + split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -7102,12 +12220,17 @@ sshpk@^1.7.0: tweetnacl "~0.14.0" ssri@^6.0.0, ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== + version "6.0.2" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" + integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== dependencies: figgy-pudding "^3.5.1" +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + stack-utils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593" @@ -7123,6 +12246,11 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" +"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= + stealthy-require@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" @@ -7154,6 +12282,11 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" +string-similarity@^4.0.1: + version "4.0.4" + resolved "https://registry.yarnpkg.com/string-similarity/-/string-similarity-4.0.4.tgz#42d01ab0b34660ea8a018da8f56a3309bb8b2a5b" + integrity sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ== + string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -7180,6 +12313,15 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^4.0.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + string-width@^4.1.0, string-width@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" @@ -7189,6 +12331,19 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string.prototype.matchall@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" + integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + has-symbols "^1.0.1" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" + string.prototype.trimend@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" @@ -7197,6 +12352,14 @@ string.prototype.trimend@^1.0.1: define-properties "^1.1.3" es-abstract "^1.17.5" +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.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" @@ -7205,6 +12368,14 @@ string.prototype.trimstart@^1.0.1: define-properties "^1.1.3" es-abstract "^1.17.5" +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" @@ -7307,6 +12478,11 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + strong-log-transformer@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" @@ -7316,13 +12492,25 @@ strong-log-transformer@^2.0.0: minimist "^1.2.0" through "^2.3.4" -supports-color@^5.3.0: +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, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + supports-color@^7.0.0, supports-color@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" @@ -7338,6 +12526,35 @@ supports-hyperlinks@^2.0.0: has-flag "^4.0.0" supports-color "^7.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@^1.2.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.37" + csso "^4.0.2" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + +symbol-observable@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" @@ -7348,15 +12565,27 @@ synchronous-promise@^2.0.10: resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.13.tgz#9d8c165ddee69c5a6542862b405bc50095926702" integrity sha512-R9N6uDkVsghHePKh1TEqbnLddO2IY25OcsksyFp/qBe7XYd0PVbKEWxhcdMhpLzE1I6skj5l4aEZ3CRxcbArlA== -table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== +table@^6.0.9: + version "6.7.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" + integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" + 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" + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b" + integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: version "4.4.13" @@ -7388,6 +12617,11 @@ temp-write@^3.4.0: temp-dir "^1.0.0" uuid "^3.0.1" +term-size@^2.1.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" + integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== + terminal-link@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" @@ -7396,6 +12630,36 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" +terser-webpack-plugin@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz#7effadee06f7ecfa093dbbd3e9ab23f5f3ed8673" + integrity sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q== + dependencies: + jest-worker "^26.6.2" + p-limit "^3.1.0" + schema-utils "^3.0.0" + serialize-javascript "^5.0.1" + source-map "^0.6.1" + terser "^5.5.1" + +terser@^4.6.3: + version "4.8.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +terser@^5.5.1: + version "5.7.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.0.tgz#a761eeec206bc87b605ab13029876ead938ae693" + integrity sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.19" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -7454,6 +12718,26 @@ through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +tiny-invariant@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" + integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw== + +tiny-lru@^7.0.0: + version "7.0.6" + resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-7.0.6.tgz#b0c3cdede1e5882aa2d1ae21cb2ceccf2a331f24" + integrity sha512-zNYO0Kvgn5rXzWpL0y3RS09sMK67eGaQj9805jlK9G6pSadfriTczzLHFXa/xcW4mIRfmlB9HyQ/+SgL0V1uow== + +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== + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -7478,6 +12762,11 @@ to-object-path@^0.3.0: dependencies: kind-of "^3.0.2" +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" @@ -7503,11 +12792,28 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.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= +totalist@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" + integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== + +touch@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" + integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== + dependencies: + nopt "~1.0.10" + tough-cookie@^2.3.3, tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" @@ -7559,27 +12865,67 @@ trim-off-newlines@^1.0.0: resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= -ts-jest@^26.1.1: - version "26.1.1" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.1.1.tgz#b98569b8a4d4025d966b3d40c81986dd1c510f8d" - integrity sha512-Lk/357quLg5jJFyBQLnSbhycnB3FPe+e9i7ahxokyXxAYoB0q1pPmqxxRPYr4smJic1Rjcf7MXDBhZWgxlli0A== +ts-jest@^26.5.6: + version "26.5.6" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.6.tgz#c32e0746425274e1dfe333f43cd3c800e014ec35" + integrity sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA== dependencies: bs-logger "0.x" buffer-from "1.x" fast-json-stable-stringify "2.x" + jest-util "^26.1.0" json5 "2.x" - lodash.memoize "4.x" + lodash "4.x" make-error "1.x" - micromatch "4.x" mkdirp "1.x" semver "7.x" - yargs-parser "18.x" + yargs-parser "20.x" + +ts-json-schema-generator@^0.92.0: + version "0.92.0" + resolved "https://registry.yarnpkg.com/ts-json-schema-generator/-/ts-json-schema-generator-0.92.0.tgz#a77dd06ad6ba302d7fddb9fa18ad9754994c6b71" + integrity sha512-tuk8I+UF/r2RpgyWxKjlKa+q8JQqTbSZ5iuWnf4TYzJkyH0tgPgynGy0jkWHotNZgbT6+TPvzlShXo5aXgI6Iw== + dependencies: + "@types/json-schema" "^7.0.7" + commander "^7.2.0" + fast-json-stable-stringify "^2.1.0" + glob "^7.1.6" + json-stable-stringify "^1.0.1" + typescript "~4.2.4" + +ts-node@8.9.1: + version "8.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.9.1.tgz#2f857f46c47e91dcd28a14e052482eb14cfd65a5" + integrity sha512-yrq6ODsxEFTLz0R3BX2myf0WBCSQh9A+py8PBo1dCzWIOcvisbyH6akNKqDHMgXePF2kir5mm5JXJTH3OUJYOQ== + dependencies: + arg "^4.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +ts-node@^9.1.1: + version "9.1.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== + dependencies: + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" tslib@^1.8.1, tslib@^1.9.0: version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== +tslib@^2.0.3: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c" + integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== + tsutils@^3.17.1: version "3.17.1" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" @@ -7628,6 +12974,11 @@ type-fest@^0.13.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + type-fest@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" @@ -7643,6 +12994,14 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +type-is@~1.6.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" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -7655,10 +13014,15 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5" - integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg== +typescript@3.9.3: + version "3.9.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.3.tgz#d3ac8883a97c26139e42df5e93eeece33d610b8a" + integrity sha512-D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ== + +typescript@^4.2.4, typescript@~4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" + integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== uglify-js@^3.1.4: version "3.9.4" @@ -7677,6 +13041,46 @@ umask@^1.1.0: resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" integrity sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0= +unbox-primitive@^1.0.0: + 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" + +undefsafe@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.3.tgz#6b166e7094ad46313b2202da7ecc2cd7cc6e7aae" + integrity sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A== + dependencies: + debug "^2.2.0" + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== + union-value@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" @@ -7701,6 +13105,21 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" + +universal-github-app-jwt@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/universal-github-app-jwt/-/universal-github-app-jwt-1.1.0.tgz#0abaa876101cdf1d3e4c546be2768841c0c1b514" + integrity sha512-3b+ocAjjz4JTyqaOT+NNBd5BtTuvJTxWElIoeHSVelUV9J3Jp7avmQTdLKCaoqi/5Ox2o/q+VK19TJ233rVXVQ== + dependencies: + "@types/jsonwebtoken" "^8.3.3" + jsonwebtoken "^8.5.1" + universal-user-agent@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-4.0.1.tgz#fd8d6cb773a679a709e967ef8288a31fcc03e557" @@ -7715,11 +13134,31 @@ universal-user-agent@^5.0.0: dependencies: os-name "^3.1.0" +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" @@ -7728,11 +13167,49 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -upath@^1.2.0: +upath@^1.1.1, upath@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== +update-notifier@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.0.tgz#4866b98c3bc5b5473c020b1250583628f9a328f3" + integrity sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew== + dependencies: + boxen "^4.2.0" + chalk "^3.0.0" + configstore "^5.0.1" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.3.1" + is-npm "^4.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.0.0" + pupa "^2.0.1" + semver-diff "^3.1.1" + xdg-basedir "^4.0.0" + +update-notifier@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3" + integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A== + dependencies: + boxen "^4.2.0" + chalk "^3.0.0" + configstore "^5.0.1" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.3.1" + is-npm "^4.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.0.0" + pupa "^2.0.1" + semver-diff "^3.1.1" + xdg-basedir "^4.0.0" + uri-js@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" @@ -7745,6 +13222,29 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + dependencies: + prepend-http "^2.0.0" + +url-parse@^1.4.3, url-parse@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b" + integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -7762,7 +13262,35 @@ util-promisify@^2.1.0: dependencies: object.getownpropertydescriptors "^2.0.3" -uuid@^3.0.1, uuid@^3.3.2: +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.0.1, uuid@^3.3.2, 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== @@ -7777,6 +13305,11 @@ v8-compile-cache@^2.0.3: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== +v8-compile-cache@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + v8-to-istanbul@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07" @@ -7801,6 +13334,28 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" +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, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +vercel@^21.3.3: + version "21.3.3" + resolved "https://registry.yarnpkg.com/vercel/-/vercel-21.3.3.tgz#22af77308cf612699c652ad49ecedc60eaa0b38f" + integrity sha512-NhxhAmpUoymKQp2WT0PR+NgFPcoVRuhYJ7HSSPKP+S0UCQtZNhy9YCeMkbBzooAw9rrb8gEH+ODEbhK0u5YlFg== + dependencies: + "@vercel/build-utils" "2.10.1" + "@vercel/go" "1.2.2" + "@vercel/node" "1.9.1" + "@vercel/python" "2.0.1" + "@vercel/ruby" "1.2.6" + update-notifier "4.1.0" + verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" @@ -7831,6 +13386,21 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.x" +watchpack@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.1.tgz#e99630550fca07df9f90a06056987baa40a689c7" + integrity sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw== + 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" + wcwidth@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" @@ -7853,6 +13423,158 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== +webpack-bundle-analyzer@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz#39898cf6200178240910d629705f0f3493f7d666" + integrity sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ== + dependencies: + acorn "^8.0.4" + acorn-walk "^8.0.0" + chalk "^4.1.0" + commander "^6.2.0" + gzip-size "^6.0.0" + lodash "^4.17.20" + opener "^1.5.2" + sirv "^1.0.7" + ws "^7.3.1" + +webpack-cli@^4.3.1: + version "4.6.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.6.0.tgz#27ae86bfaec0cf393fcfd58abdc5a229ad32fd16" + integrity sha512-9YV+qTcGMjQFiY7Nb1kmnupvb1x40lfpj8pwdO/bom+sQiP4OBMKjHq29YQrlDWDPZO9r/qWaRRywKaRDKqBTA== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^1.0.2" + "@webpack-cli/info" "^1.2.3" + "@webpack-cli/serve" "^1.3.1" + colorette "^1.2.1" + commander "^7.0.0" + enquirer "^2.3.6" + 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" + +webpack-dev-middleware@^3.7.2: + version "3.7.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" + integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== + dependencies: + memory-fs "^0.4.1" + mime "^2.4.4" + mkdirp "^0.5.1" + range-parser "^1.2.1" + webpack-log "^2.0.0" + +webpack-dev-server@^3.11.1: + version "3.11.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz#695ebced76a4929f0d5de7fd73fafe185fe33708" + integrity sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ== + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.1.8" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + debug "^4.1.1" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.3.1" + http-proxy-middleware "0.19.1" + import-local "^2.0.0" + internal-ip "^4.3.0" + ip "^1.1.5" + is-absolute-url "^3.0.3" + killable "^1.0.1" + loglevel "^1.6.8" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.26" + schema-utils "^1.0.0" + selfsigned "^1.10.8" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "^0.3.21" + sockjs-client "^1.5.0" + spdy "^4.0.2" + strip-ansi "^3.0.1" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.7.2" + webpack-log "^2.0.0" + ws "^6.2.1" + yargs "^13.3.2" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-merge@^5.7.3: + version "5.7.3" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.3.tgz#2a0754e1877a25a8bbab3d2475ca70a052708213" + integrity sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA== + dependencies: + clone-deep "^4.0.1" + wildcard "^2.0.0" + +webpack-sources@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac" + integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w== + dependencies: + source-list-map "^2.0.1" + source-map "^0.6.1" + +webpack@^5.11.1: + version "5.36.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.36.0.tgz#d008da31b721f8fecce88ef2adaf1b16dc2161d1" + integrity sha512-HdOhLXClUEwTnzQnzpSG9iL00ej23ojvfnGpF49ba0MkuAT2q+WhQilHFFJHOIVRBqbzakQ1vCWQV2K+QLX0Qw== + dependencies: + "@types/eslint-scope" "^3.7.0" + "@types/estree" "^0.0.47" + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/wasm-edit" "1.11.0" + "@webassemblyjs/wasm-parser" "1.11.0" + acorn "^8.2.1" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.8.0" + es-module-lexer "^0.4.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.0.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.1" + watchpack "^2.0.0" + webpack-sources "^2.1.1" + +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== + whatwg-encoding@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" @@ -7883,6 +13605,17 @@ whatwg-url@^8.0.0: tr46 "^2.0.2" webidl-conversions "^5.0.0" +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-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" @@ -7914,6 +13647,18 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + dependencies: + string-width "^4.0.0" + +wildcard@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" + integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + windows-release@^3.1.0: version "3.3.1" resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.3.1.tgz#cb4e80385f8550f709727287bf71035e209c4ace" @@ -8005,18 +13750,28 @@ write-pkg@^3.1.0: sort-keys "^2.0.0" write-json-file "^2.2.0" -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== +ws@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" + integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== dependencies: - mkdirp "^0.5.1" + async-limiter "~1.0.0" ws@^7.2.3: version "7.3.0" resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.0.tgz#4b2f7f219b3d3737bc1a2fbf145d825b94d38ffd" integrity sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w== +ws@^7.3.1: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== + +xdg-basedir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" + integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== + xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" @@ -8042,15 +13797,30 @@ yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +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: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + yaml@^1.7.2: version "1.10.0" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== -yargs-parser@18.x, yargs-parser@^18.1.2, yargs-parser@^18.1.3: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== +yargs-parser@20.x: + version "20.2.7" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" + integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" @@ -8063,6 +13833,30 @@ yargs-parser@^15.0.1: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^18.1.2, yargs-parser@^18.1.3: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + yargs@^14.2.2: version "14.2.3" resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" @@ -8097,6 +13891,16 @@ yargs@^15.4.1: y18n "^4.0.0" yargs-parser "^18.1.2" +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + yup@^0.29.1: version "0.29.1" resolved "https://registry.yarnpkg.com/yup/-/yup-0.29.1.tgz#35d25aab470a0c3950f66040ba0ff4b1b6efe0d9"