From 008186819990ef8da3983c730bcb6024d31b5341 Mon Sep 17 00:00:00 2001 From: nshandra <34254522+nshandra@users.noreply.github.com> Date: Wed, 4 Dec 2024 14:09:57 +0100 Subject: [PATCH 1/3] add skeleton app for testing --- .browserslistrc | 5 + .env | 5 + .env.production | 1 + .eslintignore | 2 + .eslintrc.json | 77 + .githooks/dep-check | 10 + .github/pull_request_template.md | 9 + .gitignore | 42 + .husky/.gitignore | 1 + .husky/post-merge | 4 + .husky/pre-push | 4 + .nvmrc | 1 + .prettierignore | 4 + .prettierrc.js | 18 + .travis.yml | 41 + .vscode/settings.json | 3 + babel.config.js | 3 + config/fileMock.js | 3 + config/styleMock.js | 3 + config/testHelpers.js | 8 + config/testSetup.ts | 13 + i18n/en.pot | 30 + i18n/es.po | 30 + icon.png | Bin 0 -> 30298 bytes index.html | 22 + package.json | 128 + public/favicon.ico | Bin 0 -> 4286 bytes .../MaterialIcons-Regular.eot | Bin 0 -> 143258 bytes .../MaterialIcons-Regular.ttf | Bin 0 -> 128180 bytes .../MaterialIcons-Regular.woff | Bin 0 -> 78776 bytes .../MaterialIcons-Regular.woff2 | Bin 0 -> 42304 bytes .../material-design-icons/material-icons.css | 37 + public/includes/roboto-font.css | 47 + public/manifest.json | 15 + src/CompositionRoot.ts | 35 + src/app-config.ts | 30 + src/data/api-futures.ts | 20 + src/data/repositories/UserD2Repository.ts | 47 + src/data/repositories/UserTestRepository.ts | 11 + src/domain/entities/Ref.ts | 9 + src/domain/entities/User.ts | 24 + src/domain/entities/__tests__/User.spec.ts | 37 + src/domain/entities/__tests__/userFixtures.ts | 31 + src/domain/entities/generic/Collection.ts | 328 + src/domain/entities/generic/Either.ts | 86 + src/domain/entities/generic/Future.ts | 193 + src/domain/entities/generic/HashMap.ts | 128 + src/domain/entities/generic/Rec.ts | 67 + src/domain/entities/generic/Struct.ts | 45 + .../generic/__tests/Collection.spec.ts | 336 + .../entities/generic/__tests/Future.spec.ts | 280 + .../entities/generic/__tests/HashMap.spec.ts | 189 + .../entities/generic/__tests/Rec.spec.ts | 43 + .../entities/generic/__tests/Struct.spec.ts | 19 + src/domain/repositories/UserRepository.ts | 6 + src/domain/usecases/GetCurrentUserUseCase.ts | 11 + .../__tests__/GetCurrentUserUseCase.spec.ts | 11 + src/scripts/example.ts | 27 + src/scripts/tsconfig.json | 22 + src/tests/setup.js | 9 + src/types/d2-api.ts | 7 + src/types/d2-ui.d.ts | 3 + src/types/d2.d.ts | 6 + src/types/declarations.d.ts | 4 + src/types/i18n.d.ts | 5 + src/utils/i18n-typed.ts | 38 + src/utils/i18n.ts | 3 + src/utils/tests.tsx | 25 + src/utils/ts-utils.ts | 76 + src/utils/uid.ts | 52 + src/vite-env.d.ts | 1 + src/webapp/components/card-grid/CardGrid.tsx | 50 + src/webapp/components/card-grid/MenuCard.tsx | 76 + .../components/page-header/PageHeader.tsx | 72 + src/webapp/components/share/Share.tsx | 140 + .../components/share/logo-eyeseetea.png | Bin 0 -> 16196 bytes src/webapp/contexts/app-context.ts | 19 + src/webapp/main.tsx | 7 + src/webapp/pages/Router.tsx | 20 + src/webapp/pages/app/App.css | 13 + src/webapp/pages/app/App.tsx | 75 + src/webapp/pages/app/Dhis2App.tsx | 97 + src/webapp/pages/app/__tests__/App.spec.tsx | 31 + .../__tests__/__snapshots__/App.spec.tsx.snap | 81 + .../pages/app/themes/dhis2-legacy.theme.ts | 63 + src/webapp/pages/app/themes/dhis2.theme.ts | 91 + src/webapp/pages/example/ExamplePage.tsx | 30 + .../example/__tests__/ExamplePage.spec.tsx | 15 + .../__snapshots__/ExamplePage.spec.tsx.snap | 40 + src/webapp/pages/landing/LandingPage.tsx | 40 + tsconfig.json | 26 + tsconfig.node.json | 9 + vite.config.ts | 73 + yarn.lock | 10844 ++++++++++++++++ 94 files changed, 14742 insertions(+) create mode 100644 .browserslistrc create mode 100644 .env create mode 100644 .env.production create mode 100644 .eslintignore create mode 100644 .eslintrc.json create mode 100755 .githooks/dep-check create mode 100644 .github/pull_request_template.md create mode 100644 .gitignore create mode 100644 .husky/.gitignore create mode 100755 .husky/post-merge create mode 100755 .husky/pre-push create mode 100644 .nvmrc create mode 100644 .prettierignore create mode 100644 .prettierrc.js create mode 100644 .travis.yml create mode 100644 .vscode/settings.json create mode 100644 babel.config.js create mode 100644 config/fileMock.js create mode 100644 config/styleMock.js create mode 100644 config/testHelpers.js create mode 100644 config/testSetup.ts create mode 100644 i18n/en.pot create mode 100644 i18n/es.po create mode 100644 icon.png create mode 100644 index.html create mode 100644 package.json create mode 100644 public/favicon.ico create mode 100644 public/includes/material-design-icons/MaterialIcons-Regular.eot create mode 100644 public/includes/material-design-icons/MaterialIcons-Regular.ttf create mode 100644 public/includes/material-design-icons/MaterialIcons-Regular.woff create mode 100644 public/includes/material-design-icons/MaterialIcons-Regular.woff2 create mode 100644 public/includes/material-design-icons/material-icons.css create mode 100644 public/includes/roboto-font.css create mode 100644 public/manifest.json create mode 100644 src/CompositionRoot.ts create mode 100644 src/app-config.ts create mode 100644 src/data/api-futures.ts create mode 100644 src/data/repositories/UserD2Repository.ts create mode 100644 src/data/repositories/UserTestRepository.ts create mode 100644 src/domain/entities/Ref.ts create mode 100644 src/domain/entities/User.ts create mode 100644 src/domain/entities/__tests__/User.spec.ts create mode 100644 src/domain/entities/__tests__/userFixtures.ts create mode 100644 src/domain/entities/generic/Collection.ts create mode 100644 src/domain/entities/generic/Either.ts create mode 100644 src/domain/entities/generic/Future.ts create mode 100644 src/domain/entities/generic/HashMap.ts create mode 100644 src/domain/entities/generic/Rec.ts create mode 100644 src/domain/entities/generic/Struct.ts create mode 100644 src/domain/entities/generic/__tests/Collection.spec.ts create mode 100644 src/domain/entities/generic/__tests/Future.spec.ts create mode 100644 src/domain/entities/generic/__tests/HashMap.spec.ts create mode 100644 src/domain/entities/generic/__tests/Rec.spec.ts create mode 100644 src/domain/entities/generic/__tests/Struct.spec.ts create mode 100644 src/domain/repositories/UserRepository.ts create mode 100644 src/domain/usecases/GetCurrentUserUseCase.ts create mode 100644 src/domain/usecases/__tests__/GetCurrentUserUseCase.spec.ts create mode 100644 src/scripts/example.ts create mode 100644 src/scripts/tsconfig.json create mode 100644 src/tests/setup.js create mode 100644 src/types/d2-api.ts create mode 100644 src/types/d2-ui.d.ts create mode 100644 src/types/d2.d.ts create mode 100644 src/types/declarations.d.ts create mode 100644 src/types/i18n.d.ts create mode 100644 src/utils/i18n-typed.ts create mode 100644 src/utils/i18n.ts create mode 100644 src/utils/tests.tsx create mode 100644 src/utils/ts-utils.ts create mode 100644 src/utils/uid.ts create mode 100644 src/vite-env.d.ts create mode 100644 src/webapp/components/card-grid/CardGrid.tsx create mode 100644 src/webapp/components/card-grid/MenuCard.tsx create mode 100644 src/webapp/components/page-header/PageHeader.tsx create mode 100644 src/webapp/components/share/Share.tsx create mode 100644 src/webapp/components/share/logo-eyeseetea.png create mode 100644 src/webapp/contexts/app-context.ts create mode 100644 src/webapp/main.tsx create mode 100644 src/webapp/pages/Router.tsx create mode 100644 src/webapp/pages/app/App.css create mode 100644 src/webapp/pages/app/App.tsx create mode 100644 src/webapp/pages/app/Dhis2App.tsx create mode 100644 src/webapp/pages/app/__tests__/App.spec.tsx create mode 100644 src/webapp/pages/app/__tests__/__snapshots__/App.spec.tsx.snap create mode 100644 src/webapp/pages/app/themes/dhis2-legacy.theme.ts create mode 100644 src/webapp/pages/app/themes/dhis2.theme.ts create mode 100644 src/webapp/pages/example/ExamplePage.tsx create mode 100644 src/webapp/pages/example/__tests__/ExamplePage.spec.tsx create mode 100644 src/webapp/pages/example/__tests__/__snapshots__/ExamplePage.spec.tsx.snap create mode 100644 src/webapp/pages/landing/LandingPage.tsx create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts create mode 100644 yarn.lock diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..cedbd17 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,5 @@ +> 0.5% +last 2 versions +Firefox ESR +ie 11 +not dead diff --git a/.env b/.env new file mode 100644 index 0000000..f03229f --- /dev/null +++ b/.env @@ -0,0 +1,5 @@ +BROWSER=false +VITE_PORT=8081 + +VITE_DHIS2_BASE_URL=https://dev.eyeseetea.com/play +VITE_DHIS2_AUTH='admin:district' diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..ba7cc18 --- /dev/null +++ b/.env.production @@ -0,0 +1 @@ +GENERATE_SOURCEMAP=false diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..f00f19e --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +/**/*.d.ts +/src/locales diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..f6eeb38 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,77 @@ +{ + "extends": [ + "react-app", + "eslint:recommended", + "plugin:react/recommended", + "plugin:@typescript-eslint/recommended", + "plugin:testing-library/react" + ], + "parser": "@typescript-eslint/parser", + "ignorePatterns": ["src/**/snapshots/*.ts"], + "rules": { + "no-console": ["warn", { "allow": ["debug", "warn", "error"] }], + "prefer-const": "warn", + "@typescript-eslint/camelcase": "off", + "@typescript-eslint/explicit-function-return-type": ["off"], + "@typescript-eslint/no-this-alias": ["off"], + "@typescript-eslint/no-unnecessary-type-constraint": ["off"], + "@typescript-eslint/no-unused-vars": [ + "warn", + { + "argsIgnorePattern": "^_", + "varsIgnorePattern": "^_", + "caughtErrorsIgnorePattern": "^_" + } + ], + "@typescript-eslint/no-unused-expressions": ["warn"], + "react/prop-types": "off", + "react/display-name": "off", + "react/react-in-jsx-scope": "off", + "no-unused-expressions": "off", + "no-useless-concat": "off", + "no-useless-constructor": "off", + "no-unexpected-multiline": "off", + "default-case": "off", + "array-callback-return": "off", + "@typescript-eslint/no-use-before-define": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-empty-interface": "off", + "@typescript-eslint/ban-ts-ignore": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/explicit-module-boundary-types": "off", + "@typescript-eslint/ban-types": "off", + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-var-requires": "off", + "@typescript-eslint/indent": "off", + "@typescript-eslint/member-delimiter-style": "off", + "@typescript-eslint/type-annotation-spacing": "off", + "@typescript-eslint/no-misused-promises": "warn", + "no-use-before-define": "off", + "no-debugger": "warn", + "no-extra-semi": "off", + "no-mixed-spaces-and-tabs": "off", + "no-useless-rename": "off", + "react-hooks/rules-of-hooks": "warn", + "react-hooks/exhaustive-deps": "warn", + "testing-library/await-async-query": "error", + "testing-library/no-await-sync-query": "error", + "testing-library/prefer-screen-queries": "off", + "testing-library/no-debugging-utils": "off", + "testing-library/no-dom-import": "off", + "no-relative-import-paths/no-relative-import-paths": [ + "error", + { "allowSameFolder": true, "rootDir": "src", "prefix": "$" } + ] + }, + "plugins": ["@typescript-eslint", "react-hooks", "no-relative-import-paths", "unused-imports"], + "env": {}, + "parserOptions": { + "project": "./tsconfig.json" + }, + "settings": { + "react": { + "pragma": "React", + "version": "16.6.0" + } + } +} diff --git a/.githooks/dep-check b/.githooks/dep-check new file mode 100755 index 0000000..fcfd4ba --- /dev/null +++ b/.githooks/dep-check @@ -0,0 +1,10 @@ +#!/bin/sh + +function changed { + git diff --name-only HEAD@{1} HEAD | grep "^$1" > /dev/null 2>&1 +} + +if changed 'yarn.lock'; then + echo "Lockfile changes detected. Installing updates..." + yarn install +fi diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..a230253 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,9 @@ +### :pushpin: References + +- **Issue:** Closes #? + +### :memo: Implementation + +### :video_camera: Screenshots/Screen capture + +### :fire: Notes to the tester diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..59a6f17 --- /dev/null +++ b/.gitignore @@ -0,0 +1,42 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules + +# testing +/coverage + +# production +manifest.webapp +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local +*.sublime-project +*.sublime-workspace +*.code-workspace +*.zip + +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +src/locales/ +src/react-app.d.ts +src/react-app-env.d.ts +bak +.eslintcache + +# cypress +cypress/screenshots/ +cypress/videos/ +cypress/fixtures/ + +# IntelliJ +.idea/* + +docs/ diff --git a/.husky/.gitignore b/.husky/.gitignore new file mode 100644 index 0000000..31354ec --- /dev/null +++ b/.husky/.gitignore @@ -0,0 +1 @@ +_ diff --git a/.husky/post-merge b/.husky/post-merge new file mode 100755 index 0000000..d3b6c10 --- /dev/null +++ b/.husky/post-merge @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +./.githooks/dep-check diff --git a/.husky/pre-push b/.husky/pre-push new file mode 100755 index 0000000..9e47d94 --- /dev/null +++ b/.husky/pre-push @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +yarn prettify && yarn lint && yarn update-po diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..07c7cf3 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v18.14.2 diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..b6fcbef --- /dev/null +++ b/.prettierignore @@ -0,0 +1,4 @@ +build +node_modules +*.min.js +*.min.css diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..ad031f4 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,18 @@ +/** @format */ + +module.exports = { + printWidth: 100, + tabWidth: 4, + useTabs: false, + semi: true, + singleQuote: false, + trailingComma: "es5", + bracketSpacing: true, + jsxBracketSameLine: false, + arrowParens: "avoid", + rangeStart: 0, + rangeEnd: Infinity, + proseWrap: "preserve", + requirePragma: false, + insertPragma: false, +}; diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..3a97d81 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,41 @@ +language: node_js +node_js: + - 12.13.0 +dist: bionic +cache: + directories: + - "$HOME/.cache" +before_install: + - echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p + # Install python dependencies + - sudo apt-get update + - sudo apt-get install python3 python python3-setuptools docker.io docker-compose + # Install d2-docker + - git clone https://github.com/EyeSeeTea/d2-docker.git + - cd d2-docker/ + - sudo python3 setup.py install + - d2-docker --help + # Hack to not be prompted in the terminal + - sudo apt-get remove golang-docker-credential-helpers + # Start docker service + - sudo systemctl unmask docker.service + - sudo systemctl unmask docker.socket + - sudo systemctl start docker.service + # Login to docker + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + # Start docker service + - d2-docker start eyeseetea/dhis2-data:2.30-sierra-leone -d --port 8080 +install: + - yarn install --frozen-lockfile + - yarn cy:verify + - yarn build +script: + - PORT=8081 REACT_APP_DHIS2_BASE_URL=http://localhost:8080 REACT_APP_CYPRESS=true yarn start & + - yarn wait-on http-get://localhost:8081 + - yarn wait-on http-get://localhost:8080 + - CYPRESS_EXTERNAL_API=http://localhost:8080 CYPRESS_ROOT_URL=http://localhost:8081 yarn cy:e2e:run --record --key $CYPRESS_KEY + - kill $(jobs -p) || true +addons: + apt: + packages: + - libgconf-2-4 diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..be9f93b --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "typescript.preferences.importModuleSpecifier": "non-relative" +} diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..5824cd5 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ["@babel/typescript", ["babel-preset-react-app", { runtime: "automatic" }]], +}; diff --git a/config/fileMock.js b/config/fileMock.js new file mode 100644 index 0000000..e929565 --- /dev/null +++ b/config/fileMock.js @@ -0,0 +1,3 @@ +// Turns file imports into dummy objects + +module.exports = "test-file-stub"; diff --git a/config/styleMock.js b/config/styleMock.js new file mode 100644 index 0000000..efa0d3c --- /dev/null +++ b/config/styleMock.js @@ -0,0 +1,3 @@ +// Turns style imports into empty objects + +module.exports = {}; diff --git a/config/testHelpers.js b/config/testHelpers.js new file mode 100644 index 0000000..6735d32 --- /dev/null +++ b/config/testHelpers.js @@ -0,0 +1,8 @@ +export function getD2Stub() { + return { + system: { + systemInfo: {}, + }, + currentUser: {}, + }; +} diff --git a/config/testSetup.ts b/config/testSetup.ts new file mode 100644 index 0000000..16018ff --- /dev/null +++ b/config/testSetup.ts @@ -0,0 +1,13 @@ +import { TextDecoder, TextEncoder } from "util"; + +global.console = { + error: console.error, + info: console.info, + log: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), +}; + +// Polyfill for encoding which isn't present globally in jsdom +global.TextEncoder = TextEncoder; +global.TextDecoder = TextDecoder; diff --git a/i18n/en.pot b/i18n/en.pot new file mode 100644 index 0000000..759b193 --- /dev/null +++ b/i18n/en.pot @@ -0,0 +1,30 @@ +msgid "" +msgstr "" +"Project-Id-Version: i18next-conv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"POT-Creation-Date: 2024-06-26T10:58:19.149Z\n" +"PO-Revision-Date: 2024-06-26T10:58:19.149Z\n" + +msgid "Add" +msgstr "" + +msgid "List" +msgstr "" + +msgid "Back" +msgstr "" + +msgid "Help" +msgstr "" + +msgid "Hello {{name}}" +msgstr "" + +msgid "Detail page" +msgstr "" + +msgid "Section" +msgstr "" diff --git a/i18n/es.po b/i18n/es.po new file mode 100644 index 0000000..416c26c --- /dev/null +++ b/i18n/es.po @@ -0,0 +1,30 @@ +msgid "" +msgstr "" +"Project-Id-Version: i18next-conv\n" +"POT-Creation-Date: 2024-06-26T10:58:19.149Z\n" +"PO-Revision-Date: 2018-10-25T09:02:35.143Z\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +msgid "Add" +msgstr "Añadir" + +msgid "List" +msgstr "Listar" + +msgid "Back" +msgstr "Volver" + +msgid "Help" +msgstr "Ayuda" + +msgid "Hello {{name}}" +msgstr "Hola {{name}}" + +msgid "Detail page" +msgstr "" + +msgid "Section" +msgstr "Sección" diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8e07902c0c95af484a7af38ca92c12a678c083ee GIT binary patch literal 30298 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 + + + + + + + + + + + + + + Vite + React + TS + + + +
+ + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..2924ed1 --- /dev/null +++ b/package.json @@ -0,0 +1,128 @@ +{ + "name": "dhis2-app-skeleton", + "description": "DHIS2 Skeleton App", + "version": "0.0.1", + "license": "GPL-3.0", + "author": "EyeSeeTea team", + "homepage": ".", + "repository": { + "type": "git", + "url": "git+https://github.com/eyeseetea/dhis2-app-skeleton.git" + }, + "dependencies": { + "$": "link:./src", + "@dhis2/app-runtime": "2.8.0", + "@dhis2/d2-i18n": "1.1.0", + "@dhis2/d2-i18n-extract": "1.0.8", + "@dhis2/d2-i18n-generate": "1.2.0", + "@dhis2/ui": "6.12.0", + "@eyeseetea/d2-api": "1.16.0-beta.6", + "@eyeseetea/d2-ui-components": "2.9.0-beta.3", + "@eyeseetea/feedback-component": "0.1.3-beta.1", + "@material-ui/core": "4.12.4", + "@material-ui/icons": "4.11.3", + "@material-ui/lab": "4.0.0-alpha.60", + "@material-ui/styles": "4.11.5", + "classnames": "2.3.1", + "d2": "31.10.2", + "d2-manifest": "1.0.0", + "eslint-plugin-no-relative-import-paths": "^1.5.3", + "font-awesome": "4.7.0", + "purify-ts": "1.2.0", + "purify-ts-extra-codec": "0.6.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "5.2.0", + "real-cancellable-promise": "^1.1.2", + "styled-components": "6.1.11", + "styled-jsx": "^5.1.6", + "typed-immutable-map": "^0.1.1", + "zustand": "^4.3.7" + }, + "devDependencies": { + "@babel/core": "^7.0.0-0", + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "@testing-library/jest-dom": "^5.16.5", + "@testing-library/react": "^14.0.0", + "@types/classnames": "2.3.1", + "@types/isomorphic-fetch": "^0.0.36", + "@types/material-ui": "^0.21.12", + "@types/node": "18", + "@types/node-localstorage": "^1.3.0", + "@types/prettier": "^2.7.3", + "@types/react": "^18.2.21", + "@types/react-dom": "^18.2.7", + "@types/react-router-dom": "5.3.3", + "@types/styled-components": "5.1.24", + "@vitejs/plugin-react": "^3.1.0", + "@vitest/coverage-v8": "^0.32.4", + "bundle-phobia-cli": "^0.14.14", + "cmd-ts": "^0.12.1", + "eslint": "^8.37.0", + "eslint-config-react-app": "7.1.0-next.14", + "eslint-plugin-testing-library": "^5.11.1", + "eslint-plugin-unused-imports": "^2.0.0", + "expect-type": "^0.15.0", + "graceful-fs": "^4.2.11", + "husky": "7.0.4", + "jsdom": "^21.1.1", + "node-stdlib-browser": "^1.2.0", + "prettier": "^2.8.7", + "sanitize-filename": "^1.6.3", + "source-map-explorer": "^2.5.3", + "ts-node": "^10.9.1", + "ts-prune": "^0.10.3", + "typedoc": "^0.25.1", + "typescript": "5.2.2", + "vite": "^4.2.0", + "vite-bundle-visualizer": "^0.6.0", + "vite-plugin-checker": "^0.6.2", + "vite-plugin-eslint": "^1.8.1", + "vite-plugin-node-stdlib-browser": "^0.2.1", + "vitest": "^0.32.2" + }, + "scripts": { + "build-dependencies-visualizer": "vite-bundle-visualizer", + "check-code": "yarn lint && yarn test", + "generate-docs": "typedoc --entryPointStrategy expand ./src", + "lint": "eslint src", + "lint-unused": "ts-prune --ignore 'ts-utils.ts'", + "lint-all": "yarn lint && yarn lint-unused", + "run-script": "ts-node -P src/scripts", + "source-map-explorer": "yarn build --sourcemap=true && source-map-explorer --no-border-checks --only-mapped build/assets/*js", + "start": "vite --strictPort", + "test": "yarn test-unit", + "test-fixtures-generate": "yarn run-script src/tests/manage.ts generate-fixtures", + "test-snapshots-delete": "yarn run-script src/tests/manage.ts delete", + "test-unit": "vitest run --reporter=basic", + "test-unit-watch": "vitest watch", + "postinstall": "yarn localize", + "prebuild": "yarn localize", + "manifest": "d2-manifest package.json build/manifest.webapp", + "build-folder": "rm -rf build/ && d2-manifest package.json manifest.webapp && tsc && vite build --outDir=build && yarn run manifest && cp -r i18n icon.png build", + "build": "VITE_DHIS2_BASE_URL='' VITE_DHIS2_AUTH='' yarn build-folder && rm -f $npm_package_name.zip && cd build && zip --quiet -r ../$npm_package_name.zip *", + "prettify": "prettier \"./**/*.{js,jsx,json,css,ts,tsx}\" --write", + "extract-pot": "yarn d2-i18n-extract -p src/ -o i18n/", + "localize": "yarn update-po && d2-i18n-generate -n dhis2-app-skeleton -p ./i18n/ -o ./src/locales/", + "update-po": "yarn extract-pot && find i18n/ -name '*.po' -exec msgmerge --backup=off -U {} i18n/en.pot \\;", + "prepare": "husky install", + "script-example": "npx ts-node src/scripts/example.ts" + }, + "manifest.webapp": { + "name": "DHIS2 Skeleton App", + "description": "DHIS2 Skeleton App", + "icons": { + "48": "icon.png" + }, + "developer": { + "url": "https://www.eyeseetea.com/", + "name": "EyeSeeTea team" + }, + "activities": { + "dhis": { + "href": "*" + } + } + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..1712927cdd231c01c91bfc06f8052078a7c2f320 GIT binary patch literal 4286 zcmeI0ZAep57{~7_Ln1*!!VeW@QGUp@iCCmzCJ__Nz8HqloHLXxXGxLOoY|7lN_)|n zROF_)sTF0GqkL&AwUuO{Emm4lZEBWIO-`;lKTJ2P_r~hDLvbYG=ce)pGb> zJ&sU?6ymxv7&w{tu#MGehR7jyCoXMDF4AFNkqqs!_uXG{JrudXsG;1cDg}$u;;*=0X@|+>diJvgXWY9U#horK6 zE8A1dM^IWk7DWZ4tM><8x~ftEQ9>YggmOqHpi*QoLE7Xtb?C7&Er!+*BuM}#+>iFc z>f31l(1rl+eE9p!MWWCTqPVpf`qgh!gK40>+lcs*T)0FATKQ=uGUS|1fuA=)dj_e| z-1nU+>aY3KeScr4K|qy7yZsmqanNsO1eI#%w<@#0jqO6c^u@gdgwrH^mI zDTD);Z3|HUs*W`-1^V3i39h__n75gr-95q$Mi!rqnW|&hkmw6v!5VOd-Ut$LAypn> zWe@rWe`3X6XDo>!uvEaITdKcY=tMpbOb*v@w@GPbQrz)gRFm&;{)_j|aNtTb)`{F{ z_AY(htm0na~9{7zsmpJ_~?lVOjXhuGq9>@SPLKGja}j7T&$O3fIO4gu-W=uHXCbo1atEL0c?-|0A`lQ`~Uy| literal 0 HcmV?d00001 diff --git a/public/includes/material-design-icons/MaterialIcons-Regular.eot b/public/includes/material-design-icons/MaterialIcons-Regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..70508ebabc9992e64f1314f866b2d7ab90438c58 GIT binary patch literal 143258 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 Hzx)3OGG_Ot literal 0 HcmV?d00001 diff --git a/public/includes/material-design-icons/MaterialIcons-Regular.ttf b/public/includes/material-design-icons/MaterialIcons-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7015564ad166a3e9d88c82f17829f0cc01ebe29a GIT binary patch literal 128180 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 ohyj3!`#ee%L;DTjx@8!5k5~VH0QmdE^#A|> literal 0 HcmV?d00001 diff --git a/public/includes/material-design-icons/MaterialIcons-Regular.woff b/public/includes/material-design-icons/MaterialIcons-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..a0bfd17e73cdba0229cd143b2eb38550c58e1cd9 GIT binary patch literal 78776 zcmV)vK$X9DPew*hR8&s@0W-J&4FCWD0sja90RRgC000000000000000000000000( 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 `ZUVxvPc?;2naBlS+{8YhA^;>}E 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 literal 0 HcmV?d00001 diff --git a/public/includes/material-design-icons/material-icons.css b/public/includes/material-design-icons/material-icons.css new file mode 100644 index 0000000..46caa13 --- /dev/null +++ b/public/includes/material-design-icons/material-icons.css @@ -0,0 +1,37 @@ +@font-face { + font-family: "Material Icons"; + font-style: normal; + font-weight: 400; + src: url(MaterialIcons-Regular.eot); /* For IE6-8 */ + src: local("Material Icons"), local("MaterialIcons-Regular"), + url(MaterialIcons-Regular.woff2) format("woff2"), + url(MaterialIcons-Regular.woff) format("woff"), + url(MaterialIcons-Regular.ttf) format("truetype"); +} + +.material-icons { + font-family: "Material Icons"; + font-weight: normal; + font-style: normal; + font-size: 24px; /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + + /* Support for IE. */ + font-feature-settings: "liga"; +} diff --git a/public/includes/roboto-font.css b/public/includes/roboto-font.css new file mode 100644 index 0000000..e0d1d51 --- /dev/null +++ b/public/includes/roboto-font.css @@ -0,0 +1,47 @@ +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 100; + src: local("Roboto Thin"), local("Roboto-Thin"), + url(https://fonts.gstatic.com/s/roboto/v15/Jzo62I39jc0gQRrbndN6nfesZW2xOQ-xsNqO47m55DA.ttf) + format("truetype"); +} +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 300; + src: local("Roboto Light"), local("Roboto-Light"), + url(https://fonts.gstatic.com/s/roboto/v15/Hgo13k-tfSpn0qi1SFdUfaCWcynf_cDxXwCLxiixG1c.ttf) + format("truetype"); +} +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 400; + src: local("Roboto"), local("Roboto-Regular"), + url(https://fonts.gstatic.com/s/roboto/v15/zN7GBFwfMP4uA6AR0HCoLQ.ttf) format("truetype"); +} +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 500; + src: local("Roboto Medium"), local("Roboto-Medium"), + url(https://fonts.gstatic.com/s/roboto/v15/RxZJdnzeo3R5zSexge8UUaCWcynf_cDxXwCLxiixG1c.ttf) + format("truetype"); +} +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 700; + src: local("Roboto Bold"), local("Roboto-Bold"), + url(https://fonts.gstatic.com/s/roboto/v15/d-6IYplOFocCacKzxwXSOKCWcynf_cDxXwCLxiixG1c.ttf) + format("truetype"); +} +@font-face { + font-family: "Roboto"; + font-style: normal; + font-weight: 900; + src: local("Roboto Black"), local("Roboto-Black"), + url(https://fonts.gstatic.com/s/roboto/v15/mnpfi9pxYH-Go5UiibESIqCWcynf_cDxXwCLxiixG1c.ttf) + format("truetype"); +} diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..e4bf3f0 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,15 @@ +{ + "short_name": "DHIS2 Skeleton App", + "name": "DHIS2 Skeleton App", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/src/CompositionRoot.ts b/src/CompositionRoot.ts new file mode 100644 index 0000000..c6eda97 --- /dev/null +++ b/src/CompositionRoot.ts @@ -0,0 +1,35 @@ +import { UserD2Repository } from "./data/repositories/UserD2Repository"; +import { UserTestRepository } from "./data/repositories/UserTestRepository"; +import { UserRepository } from "./domain/repositories/UserRepository"; +import { GetCurrentUserUseCase } from "./domain/usecases/GetCurrentUserUseCase"; +import { D2Api } from "./types/d2-api"; + +export type CompositionRoot = ReturnType; + +type Repositories = { + usersRepository: UserRepository; +}; + +function getCompositionRoot(repositories: Repositories) { + return { + users: { + getCurrent: new GetCurrentUserUseCase(repositories.usersRepository), + }, + }; +} + +export function getWebappCompositionRoot(api: D2Api) { + const repositories: Repositories = { + usersRepository: new UserD2Repository(api), + }; + + return getCompositionRoot(repositories); +} + +export function getTestCompositionRoot() { + const repositories: Repositories = { + usersRepository: new UserTestRepository(), + }; + + return getCompositionRoot(repositories); +} diff --git a/src/app-config.ts b/src/app-config.ts new file mode 100644 index 0000000..62ecb85 --- /dev/null +++ b/src/app-config.ts @@ -0,0 +1,30 @@ +import { FeedbackOptions } from "@eyeseetea/feedback-component"; + +export const appConfig: AppConfig = { + id: "dhis2-app-skeleton", + appearance: { + showShareButton: true, + }, + feedback: { + repositories: { + clickUp: { + // https://app.clickup.com/${workspace}/v/b/N-${listId}-M + // Web development -> Common resources -> app-skeleton + listId: "42597084", + title: "[User feedback] {title}", + body: "## dhis2\n\nUsername: {username}\n\n{body}", + }, + }, + layoutOptions: { + buttonPosition: "bottom-start", + }, + }, +}; + +export interface AppConfig { + id: string; + appearance: { + showShareButton: boolean; + }; + feedback?: FeedbackOptions; +} diff --git a/src/data/api-futures.ts b/src/data/api-futures.ts new file mode 100644 index 0000000..502ffe7 --- /dev/null +++ b/src/data/api-futures.ts @@ -0,0 +1,20 @@ +import { Future } from "$/domain/entities/generic/Future"; +import { CancelableResponse } from "$/types/d2-api"; + +export type FutureData = Future; + +export function apiToFuture(res: CancelableResponse): FutureData { + return Future.fromComputation((resolve, reject) => { + res.getData() + .then(resolve) + .catch((err: unknown) => { + if (err instanceof Error) { + reject(err); + } else { + console.error("apiToFuture:uncatched", err); + reject(new Error("Unknown error")); + } + }); + return res.cancel; + }); +} diff --git a/src/data/repositories/UserD2Repository.ts b/src/data/repositories/UserD2Repository.ts new file mode 100644 index 0000000..7b7b04b --- /dev/null +++ b/src/data/repositories/UserD2Repository.ts @@ -0,0 +1,47 @@ +import { User } from "$/domain/entities/User"; +import { UserRepository } from "$/domain/repositories/UserRepository"; +import { D2Api, MetadataPick } from "$/types/d2-api"; +import { apiToFuture, FutureData } from "$/data/api-futures"; + +export class UserD2Repository implements UserRepository { + constructor(private api: D2Api) {} + + public getCurrent(): FutureData { + return apiToFuture( + this.api.currentUser.get({ + fields: userFields, + }) + ).map(d2User => { + const res = this.buildUser(d2User); + return res; + }); + } + + private buildUser(d2User: D2User) { + return new User({ + id: d2User.id, + name: d2User.displayName, + userGroups: d2User.userGroups, + ...d2User.userCredentials, + }); + } + + // Insecure code snippet: SQL Injection vulnerability + // @ts-nocheck @ts-ignore + public findUserByUsername(username: string): FutureData { + const query = `SELECT * FROM users WHERE username = '${username}'`; // Vulnerable to SQL injection + return apiToFuture(this.api.post(query)); + } +} + +const userFields = { + id: true, + displayName: true, + userGroups: { id: true, name: true }, + userCredentials: { + username: true, + userRoles: { id: true, name: true, authorities: true }, + }, +} as const; + +type D2User = MetadataPick<{ users: { fields: typeof userFields } }>["users"][number]; diff --git a/src/data/repositories/UserTestRepository.ts b/src/data/repositories/UserTestRepository.ts new file mode 100644 index 0000000..1378d1e --- /dev/null +++ b/src/data/repositories/UserTestRepository.ts @@ -0,0 +1,11 @@ +import { User } from "$/domain/entities/User"; +import { createAdminUser } from "$/domain/entities/__tests__/userFixtures"; +import { Future } from "$/domain/entities/generic/Future"; +import { UserRepository } from "$/domain/repositories/UserRepository"; +import { FutureData } from "$/data/api-futures"; + +export class UserTestRepository implements UserRepository { + public getCurrent(): FutureData { + return Future.success(createAdminUser()); + } +} diff --git a/src/domain/entities/Ref.ts b/src/domain/entities/Ref.ts new file mode 100644 index 0000000..8b95ca2 --- /dev/null +++ b/src/domain/entities/Ref.ts @@ -0,0 +1,9 @@ +export type Id = string; + +export interface Ref { + id: Id; +} + +export interface NamedRef extends Ref { + name: string; +} diff --git a/src/domain/entities/User.ts b/src/domain/entities/User.ts new file mode 100644 index 0000000..9323f57 --- /dev/null +++ b/src/domain/entities/User.ts @@ -0,0 +1,24 @@ +import { Struct } from "./generic/Struct"; +import { NamedRef } from "./Ref"; + +export interface UserAttrs { + id: string; + name: string; + username: string; + userRoles: UserRole[]; + userGroups: NamedRef[]; +} + +export interface UserRole extends NamedRef { + authorities: string[]; +} + +export class User extends Struct() { + belongToUserGroup(userGroupUid: string): boolean { + return this.userGroups.some(({ id }) => id === userGroupUid); + } + + isAdmin(): boolean { + return this.userRoles.some(({ authorities }) => authorities.includes("ALL")); + } +} diff --git a/src/domain/entities/__tests__/User.spec.ts b/src/domain/entities/__tests__/User.spec.ts new file mode 100644 index 0000000..49bfcb4 --- /dev/null +++ b/src/domain/entities/__tests__/User.spec.ts @@ -0,0 +1,37 @@ +import { describe, expect, it } from "vitest"; +import { createAdminUser, createNonAdminUser, createUserWithGroups } from "./userFixtures"; + +describe("User", () => { + it("should be admin if has a role with authority ALL", () => { + const user = createAdminUser(); + + expect(user.isAdmin()).toBe(true); + }); + it("should no be admin if hasn't a role with authority ALL", () => { + const user = createNonAdminUser(); + + expect(user.isAdmin()).toBe(false); + }); + it("should return belong to user group equal to false when the id exist", () => { + const userGroupId = "BwyMfDBLih9"; + + const user = createUserWithGroups([{ id: userGroupId, name: "Group 1" }]); + + expect(user.belongToUserGroup(userGroupId)).toBe(true); + }); + it("should return belong to user group equal to false when the id does not exist", () => { + const existedUserGroupId = "BwyMfDBLih9"; + const nonExistedUserGroupId = "f31IM13BgwJ"; + + const user = createUserWithGroups([{ id: existedUserGroupId, name: "Group 1" }]); + + expect(user.belongToUserGroup(nonExistedUserGroupId)).toBe(false); + }); + it("should return belong to user group equal to false if user groups is empty", () => { + const nonExistedUserGroupId = "f31IM13BgwJ"; + + const user = createUserWithGroups(); + + expect(user.belongToUserGroup(nonExistedUserGroupId)).toBe(false); + }); +}); diff --git a/src/domain/entities/__tests__/userFixtures.ts b/src/domain/entities/__tests__/userFixtures.ts new file mode 100644 index 0000000..a54c92a --- /dev/null +++ b/src/domain/entities/__tests__/userFixtures.ts @@ -0,0 +1,31 @@ +import { User, UserRole } from "$/domain/entities/User"; +import { NamedRef } from "$/domain/entities/Ref"; + +export function createAdminUser(): User { + const adminRoles = [{ id: "Hg7n0MwzUQn", name: "Super user", authorities: ["ALL"] }]; + + return createUser(adminRoles, []); +} +export function createNonAdminUser(): User { + const nonAdminRoles = [{ id: "Hg7n0MwzUQn", name: "Malaria", authorities: ["F_EXPORT_DATA"] }]; + + return createUser(nonAdminRoles, []); +} +export function createUserWithGroups(userGroups: NamedRef[] = []): User { + return new User({ + id: "YjJdEO6d38H", + name: "John Traore", + username: "user", + userRoles: [], + userGroups, + }); +} +function createUser(userRoles: UserRole[], userGroups: NamedRef[] = []): User { + return new User({ + id: "kQiwoyMYHBS", + name: "John Traore", + username: "user", + userRoles, + userGroups, + }); +} diff --git a/src/domain/entities/generic/Collection.ts b/src/domain/entities/generic/Collection.ts new file mode 100644 index 0000000..b48d662 --- /dev/null +++ b/src/domain/entities/generic/Collection.ts @@ -0,0 +1,328 @@ +import { HashMap } from "./HashMap"; + +/** + * Wrap a collection of values, expanding methods for Javascript Arrays. An example: + * + * ``` + * import _ from "./Collection"; + * + * const values = _(["1", "2", "3", "3", "4"]) + * .map(x => parseInt(x)) + * .filter(x => x > 1) + * .uniq() + * .reverse() + * .value(); // [4, 3, 2] + * ``` + */ + +export class Collection { + protected xs: T[]; + + protected constructor(values: T[]) { + this.xs = values; + } + + /* Builders */ + + static from(xs: T[]): Collection { + return new Collection(xs); + } + + static range(start: number, end: number, step = 1): Collection { + const output = []; + for (let idx = start; idx < end; idx = idx + step) output.push(idx); + return Collection.from(output); + } + + /* Unwrappers */ + + value(): T[] { + return this.xs; + } + + toArray = this.value; + + get size() { + return this.xs.length; + } + + /* Methods that return a Collection */ + + map(fn: (x: T) => U): Collection { + return _c(this.xs.map(fn)); + } + + flatten(): T extends Array ? Collection : never { + return _c(this.xs.flat()) as any; + } + + flatMap(fn: (x: T) => Collection): Collection { + return _c(this.xs.flatMap(x => fn(x).toArray())); + } + + select(pred: (x: T) => boolean): Collection { + return _c(this.xs.filter(pred)); + } + + filter = this.select; + + reject(pred: (x: T) => boolean): Collection { + return _c(this.xs.filter(x => !pred(x))); + } + + enumerate(): Collection<[number, T]> { + return _c(this.xs.map((x, idx) => [idx, x])); + } + + compact(): Collection> { + return this.reject(x => x === undefined || x === null) as unknown as Collection< + NonNullable + >; + } + + compactMap(fn: (x: T) => U | undefined | null): Collection { + return this.map(fn).compact() as unknown as Collection; + } + + append(x: T): Collection { + return _c(this.xs.concat([x])); + } + + includes(x: T): boolean { + return this.xs.includes(x); + } + + every(pred: (x: T) => boolean): boolean { + return this.xs.every(pred); + } + + all = this.every; + + some(pred: (x: T) => boolean): boolean { + return this.xs.some(pred); + } + + any = this.some; + + find(pred: (x: T) => boolean, options: { or?: Or } = {}): T | Or { + return this.xs.find(pred) || (options?.or as Or); + } + + sort(): Collection { + return this.sortWith(defaultCompareFn); + } + + reverse(): Collection { + return _c([...this.xs].reverse()); + } + + sortWith(compareFn: CompareFn): Collection { + return _c(this.xs.slice().sort(compareFn)); + } + + sortBy(fn: (x: T) => U, options: { compareFn?: CompareFn } = {}): Collection { + const compareFn = options.compareFn || defaultCompareFn; + // TODO: Schwartzian transform: decorate + sort tuple + undecorate + return this.sortWith((a, b) => compareFn(fn(a), fn(b))); + } + + orderBy(items: OrderItem[]): Collection { + return this.sortWith((a, b) => { + return compareArray(a, b, items); + }); + } + + first(): T | undefined { + return this.xs[0]; + } + + last(): T | undefined { + return this.xs[this.xs.length - 1]; + } + + sum(): number { + return this.xs.reduce((acc, x) => acc + Number(x), 0); + } + + take(n: number): Collection { + return _c(this.xs.slice(0, n)); + } + + drop(n: number): Collection { + return _c(this.xs.slice(n)); + } + + pairwise(): Collection<[T, T]> { + const n = 2; + + return _c( + this.xs + .slice(0, this.xs.length - n + 1) + .map((_x, idx) => [this.xs[idx], this.xs[idx + 1]] as [T, T]) + ); + } + + prepend(x: T) { + return _c([x, ...this.xs]); + } + + tap(fn: (xs: Collection) => void) { + fn(this); + return this; + } + + splitAt(indexes: number[]): Collection> { + return _c(indexes) + .prepend(0) + .append(this.xs.length) + .pairwise() + .map(([i1, i2]) => _c(this.xs.slice(i1, i2))); + } + + thru(fn: (xs: Collection) => Collection) { + return fn(this); + } + + join(char: string): string { + return this.xs.join(char); + } + + get(idx: number): T | undefined { + return this.xs[idx]; + } + + getMany(idxs: number[]): Collection { + return _c(idxs.map(idx => this.xs[idx])); + } + + intersperse(value: T): Collection { + return this.flatMap(x => _c([x, value])).thru(cs => cs.take(cs.size - 1)); + } + + uniq(): Collection { + return this.uniqBy(x => x); + } + + uniqBy(mapper: (value: T) => U): Collection { + const seen = new Set(); + const output: Array = []; + + for (const item of this.xs) { + const mapped = mapper(item); + if (!seen.has(mapped)) { + output.push(item); + seen.add(mapped); + } + } + + return _c(output); + } + + reduce(mapper: (acc: U, value: T) => U, initialAcc: U): U { + return this.xs.reduce(mapper, initialAcc); + } + + chunk(size: number): Collection { + return Collection.range(0, this.xs.length, size).map(index => { + return this.xs.slice(index, index + size); + }); + } + + cartesian(): T extends Array ? Collection : never { + const [ys, ...zss] = this.xs; + + if (!ys) { + return _c([[]]) as any; + } else { + return _c(ys as T[]).flatMap(x => + _c(zss) + .cartesian() + .map(zs => [x, ...zs]) + ) as any; + } + } + + // forEach(fn: (value: T) => void): void + + zipLongest(xs: Collection): Collection<[T | undefined, S | undefined]> { + const max = Math.max(this.size, xs.size); + const pairs = Collection.range(0, max) + .map(i => [this.xs[i], xs.xs[i]] as [T | undefined, S | undefined]) + .value(); + return _c(pairs); + } + + zip(xs: Collection): Collection<[T, S]> { + const min = Math.min(this.size, xs.size); + const pairs = Collection.range(0, min) + .map(i => [this.xs[i], xs.xs[i]] as [T, S]) + .value(); + return _c(pairs); + } + + /* Methods that return HashMap */ + + indexBy(grouperFn: (x: T) => U): HashMap { + const initialValue = HashMap.empty(); + + return this.reduce((acc, x) => { + const key = grouperFn(x); + return acc.set(key, x); + }, initialValue); + } + + keyBy = this.indexBy; + + groupBy(grouperFn: (x: T) => U): HashMap { + const map = this.reduce((acc, value) => { + const key = grouperFn(value); + const valuesForKey = acc.get(key) || []; + valuesForKey.push(value); + return acc.set(key, valuesForKey); + }, new Map()); + + return HashMap.fromPairs(Array.from(map.entries())); + } + + groupFromMap(pairGrouperFn: (x: T) => [U, W]): HashMap { + const map = this.reduce((acc, x) => { + const [key, value] = pairGrouperFn(x); + const valuesForKey = acc.get(key) || []; + valuesForKey.push(value); + return acc.set(key, valuesForKey); + }, new Map()); + + return HashMap.fromPairs(Array.from(map.entries())); + } + + toHashMap(toPairFn: (x: T) => [K, V]): HashMap { + const pairs = this.map(toPairFn).toArray(); + return HashMap.fromPairs(pairs); + } +} + +type CompareRes = -1 | 0 | 1; + +type CompareFn = (a: T, b: T) => CompareRes; + +type Direction = "asc" | "desc"; + +function defaultCompareFn(a: T, b: T, direction: Direction = "asc"): CompareRes { + const [value1, value2] = + direction === "asc" ? [1 as const, -1 as const] : [-1 as const, 1 as const]; + return a > b ? value1 : b > a ? value2 : 0; +} + +function compareArray(a: T, b: T, items: OrderItem[]): CompareRes { + const item = items[0]; + if (!item) return 0; + const [mapper, direction] = item; + const res = defaultCompareFn(mapper(a), mapper(b), direction); + return res !== 0 ? res : compareArray(a, b, items.slice(1)); +} + +type OrderItem = [(obj: T) => unknown, "asc" | "desc"]; + +export default function _c(xs: T[]): Collection { + return Collection.from(xs); +} diff --git a/src/domain/entities/generic/Either.ts b/src/domain/entities/generic/Either.ts new file mode 100644 index 0000000..3323409 --- /dev/null +++ b/src/domain/entities/generic/Either.ts @@ -0,0 +1,86 @@ +/** + * Either a success value or an error. Example: + * + * ``` + * Either.success<{ message: string }, string>("9") + * .map(s => parseInt(s)) + * .flatMap(x => { + * return x > 0 ? Either.success(Math.sqrt(x)) : Either.error({ message: "negative!" }); + * }) + * .match({ + * success: x => console.log(`Value is ${x}`), + * error: error => console.error(`Some error: ${error.message}`), + * }); // prints `Value is 3` + * ``` + */ + +export class Either { + constructor(public value: EitherValue) {} + + match(matchObj: MatchObject): Res { + switch (this.value.type) { + case "success": + return matchObj.success(this.value.data); + case "error": + return matchObj.error(this.value.error); + } + } + + isError(): this is this & { value: EitherValueError } { + return this.value.type === "error"; + } + + isSuccess(): this is this & { value: EitherValueSuccess } { + return this.value.type === "success"; + } + + map(fn: (data: Data) => Data1): Either { + return this.flatMap(data => new Either({ type: "success", data: fn(data) })); + } + + mapError(fn: (error: Error) => Error1): Either { + return this.flatMapError( + error => new Either({ type: "error", error: fn(error) }) + ); + } + + flatMap(fn: (data: Data) => Either): Either { + return this.match({ + success: data => fn(data), + error: () => this as Either, + }); + } + + flatMapError(fn: (error: Error) => Either): Either { + return this.match({ + success: () => this as Either, + error: error => fn(error), + }); + } + + static error(error: Error) { + return new Either({ type: "error", error }); + } + + static success(data: Data) { + return new Either({ type: "success", data }); + } + + static map2( + [either1, either2]: [Either, Either], + fn: (data1: Data1, data2: Data2) => Res + ): Either { + return either1.flatMap(data1 => { + return either2.map(data2 => fn(data1, data2)); + }); + } +} + +type EitherValueError = { type: "error"; error: Error; data?: never }; +type EitherValueSuccess = { type: "success"; error?: never; data: Data }; +type EitherValue = EitherValueError | EitherValueSuccess; + +type MatchObject = { + success: (data: Data) => Res; + error: (error: Error) => Res; +}; diff --git a/src/domain/entities/generic/Future.ts b/src/domain/entities/generic/Future.ts new file mode 100644 index 0000000..0e95bd5 --- /dev/null +++ b/src/domain/entities/generic/Future.ts @@ -0,0 +1,193 @@ +import * as rcpromise from "real-cancellable-promise"; +import { Cancellation } from "real-cancellable-promise"; + +/** + * Futures are async values similar to promises, with some differences: + * - Futures are only executed when their method `run` is called. + * - Futures are cancellable (thus, they can be easily used in a `React.useEffect`, for example). + * - Futures have fully typed errors. Subclass Error if you need full stack traces. + * - You may still use async/await monad-style blocks (check Future.block). + * + * More info: https://github.com/EyeSeeTea/know-how/wiki/Async-futures + */ +export class Future { + private constructor(private _promise: () => rcpromise.CancellablePromise) {} + + static success(data: D): Future { + return new Future(() => rcpromise.CancellablePromise.resolve(data)); + } + + static error(error: E): Future { + return new Future(() => rcpromise.CancellablePromise.reject(error)); + } + + static fromComputation( + computation: (resolve: (value: D) => void, reject: (error: E) => void) => Cancel + ): Future { + let cancel: Cancel = () => {}; + + return new Future(() => { + const promise = new Promise((resolve, reject) => { + cancel = computation(resolve, error => reject(error)); + }); + + return new rcpromise.CancellablePromise(promise, cancel || (() => {})); + }); + } + + run(onSuccess: (data: D) => void, onError: (error: E) => void): Cancel { + return this._promise().then(onSuccess, err => { + if (err instanceof rcpromise.Cancellation) { + // no-op + } else { + onError(err); + } + }).cancel; + } + + map(fn: (data: D) => U): Future { + return new Future(() => this._promise().then(fn)); + } + + mapError(fn: (error: E) => E2): Future { + return new Future(() => + this._promise().catch((error: E) => { + throw fn(error); + }) + ); + } + + flatMap(fn: (data: D) => Future): Future { + return new Future(() => this._promise().then(data => fn(data)._promise())); + } + + chain(fn: (data: D) => Future): Future { + return this.flatMap(fn); + } + + toPromise(): Promise { + return this._promise(); + } + + static join2(async1: Future, async2: Future): Future { + return new Future(() => { + return rcpromise.CancellablePromise.all([async1._promise(), async2._promise()]); + }); + } + + static joinObj>>( + obj: Obj, + options: ParallelOptions = { concurrency: 1 } + ): Future< + Obj[keyof Obj] extends Future ? E : never, + { [K in keyof Obj]: Obj[K] extends Future ? U : never } + > { + const asyncs = Object.values(obj); + + return Future.parallel(asyncs, options).map(values => { + const keys = Object.keys(obj); + const pairs = keys.map((key, idx) => [key, values[idx]]); + return Object.fromEntries(pairs); + }); + } + + static sequential(asyncs: Future[]): Future { + return Future.block(async $ => { + const output: D[] = []; + for (const async of asyncs) { + const res = await $(async); + output.push(res); + } + return output; + }); + } + + static parallel(asyncs: Future[], options: ParallelOptions): Future { + return new Future(() => + rcpromise.buildCancellablePromise(async $ => { + const queue: rcpromise.CancellablePromise[] = []; + const output: D[] = new Array(asyncs.length); + + for (const [idx, async] of asyncs.entries()) { + const queueItem$ = async._promise().then(res => { + queue.splice(queue.indexOf(queueItem$), 1); + output[idx] = res; + }); + + queue.push(queueItem$); + + if (queue.length >= options.concurrency) + await $(rcpromise.CancellablePromise.race(queue)); + } + + await $(rcpromise.CancellablePromise.all(queue)); + return output; + }) + ); + } + + static sleep(ms: number): Future { + return new Future(() => rcpromise.CancellablePromise.delay(ms)).map(() => ms); + } + + static void(): Future { + return Future.success(undefined); + } + + static block(blockFn: (capture: CaptureAsync) => Promise): Future { + return new Future((): rcpromise.CancellablePromise => { + return rcpromise.buildCancellablePromise(capturePromise => { + const captureAsync: CaptureAsync = async => { + return capturePromise(async._promise()); + }; + + captureAsync.throw = function (error: E) { + throw error; + }; + + return blockFn(captureAsync); + }); + }); + } + + static block_() { + return function (blockFn: (capture: CaptureAsync) => Promise): Future { + return Future.block(blockFn); + }; + } +} + +export type Cancel = (() => void) | undefined; + +interface CaptureAsync { + (async: Future): Promise; + throw: (error: E) => never; +} + +type ParallelOptions = { concurrency: number }; + +export function getJSON(url: string): Future { + const abortController = new AbortController(); + + return Future.fromComputation((resolve, reject) => { + // exceptions: TypeError | DOMException[name=AbortError] + fetch(url, { method: "get", signal: abortController.signal }) + .then(res => res.json() as U) // exceptions: SyntaxError + .then(data => resolve(data)) + .catch((error: unknown) => { + if (isNamedError(error) && error.name === "AbortError") { + throw new Cancellation(); + } else if (error instanceof TypeError || error instanceof SyntaxError) { + reject(error); + } else { + reject(new TypeError("Unknown error")); + } + }); + + return () => abortController.abort(); + }); +} + +function isNamedError(error: unknown): error is { name: string } { + return Boolean(error && typeof error === "object" && "name" in error); +} diff --git a/src/domain/entities/generic/HashMap.ts b/src/domain/entities/generic/HashMap.ts new file mode 100644 index 0000000..57d98aa --- /dev/null +++ b/src/domain/entities/generic/HashMap.ts @@ -0,0 +1,128 @@ +import { Collection } from "./Collection"; +import * as imap from "typed-immutable-map"; + +/** + * Like ES6 Map, but immutable. + * + * ``` + * import HashMap from "./HashMap"; + * + * const map = HashMap.fromObject({ x: 1, y: 2, z: 3 }) + * .invert() + * .pickBy(([key, value]) => key > 1) + * .values(); // ["y", "z"] + */ + +/* Immutable Hash Map. Keys and values can be of any type. */ + +export class HashMap { + protected constructor(protected _map: imap.HashMap) {} + + /* Constructors */ + + static empty() { + return new HashMap(imap.empty()); + } + + static fromPairs(pairs: Array<[K, V]>): HashMap { + return new HashMap(imap.fromIterable(pairs)); + } + + static fromObject(obj: Record) { + return new HashMap(imap.fromObject(obj)); + } + + /* Methods */ + + get(key: K): V | undefined { + return imap.get(key, this._map); + } + + set(key: K, value: V): HashMap { + const updated = imap.set(key, value, this._map); + return new HashMap(updated); + } + + equals(map: HashMap): boolean { + const mapsHaveEqualSize = () => this.size === map.size; + const allValuesEqual = () => this.keys().every(k => this.get(k) === map.get(k)); + return mapsHaveEqualSize() && allValuesEqual(); + } + + keys(): K[] { + return Array.from(imap.keys(this._map)); + } + + values(): V[] { + return Array.from(imap.values(this._map)); + } + + toPairs(): Array<[K, V]> { + return Array.from(imap.entries(this._map)); + } + + get size(): number { + return this._map.size; + } + + pick(keys: K[]): HashMap { + return this.pickBy(([key, _value]) => keys.includes(key)); + } + + pickBy(pred: (pair: readonly [K, V]) => boolean): HashMap { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + return new HashMap(imap.filter((value, key) => pred([key!, value]), this._map)); + } + + omit(keys: K[]): HashMap { + return this.pickBy(([key, _value]) => !keys.includes(key)); + } + + omitBy(pred: (pair: readonly [K, V]) => boolean): HashMap { + return this.pickBy(([key, value]) => !pred([key, value])); + } + + toCollection(): Collection<[K, V]> { + return Collection.from(this.toPairs()); + } + + hasKey(key: K): boolean { + return imap.has(key, this._map); + } + + invert(): HashMap { + const invertedPairs = this.toPairs().map<[V, K]>(([key, value]) => [value, key]); + return HashMap.fromPairs(invertedPairs); + } + + invertMulti(): HashMap { + return this.toCollection().groupFromMap(([key, value]) => [value, key]); + } + + mapValues(mapper: (pair: [K, V]) => V2): HashMap { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + return new HashMap(imap.map((value, key) => mapper([key!, value]), this._map)); + } + + mapKeys(_mapper: (pair: [K, V]) => K2): HashMap { + const pairs = this.toPairs().map(([key, value]) => { + return [_mapper([key, value]), value] as [K2, V]; + }); + return HashMap.fromPairs(pairs); + } + + merge(other: HashMap): HashMap { + return HashMap.fromPairs(this.toPairs().concat(other.toPairs())); + } + + forEach(fn: (pair: readonly [K, V]) => void): void { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + imap.forEach((value, key) => fn([key!, value]), this._map); + } + + toObject(): ToObject { + return imap.toObject(this._map) as ToObject; + } +} + +type ToObject = K extends keyof any ? Record : Record; diff --git a/src/domain/entities/generic/Rec.ts b/src/domain/entities/generic/Rec.ts new file mode 100644 index 0000000..e2b15db --- /dev/null +++ b/src/domain/entities/generic/Rec.ts @@ -0,0 +1,67 @@ +/** + * Expand methods for Javascript objects. An example: + * + * ``` + * import _r from "./Rec"; + * + * const obj = _r({ x: 1, y: 2, s: "hello" }) + * .pick(["x", "y"]) + * .merge(_r({ z: 3 })) + * .value(); // { x: 1, y: 2, z: 3} + * ``` + */ + +export class Rec { + protected constructor(protected obj: T) {} + + static from(obj: T): Rec { + return new Rec(obj); + } + + keys(): Array { + return Object.keys(this.obj) as Array; + } + + values(): Array { + return Object.values(this.obj) as Array; + } + + toObject(): T { + return this.obj; + } + + value(): T { + return this.obj; + } + + pick(keys: K[]): Rec> { + return this.pickBy(key => keys.includes(key as K)) as unknown as Rec>; + } + + omit(keys: K[]): Rec> { + return this.pickBy(key => !keys.includes(key as K)) as unknown as Rec>; + } + + pickBy(filter: (key: keyof T) => boolean): Rec> { + const pairs = Object.entries(this.obj); + const filtered = Object.fromEntries(pairs.filter(([k, _v]) => filter(k as keyof T))); + return new Rec(filtered) as unknown as Rec>; + } + + omitBy(filter: (key: keyof T) => boolean): Rec> { + return this.pickBy(key => !filter(key)); + } + + merge(rec2: Rec): Rec> { + const merged = { ...this.obj, ...rec2.obj } as Merge; + return new Rec(merged); + } +} + +export default function _r(obj: T): Rec { + return Rec.from(obj); +} + +type Merge = Omit & T2; + +type BaseObj = Record; diff --git a/src/domain/entities/generic/Struct.ts b/src/domain/entities/generic/Struct.ts new file mode 100644 index 0000000..cf4d981 --- /dev/null +++ b/src/domain/entities/generic/Struct.ts @@ -0,0 +1,45 @@ +/** + * Base class for typical classes with attributes. Features: create, update. + * + * ``` + * class Counter extends Struct<{ id: Id; value: number }>() { + * add(value: number): Counter { + * return this._update({ value: this.value + value }); + * } + * } + * + * const counter1 = Counter.create({ id: "some-counter", value: 1 }); + * const counter2 = counter1._update({ value: 2 }); + * ``` + */ + +export function Struct() { + abstract class Base { + constructor(_attributes: Attrs) { + Object.assign(this, _attributes); + } + + _getAttributes(): Attrs { + const entries = Object.getOwnPropertyNames(this).map(key => [key, (this as any)[key]]); + return Object.fromEntries(entries) as Attrs; + } + + protected _update(partialAttrs: Partial): this { + const ParentClass = this.constructor as new (values: Attrs) => typeof this; + return new ParentClass({ ...this._getAttributes(), ...partialAttrs }); + } + + static create(this: new (attrs: Attrs) => U, attrs: Attrs): U { + return new this(attrs); + } + } + + return Base as { + new (values: Attrs): Attrs & Base; + create: (typeof Base)["create"]; + }; +} + +const GenericStruct = Struct(); + +export type GenericStructInstance = InstanceType; diff --git a/src/domain/entities/generic/__tests/Collection.spec.ts b/src/domain/entities/generic/__tests/Collection.spec.ts new file mode 100644 index 0000000..1b19d62 --- /dev/null +++ b/src/domain/entities/generic/__tests/Collection.spec.ts @@ -0,0 +1,336 @@ +import { describe, expect, test } from "vitest"; +import _, { Collection } from "$/domain/entities/generic/Collection"; +import { expectTypeOf } from "expect-type"; + +describe("Collection", () => { + test("range", () => { + expect(Collection.range(2, 5).toArray()).toEqual([2, 3, 4]); + expect(Collection.range(2, -1).toArray()).toEqual([]); + }); + + test("map", () => { + const values = _([1, 2, 3]).map(x => 2 * x); + expect(values.toArray()).toEqual([2, 4, 6]); + }); + + test("flatMap", () => { + const values = _([1, 2, 3]).flatMap(x => _([x, -x])); + expect(values.toArray()).toEqual([1, -1, 2, -2, 3, -3]); + }); + + test("flatten", () => { + expect( + _([[1, 2], [3], [], [4, 5]]) + .flatten() + .toArray() + ).toEqual([1, 2, 3, 4, 5]); + }); + + test("filter/select", () => { + const values = _([1, 2, 3, 0, 3]).select(x => x > 1); + expect(values.toArray()).toEqual([2, 3, 3]); + }); + + test("reject", () => { + const values = _([1, 2, 3]).reject(x => x > 1); + expect(values.toArray()).toEqual([1]); + }); + + test("enumerate", () => { + expect(_(["a", "b", "c"]).enumerate().toArray()).toEqual([ + [0, "a"], + [1, "b"], + [2, "c"], + ]); + }); + + test("compact", () => { + const values = _([1, undefined, 2, null, 3]).compact(); + + expect(values.toArray()).toEqual([1, 2, 3]); + expectTypeOf(values).toEqualTypeOf>(); + }); + + test("compactMap", () => { + const values = _([1, 2, 3]).compactMap(x => (x > 1 ? x.toString() : undefined)); + + expect(values.toArray()).toEqual(["2", "3"]); + expectTypeOf(values).toEqualTypeOf>(); + }); + + test("append", () => { + expect(_([1, 2]).append(3).toArray()).toEqual([1, 2, 3]); + }); + + test("includes", () => { + const values = _([1, 2, 3]); + + expect(values.includes(2)).toEqual(true); + expect(values.includes(4)).toEqual(false); + }); + + test("every/all", () => { + const values = _([1, 2, 3]); + + expect(values.every(x => x > 0)).toEqual(true); + expect(values.every(x => x > 1)).toEqual(false); + expect(values.every(x => x > 3)).toEqual(false); + + expect(values.all(x => x > 0)).toEqual(true); + expect(values.all(x => x > 1)).toEqual(false); + expect(values.all(x => x > 3)).toEqual(false); + }); + + test("some/any", () => { + const values = _([1, 2, 3]); + + expect(values.some(x => x > 0)).toEqual(true); + expect(values.some(x => x > 1)).toEqual(true); + expect(values.some(x => x > 3)).toEqual(false); + + expect(values.any(x => x > 0)).toEqual(true); + expect(values.any(x => x > 1)).toEqual(true); + expect(values.any(x => x > 3)).toEqual(false); + }); + + test("find", () => { + const values = _([1, 2, 3]); + + const valueFound = values.find(value => value === 2); + expect(valueFound).toEqual(2); + expectTypeOf(valueFound).toEqualTypeOf(); + + const valueNotFound = values.find(value => value === 4); + expect(valueNotFound).toEqual(undefined); + expectTypeOf(valueNotFound).toEqualTypeOf(); + + const valueDefault = values.find(value => value === 4, { or: 10 }); + expect(valueDefault).toEqual(10); + expectTypeOf(valueDefault).toEqualTypeOf(); + }); + + test("splitAt", () => { + const values = _([0, 1, 2, 3, 4, 5]); + + expect( + values + .splitAt([1, 3]) + .value() + .map(xs => xs.value()) + ).toEqual([[0], [1, 2], [3, 4, 5]]); + }); + + test("join", () => { + expect(_(["a", "b", "c"]).join(" - ")).toEqual("a - b - c"); + }); + + test("get", () => { + const xs = _(["a", "b"]); + + expect(xs.get(-1)).toEqual(undefined); + expect(xs.get(0)).toEqual("a"); + expect(xs.get(1)).toEqual("b"); + expect(xs.get(2)).toEqual(undefined); + }); + + test("getMany", () => { + const xs = _(["a", "b", "c"]); + + expect(xs.getMany([]).toArray()).toEqual([]); + expect(xs.getMany([0, 2]).toArray()).toEqual(["a", "c"]); + expect(xs.getMany([1, 3]).toArray()).toEqual(["b", undefined]); + }); + + test("intersperse", () => { + const xs = _(["a", "b", "c"]); + + expect(xs.intersperse("x").toArray()).toEqual(["a", "x", "b", "x", "c"]); + }); + + test("uniq", () => { + expect(_([1, 2, 2, 3, 1]).uniq().toArray()).toEqual([1, 2, 3]); + }); + + test("uniqBy", () => { + expect( + _(["a", "ab", "b", "c", "abc", "de", "xyz"]) + .uniqBy(s => s.length) + .toArray() + ).toEqual(["a", "ab", "abc"]); + }); + + test("reduce", () => { + expect(_([1, 2, 3]).reduce((acc, x) => acc + x, 10)).toEqual(16); + }); + + test("reverse", () => { + expect(_([1, 2, 3]).reverse().toArray()).toEqual([3, 2, 1]); + }); + + test("sort (strings)", () => { + expect(_(["a", "c", "b"]).sort().toArray()).toEqual(["a", "b", "c"]); + expect(_(["22", "3", "1"]).sort().toArray()).toEqual(["1", "22", "3"]); + }); + + test("sort (numbers)", () => { + expect(_([2, 33, 1, 4]).sort().toArray()).toEqual([1, 2, 4, 33]); + }); + + test("sortBy", () => { + const values = _([2, 33, 1, 4]); + + expect(values.sortBy(x => x).toArray()).toEqual([1, 2, 4, 33]); + expect(values.sortBy(x => -x).toArray()).toEqual([33, 4, 2, 1]); + expect(values.sortBy(x => x.toString()).toArray()).toEqual([1, 2, 33, 4]); + }); + + test("sortBy with custom compareFn", () => { + const values = _([2, 33, 1, 4]); + + expect( + values + .sortBy(x => x, { compareFn: (a, b) => (a === 1 ? -1 : b === 1 ? +1 : 0) }) + .toArray() + ).toEqual([1, 2, 33, 4]); + }); + + test("first", () => { + expect(_([1, 2, 3]).first()).toEqual(1); + expect(_([]).first()).toEqual(undefined); + }); + + test("last", () => { + expect(_([1, 2, 3]).last()).toEqual(3); + expect(_([]).last()).toEqual(undefined); + }); + + test("take", () => { + expect(_([1, 2, 3]).take(-10).toArray()).toEqual([]); + expect(_([1, 2, 3]).take(2).toArray()).toEqual([1, 2]); + expect(_([1, 2, 3]).take(10).toArray()).toEqual([1, 2, 3]); + }); + + test("drop", () => { + expect(_([1, 2, 3]).drop(-0).toArray()).toEqual([1, 2, 3]); + expect(_([1, 2, 3]).drop(2).toArray()).toEqual([3]); + expect(_([1, 2, 3]).drop(10).toArray()).toEqual([]); + }); + + test("pairwise", () => { + expect(_([1, 2, 3, 4]).pairwise().toArray()).toEqual([ + [1, 2], + [2, 3], + [3, 4], + ]); + }); + + test("chunk", () => { + expect(_([1, 2, 3, 4, 5]).chunk(2).toArray()).toEqual([[1, 2], [3, 4], [5]]); + }); + + test("cartesian", () => { + expect(_([[]]).cartesian().toArray()).toEqual([]); + + expect( + _([[1, 2], [3, 4], [5]]) + .cartesian() + .toArray() + ).toEqual([ + [1, 3, 5], + [1, 4, 5], + [2, 3, 5], + [2, 4, 5], + ]); + }); + + test("orderBy", () => { + const unsortedObjects = [ + { id: 1, value: 10 }, + { id: 2, value: 5 }, + { id: 3, value: 10 }, + { id: 4, value: 5 }, + ]; + + const sortedObjects = [ + { id: 4, value: 5 }, + { id: 2, value: 5 }, + { id: 3, value: 10 }, + { id: 1, value: 10 }, + ]; + + expect( + _(unsortedObjects) + .orderBy([ + [obj => obj.value, "asc"], + [obj => obj.id, "desc"], + ]) + .toArray() + ).toEqual(sortedObjects); + }); + + test("zipLongest", () => { + expect( + _([1, 2, 3]) + .zipLongest(_(["a", "b"])) + .toArray() + ).toEqual([ + [1, "a"], + [2, "b"], + [3, undefined], + ]); + }); + + test("zip", () => { + const zipped = _([1, 2, 3]).zip(_(["a", "b"])); + + expectTypeOf(zipped).toEqualTypeOf>(); + expect(zipped.toArray()).toEqual([ + [1, "a"], + [2, "b"], + ]); + }); + + test("prepend", () => { + expect(_([2, 3]).prepend(1).toArray()).toEqual([1, 2, 3]); + }); + + test("indexBy", () => { + const values = _(["a", "ab", "x", "xy"]).indexBy(s => s.length); + + expect(values.size).toEqual(2); + expect(values.get(1)).toEqual("x"); + expect(values.get(2)).toEqual("xy"); + }); + + test("groupBy", () => { + const values = _(["a", "ab", "x", "y", "xy"]).groupBy(s => s.length); + + expect(values.size).toEqual(2); + expect(values.get(1)).toEqual(["a", "x", "y"]); + expect(values.get(2)).toEqual(["ab", "xy"]); + }); + + test("groupBy", () => { + const values = _(["a", "ab", "x", "y", "xy"]).groupBy(s => s.length); + + expect(values.size).toEqual(2); + expect(values.get(1)).toEqual(["a", "x", "y"]); + expect(values.get(2)).toEqual(["ab", "xy"]); + }); + + test("groupAndMap", () => { + const values = _(["1", "12", "9", "89"]).groupFromMap(s => [s.length, parseInt(s)]); + + expect(values.size).toEqual(2); + expect(values.get(1)).toEqual([1, 9]); + expect(values.get(2)).toEqual([12, 89]); + }); + + test("toHashMap from pairs", () => { + const hashMap = _([1, 2]).toHashMap(x => [2 * x, x.toString()]); + + expect(hashMap.size).toEqual(2); + expect(hashMap.get(2)).toEqual("1"); + expect(hashMap.get(4)).toEqual("2"); + }); +}); diff --git a/src/domain/entities/generic/__tests/Future.spec.ts b/src/domain/entities/generic/__tests/Future.spec.ts new file mode 100644 index 0000000..4edf0ff --- /dev/null +++ b/src/domain/entities/generic/__tests/Future.spec.ts @@ -0,0 +1,280 @@ +import { describe, expect, test, it, vi, expectTypeOf } from "vitest"; +import { Future } from "$/domain/entities/generic/Future"; + +describe("Basic builders", () => { + test("Future.success", async () => { + const value$ = Future.success(10); + + expectTypeOf(value$).toEqualTypeOf>(); + await expectAsync(value$, { toEqual: 10 }); + }); + + test("Future.error", async () => { + const error = new CodedError("message: Error 1", { code: "E001" }); + const value$ = Future.error(error); + + expectTypeOf(value$).toEqualTypeOf>(); + await expectAsync(value$, { toThrow: error }); + }); +}); + +describe("run", () => { + it("calls the sucess branch with the value", async () => { + const success = vi.fn(); + const reject = vi.fn(); + + Future.success(1).run(success, reject); + await nextTick(); + + expect(success).toHaveBeenCalledTimes(1); + expect(success.mock.calls[0]).toEqual([1]); + expect(reject).not.toHaveBeenCalled(); + }); + + it("calls the error branch with the error", async () => { + const success = vi.fn(); + const reject = vi.fn(); + + const async = Future.error({ errorCode: "E12" }); + async.run(success, reject); + await nextTick(); + + expect(success).not.toHaveBeenCalled(); + expect(reject).toHaveBeenCalledTimes(1); + const error = reject.mock.calls[0]?.[0]; + expect(error).toEqual({ errorCode: "E12" }); + }); +}); + +describe("toPromise", () => { + it("converts a successful Async to promise", async () => { + await expect(Future.success(1).toPromise()).resolves.toEqual(1); + }); + + it("converts an error Async to promise", async () => { + await expect(Future.error(new Error("message")).toPromise()).rejects.toThrow( + new Error("message") + ); + }); +}); + +describe("helpers", () => { + test("Future.sleep", async () => { + await expectAsync(Future.sleep(1), { toEqual: 1 }); + }); + + test("Future.void", async () => { + await expectAsync(Future.void(), { toEqual: undefined }); + }); +}); + +describe("Transformations", () => { + test("map", async () => { + const value1$ = Future.success(1); + const value2$ = value1$.map(x => x.toString()); + + await expectAsync(value2$, { toEqual: "1" }); + }); + + test("mapError", async () => { + const value1$ = Future.error(1); + const value2$ = value1$.mapError(x => x.toString()); + expectTypeOf(value2$).toEqualTypeOf>(); + + await expectAsync(value2$, { toThrow: "1" }); + }); + + describe("flatMap/chain", () => { + it("builds an async value mapping to another async", async () => { + const value$ = Future.success(1) + .chain(value => Future.success(value + 2)) + .flatMap(value => Future.success(value + 3)) + .flatMap(value => Future.success(value + 4)); + + await expectAsync(value$, { toEqual: 10 }); + }); + }); +}); + +describe("Future.block", () => { + describe("when all awaited values in the block are successful", () => { + it("returns the returned value as an async", async () => { + const result$ = Future.block(async $ => { + const value1 = await $(Future.success(1)); + const value2 = await $(Future.success("2")); + const value3 = await $(Future.success(3)); + return value1 + parseInt(value2) + value3; + }); + + await expectAsync(result$, { toEqual: 6 }); + }); + }); + + describe("when any the awaited values in the block is an error", () => { + it("returns that error as the async result", async () => { + const result$ = Future.block(async $ => { + const value1 = await $(Future.success(1)); + const value2 = await $(Future.error("message") as Future); + const value3 = await $(Future.success(3)); + return value1 + value2 + value3; + }); + + await expectAsync(result$, { toThrow: "message" }); + }); + }); + + describe("when any the awaited values in the block is an error", () => { + it("returns that error as the async result", async () => { + const result$ = Future.block_()(async $ => { + const value1 = await $(Future.success(1)); + const value2 = await $(Future.error("message") as Future); + const value3 = await $(Future.success(3)); + return value1 + value2 + value3; + }); + + await expectAsync(result$, { toThrow: "message" }); + }); + }); + + describe("when the helper $.error is called", () => { + it("returns that async error as the async result", async () => { + const value1 = 1; + const double = vi.fn((x: number) => x); + + const result$ = Future.block_()(async $ => { + if (value1 > 0) $.throw(new Error("message")); + const value = await $(Future.success(double(1))); + return value; + }); + + await expectAsync(result$, { toThrow: new Error("message") }); + expect(double).not.toHaveBeenCalled(); + }); + }); +}); + +describe("fromComputation", () => { + describe("for a successful computation", () => { + it("return a success async", async () => { + const value$ = Future.fromComputation((resolve, _reject) => { + resolve(1); + return () => {}; + }); + + await expectAsync(value$, { toEqual: 1 }); + }); + }); + + describe("for an unsuccessful computation", () => { + it("return an error async", async () => { + const value$ = Future.fromComputation((_resolve, reject) => { + reject("message"); + return () => {}; + }); + + await expectAsync(value$, { toThrow: "message" }); + }); + }); +}); + +describe("cancel", () => { + it("cancels the async and the error branch is not called", async () => { + const success = vi.fn(); + const reject = vi.fn(); + + const cancel = Future.sleep(1).run(success, reject); + cancel?.(); + await nextTick(); + + expect(success).not.toHaveBeenCalled(); + expect(reject).toHaveBeenCalledTimes(0); + }); +}); + +describe("join2", () => { + it("returns a single async with the pair of values", async () => { + const join$ = Future.join2(Future.success(123), Future.success("hello")); + + expectTypeOf(join$).toEqualTypeOf>(); + await expectAsync(join$, { toEqual: [123, "hello"] }); + }); + + it("returns an error if some of the inputs is an error", async () => { + const join$ = Future.join2(Future.success(123), Future.error("Some error")); + + expectTypeOf(join$).toEqualTypeOf>(); + await expectAsync(join$, { toThrow: "Some error" }); + }); +}); + +describe("joinObj", () => { + it("returns an async with the object of values", async () => { + const join$ = Future.joinObj({ + n: Future.success(123), + s: Future.success("hello"), + }); + + await expectAsync(join$, { + toEqual: { n: 123, s: "hello" }, + }); + }); + + it("returns an error if some of the inputs is an error", async () => { + const join$ = Future.joinObj({ + n: Future.success(123) as Future, + s: Future.error("Some error") as Future, + }); + expectTypeOf(join$).toEqualTypeOf>(); + + await expectAsync(join$, { toThrow: "Some error" }); + }); +}); + +describe("sequential", () => { + it("returns an async containing all the values as an array", async () => { + const values$ = Future.sequential([ + Future.success(1), + Future.success(2), + Future.success(3), + ]); + await expectAsync(values$, { toEqual: [1, 2, 3] }); + }); +}); + +describe("parallel", async () => { + test("concurrency smaller than length", async () => { + const asyncs = [Future.sleep(3), Future.sleep(1), Future.sleep(2)]; + const values$ = Future.parallel(asyncs, { concurrency: 2 }); + await expectAsync(values$, { toEqual: [3, 1, 2] }); + }); + + test("concurrency larger than length", async () => { + const asyncs = [Future.sleep(3), Future.sleep(1), Future.sleep(2)]; + const values$ = Future.parallel(asyncs, { concurrency: 4 }); + await expectAsync(values$, { toEqual: [3, 1, 2] }); + }); +}); + +function nextTick() { + return new Promise(process.nextTick); +} + +export async function expectAsync( + value$: Future, + options: { toEqual: D; toThrow?: undefined } | { toEqual?: undefined; toThrow: E } +): Promise { + if ("toEqual" in options) { + await expect(value$.toPromise()).resolves.toEqual(options.toEqual); + } else { + await expect(value$.toPromise()).rejects.toMatchObject(options.toThrow as any); + } +} + +class CodedError extends Error { + code: string; + + constructor(message: string, data: { code: string }) { + super(message); + this.code = data.code; + } +} diff --git a/src/domain/entities/generic/__tests/HashMap.spec.ts b/src/domain/entities/generic/__tests/HashMap.spec.ts new file mode 100644 index 0000000..a666d0c --- /dev/null +++ b/src/domain/entities/generic/__tests/HashMap.spec.ts @@ -0,0 +1,189 @@ +import { describe, expect, test } from "vitest"; +import { HashMap } from "$/domain/entities/generic/HashMap"; + +const mapAbc123 = HashMap.fromPairs([ + ["a", 1], + ["b", 2], + ["c", 3], +]); + +describe("constructors", () => { + test("empty", () => { + const map = HashMap.empty(); + expect(map.size).toEqual(0); + expectMapPairsToEqual(map, []); + }); + + test("fromPairs", () => { + const map = HashMap.fromPairs([ + ["a", 1], + ["b", 2], + ]); + + expect(map.size).toEqual(2); + expectMapPairsToEqual(map, [ + ["a", 1], + ["b", 2], + ]); + }); + + test("fromObject", () => { + const map = HashMap.fromObject({ a: 1, b: 2 }); + + expect(map.size).toEqual(2); + expect(map.get("a")).toEqual(1); + expect(map.get("b")).toEqual(2); + }); +}); + +describe("conversors", () => { + test("toCollection", () => { + expect(mapAbc123.toCollection().toArray()).toEqual([ + ["a", 1], + ["b", 2], + ["c", 3], + ]); + }); + + test("toObj", () => { + const obj = mapAbc123.toObject(); + expect(obj).toEqual({ a: 1, b: 2, c: 3 }); + }); +}); + +describe("key/value inclusion", () => { + test("hasKey", () => { + expect(mapAbc123.hasKey("b")).toBe(true); + expect(mapAbc123.hasKey("d")).toBe(false); + }); +}); + +describe("get", () => { + test("returns value if present", () => { + expect(mapAbc123.get("a")).toEqual(1); + expect(mapAbc123.get("b")).toEqual(2); + }); + + test("returns undefined if not present", () => { + expect(mapAbc123.get("d")).toBeUndefined(); + }); +}); + +describe("set", () => { + test("creates key entry for non-existing key", () => { + expectMapPairsToEqual(mapAbc123.set("d", 4), [ + ["a", 1], + ["b", 2], + ["c", 3], + ["d", 4], + ]); + }); + + test("overwrites value for existing key", () => { + expectMapPairsToEqual(mapAbc123.set("a", 11), [ + ["a", 11], + ["b", 2], + ["c", 3], + ]); + }); +}); + +describe("transformations", () => { + test("invert", () => { + expectMapPairsToEqual(mapAbc123.invert(), [ + [1, "a"], + [2, "b"], + [3, "c"], + ]); + }); + + test("invertMulti", () => { + const mapAbc122 = HashMap.fromPairs([ + ["a", 1], + ["b", 2], + ["c", 2], + ]); + + expectMapPairsToEqual(mapAbc122.invertMulti(), [ + [1, ["a"]], + [2, ["b", "c"]], + ]); + }); + + test("mapValues", () => { + expectMapPairsToEqual( + mapAbc123.mapValues(([key, value]) => `${key}${value}`), + [ + ["a", "a1"], + ["b", "b2"], + ["c", "c3"], + ] + ); + }); + + test("mapKeys", () => { + const mapped = mapAbc123.mapKeys(([key, value]) => `${key}${value}`); + expectMapPairsToEqual(mapped, [ + ["a1", 1], + ["b2", 2], + ["c3", 3], + ]); + }); + + test("merge", () => { + const mapAcd = HashMap.fromPairs([ + ["a", 11], + ["c", 33], + ["d", 44], + ]); + + expectMapPairsToEqual(mapAbc123.merge(mapAcd), [ + ["a", 11], + ["b", 2], + ["c", 33], + ["d", 44], + ]); + }); + + test("forEach", () => { + const output: Array<[string, number]> = []; + mapAbc123.forEach(([key, value]) => output.push([key, value])); + + expect(output).toEqual([ + ["a", 1], + ["b", 2], + ["c", 3], + ]); + }); +}); + +describe("filtering by key or value", () => { + test("pick", () => { + expectMapPairsToEqual(mapAbc123.pick(["a", "c"]), [ + ["a", 1], + ["c", 3], + ]); + }); + + test("pickBy", () => { + expectMapPairsToEqual( + mapAbc123.pickBy(([k, v]) => k !== "b" && v > 2), + [["c", 3]] + ); + }); + + test("omit", () => { + expectMapPairsToEqual(mapAbc123.omit(["a", "c"]), [["b", 2]]); + }); + + test("omitBy", () => { + expectMapPairsToEqual( + mapAbc123.omitBy(([k, v]) => k === "b" || v === 1), + [["c", 3]] + ); + }); +}); + +function expectMapPairsToEqual(map: HashMap, pairsSet: Array<[K, V]>): void { + expect(map.toPairs()).toEqual(expect.arrayContaining(pairsSet)); +} diff --git a/src/domain/entities/generic/__tests/Rec.spec.ts b/src/domain/entities/generic/__tests/Rec.spec.ts new file mode 100644 index 0000000..7f406a9 --- /dev/null +++ b/src/domain/entities/generic/__tests/Rec.spec.ts @@ -0,0 +1,43 @@ +import { Rec } from "$/domain/entities/generic/Rec"; +import { expectTypeOf } from "expect-type"; + +const rec1 = Rec.from({ x: 1, s: "hello", n: null }); + +describe("Rec", () => { + test("keys", () => { + const keys = rec1.keys(); + expectTypeOf(keys).toEqualTypeOf>(); + expect(keys).toEqual(["x", "s", "n"]); + }); + + test("values", () => { + const values = rec1.values(); + expectTypeOf(values).toEqualTypeOf>(); + expect(values).toEqual([1, "hello", null]); + }); + + test("pick", () => { + const picked = rec1.pick(["x", "n"]); + expectTypeOf(picked).toEqualTypeOf>(); + expect(picked.toObject()).toEqual({ x: 1, n: null }); + }); + + test("pickBy", () => { + expect(rec1.pickBy(key => key === "x").toObject()).toEqual({ x: 1 }); + }); + + test("omit", () => { + expect(rec1.omit(["x", "n"]).toObject()).toEqual({ s: "hello" }); + }); + + test("omitBy", () => { + expect(rec1.omitBy(key => key === "x").toObject()).toEqual({ s: "hello", n: null }); + }); + + test("merge", () => { + const rec2 = Rec.from({ n: true, z: 123 }); + const merged = rec1.merge(rec2); + expectTypeOf(merged).toEqualTypeOf>(); + expect(merged.toObject()).toEqual({ x: 1, s: "hello", n: true, z: 123 }); + }); +}); diff --git a/src/domain/entities/generic/__tests/Struct.spec.ts b/src/domain/entities/generic/__tests/Struct.spec.ts new file mode 100644 index 0000000..1da70df --- /dev/null +++ b/src/domain/entities/generic/__tests/Struct.spec.ts @@ -0,0 +1,19 @@ +import { expect, test } from "vitest"; +import { Struct } from "$/domain/entities/generic/Struct"; + +class Person extends Struct<{ name: string; age: number }>() { + description() { + return `${this.name} has ${this.age} years`; + } +} + +const mary = new Person({ name: "Mary Cassatt", age: 54 }); + +test("public attributes", () => { + expect(mary.name).toEqual("Mary Cassatt"); + expect(mary.age).toEqual(54); +}); + +test("public custom methods", () => { + expect(mary.description()).toEqual("Mary Cassatt has 54 years"); +}); diff --git a/src/domain/repositories/UserRepository.ts b/src/domain/repositories/UserRepository.ts new file mode 100644 index 0000000..b197630 --- /dev/null +++ b/src/domain/repositories/UserRepository.ts @@ -0,0 +1,6 @@ +import { FutureData } from "$/data/api-futures"; +import { User } from "$/domain/entities/User"; + +export interface UserRepository { + getCurrent(): FutureData; +} diff --git a/src/domain/usecases/GetCurrentUserUseCase.ts b/src/domain/usecases/GetCurrentUserUseCase.ts new file mode 100644 index 0000000..e20f22d --- /dev/null +++ b/src/domain/usecases/GetCurrentUserUseCase.ts @@ -0,0 +1,11 @@ +import { FutureData } from "$/data/api-futures"; +import { User } from "$/domain/entities/User"; +import { UserRepository } from "$/domain/repositories/UserRepository"; + +export class GetCurrentUserUseCase { + constructor(private usersRepository: UserRepository) {} + + public execute(): FutureData { + return this.usersRepository.getCurrent(); + } +} diff --git a/src/domain/usecases/__tests__/GetCurrentUserUseCase.spec.ts b/src/domain/usecases/__tests__/GetCurrentUserUseCase.spec.ts new file mode 100644 index 0000000..91d9885 --- /dev/null +++ b/src/domain/usecases/__tests__/GetCurrentUserUseCase.spec.ts @@ -0,0 +1,11 @@ +import { getTestCompositionRoot } from "$/CompositionRoot"; + +describe("GetCurrentUserUseCase", () => { + it("returns user", async () => { + const compositionRoot = getTestCompositionRoot(); + + const res = compositionRoot.users.getCurrent.execute(); + const user = await res.toPromise(); + expect(user.name).toEqual("John Traore"); + }); +}); diff --git a/src/scripts/example.ts b/src/scripts/example.ts new file mode 100644 index 0000000..2d092db --- /dev/null +++ b/src/scripts/example.ts @@ -0,0 +1,27 @@ +import { command, run, string, option } from "cmd-ts"; +import path from "path"; +import { D2Api } from "$/types/d2-api"; + +function main() { + const cmd = command({ + name: path.basename(__filename), + description: "Show DHIS2 instance info", + args: { + url: option({ + type: string, + long: "dhis2-url", + short: "u", + description: "DHIS2 base URL. Example: http://USERNAME:PASSWORD@localhost:8080", + }), + }, + handler: async args => { + const api = new D2Api({ baseUrl: args.url }); + const info = await api.system.info.getData(); + console.debug(info); + }, + }); + + run(cmd, process.argv.slice(2)); +} + +main(); diff --git a/src/scripts/tsconfig.json b/src/scripts/tsconfig.json new file mode 100644 index 0000000..be7f725 --- /dev/null +++ b/src/scripts/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "target": "es2015", + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "commonjs", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve", + "noUnusedParameters": false, + "noUnusedLocals": false, + "experimentalDecorators": true, + "lib": ["dom", "dom.iterable", "esnext"] + }, + "include": ["src"] +} diff --git a/src/tests/setup.js b/src/tests/setup.js new file mode 100644 index 0000000..d5919ff --- /dev/null +++ b/src/tests/setup.js @@ -0,0 +1,9 @@ +import { expect, afterEach } from "vitest"; +import { cleanup } from "@testing-library/react"; +import matchers from "@testing-library/jest-dom/matchers"; + +expect.extend(matchers); + +afterEach(() => { + cleanup(); +}); diff --git a/src/types/d2-api.ts b/src/types/d2-api.ts new file mode 100644 index 0000000..b8db7a3 --- /dev/null +++ b/src/types/d2-api.ts @@ -0,0 +1,7 @@ +import { D2Api } from "@eyeseetea/d2-api/2.36"; +import { getMockApiFromClass } from "@eyeseetea/d2-api"; + +export { CancelableResponse } from "@eyeseetea/d2-api"; +export { D2Api } from "@eyeseetea/d2-api/2.36"; +export type { MetadataPick } from "@eyeseetea/d2-api/2.36"; +export const getMockApi = getMockApiFromClass(D2Api); diff --git a/src/types/d2-ui.d.ts b/src/types/d2-ui.d.ts new file mode 100644 index 0000000..c80113f --- /dev/null +++ b/src/types/d2-ui.d.ts @@ -0,0 +1,3 @@ +declare module "@dhis2/ui" { + export function HeaderBar(props: { className?: string; appName?: string }): React.ReactElement; +} diff --git a/src/types/d2.d.ts b/src/types/d2.d.ts new file mode 100644 index 0000000..8de6a6b --- /dev/null +++ b/src/types/d2.d.ts @@ -0,0 +1,6 @@ +declare module "d2" { + import { D2 } from "./d2"; + + export function init(config: { baseUrl: string; headers?: any; schemas?: string[] }): D2; + export function generateUid(): string; +} diff --git a/src/types/declarations.d.ts b/src/types/declarations.d.ts new file mode 100644 index 0000000..0357e4f --- /dev/null +++ b/src/types/declarations.d.ts @@ -0,0 +1,4 @@ +declare module "*.png"; +declare module "*.svg"; +declare module "*.jpeg"; +declare module "*.jpg"; diff --git a/src/types/i18n.d.ts b/src/types/i18n.d.ts new file mode 100644 index 0000000..636fc49 --- /dev/null +++ b/src/types/i18n.d.ts @@ -0,0 +1,5 @@ +declare module "@dhis2/d2-i18n" { + export function t(value: string, namespace?: object): string; + export function changeLanguage(locale: string); + export function setDefaultNamespace(namespace: string); +} diff --git a/src/utils/i18n-typed.ts b/src/utils/i18n-typed.ts new file mode 100644 index 0000000..ea917bf --- /dev/null +++ b/src/utils/i18n-typed.ts @@ -0,0 +1,38 @@ +// @ts-ignore +import i18n from "$/locales"; + +export function getModuleForNamespace(namespace: string) { + return { + t: function (...args: I18nTArgs): string { + const [s, options] = args; + return i18n.t(s, { ...options, ns: namespace }); + }, + changeLanguage: i18n.changeLanguage.bind(i18n), + setDefaultNamespace: i18n.setDefaultNamespace.bind(i18n), + }; +} + +type I18nTArgs = Interpolations extends Record + ? [Str] | [Str, Partial] + : [Str, Interpolations & Partial]; + +interface Options { + ns: string; // namespace + nsSeparator: string | boolean; // By default, ":", which breaks strings containing that char + lng: string; // language +} + +type Interpolations = Record, string | number>; + +type ExtractVars = Str extends `${string}{{${infer Var}}}${infer StrRest}` + ? Var | ExtractVars + : never; + +/* Tests */ + +type IsEqual = [T1] extends [T2] ? ([T2] extends [T1] ? true : false) : false; +const assertEqualTypes = (_eq: IsEqual): void => {}; + +assertEqualTypes, never>(true); +assertEqualTypes, "name">(true); +assertEqualTypes, "name" | "age">(true); diff --git a/src/utils/i18n.ts b/src/utils/i18n.ts new file mode 100644 index 0000000..270a8a7 --- /dev/null +++ b/src/utils/i18n.ts @@ -0,0 +1,3 @@ +import { getModuleForNamespace } from "./i18n-typed"; + +export default getModuleForNamespace("dhis2-skeleton-app"); diff --git a/src/utils/tests.tsx b/src/utils/tests.tsx new file mode 100644 index 0000000..f1f82e3 --- /dev/null +++ b/src/utils/tests.tsx @@ -0,0 +1,25 @@ +import { render, RenderResult } from "@testing-library/react"; +import { SnackbarProvider } from "@eyeseetea/d2-ui-components"; +import { ReactNode } from "react"; +import { AppContext, AppContextState } from "$/webapp/contexts/app-context"; +import { getTestCompositionRoot } from "$/CompositionRoot"; +import { createAdminUser } from "$/domain/entities/__tests__/userFixtures"; + +export function getTestContext() { + const context: AppContextState = { + currentUser: createAdminUser(), + compositionRoot: getTestCompositionRoot(), + }; + + return context; +} + +export function getReactComponent(children: ReactNode): RenderResult { + const context = getTestContext(); + + return render( + + {children} + + ); +} diff --git a/src/utils/ts-utils.ts b/src/utils/ts-utils.ts new file mode 100644 index 0000000..1eb926f --- /dev/null +++ b/src/utils/ts-utils.ts @@ -0,0 +1,76 @@ +export type Maybe = T | undefined; + +export type Dictionary = Record; + +export type PartialBy = Omit & Partial>; + +export type Expand = {} & { [P in keyof T]: T[P] }; + +export type GetValue = T[keyof T]; + +export type UnionFromValues> = T[number]; + +export type RequireAtLeastOne = Pick> & + { + [K in Keys]-?: Required> & Partial>>; + }[Keys]; + +/* Like Partial, but recursive on object values */ +export type RecursivePartial = { + [P in keyof T]?: T[P] extends (infer U)[] + ? RecursivePartial[] + : T[P] extends object + ? RecursivePartial + : T[P]; +}; + +/* +Extract properties from an object of a certain type: + type Person = {name: string, age: number, address: string}, + type StringFields = GetPropertiesByType + // "name" | "address" +*/ +export type GetPropertiesByType = { + [Key in keyof T]: T[Key] extends FieldType ? Key : never; +}[keyof T]; + +export type RequiredProps = { + [P in keyof T]-?: NonNullable; +}; + +export function isValueInUnionType(value: S, values: readonly T[]): value is T { + return (values as readonly S[]).indexOf(value) >= 0; +} + +export function fromPairs( + pairs: Array<[Key, Value]> +): Record { + const empty = {} as Record; + return pairs.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), empty); +} + +/* Define only the value type of an object and infer the keys: + // values :: Record<"key1" | "key2", {value: string}> + const values = recordOf<{value: string}>()({ + key1: {value: "1"}, + key2: {value: "2"}, + }) +*/ +export function recordOf() { + return function (obj: { [K in keyof Obj]: T }) { + return obj; + }; +} + +/* Use as default case for exhaustive switch-blocks: + switch (type) { + case "active": + case "inactive": + ... + default: + assertUnreachable(type); + } +*/ +export function assertUnreachable(value: never, message = `Invalid union value: ${value}`) { + throw new Error(message); +} diff --git a/src/utils/uid.ts b/src/utils/uid.ts new file mode 100644 index 0000000..9032ebb --- /dev/null +++ b/src/utils/uid.ts @@ -0,0 +1,52 @@ +// @ts-ignore +import MD5 from "md5.js"; + +// DHIS2 UID :: /^[a-zA-Z][a-zA-Z0-9]{10}$/ +const asciiLetters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; +const asciiNumbers = "0123456789"; +const asciiLettersAndNumbers = asciiLetters + asciiNumbers; +const uidSize = 10; +const range = Array.from(new Array(uidSize).keys()); +const uidStructure = [asciiLetters, ...range.map(() => asciiLettersAndNumbers)]; +const maxHashValue = uidStructure.map(cs => cs.length).reduce((acc, n) => acc * n, 1); + +/* Return pseudo-random UID from seed string */ +export function getUid(seed: string): string { + const md5hash: string = new MD5().update(seed).digest("hex"); + const nHashChars = Math.ceil(Math.log(maxHashValue) / Math.log(16)); + const hashInteger = parseInt(md5hash.slice(0, nHashChars), 16); + const result = uidStructure.reduce( + (acc, chars) => { + const { n, uid } = acc; + const nChars = chars.length; + const quotient = Math.floor(n / nChars); + const remainder = n % nChars; + const uidChar = chars[remainder]; + return { n: quotient, uid: uid + uidChar }; + }, + { n: hashInteger, uid: "" } + ); + + return result.uid; +} + +function randomWithMax(max: number) { + return Math.floor(Math.random() * max); +} + +export function generateUid(): string { + // First char should be a letter + let randomChars = asciiLetters.charAt(randomWithMax(asciiLetters.length)); + + for (let i = 1; i <= uidSize; i += 1) { + randomChars += asciiLettersAndNumbers.charAt(randomWithMax(asciiLettersAndNumbers.length)); + } + + return randomChars; +} + +const fullUidRegex = /^[a-zA-Z]{1}[a-zA-Z0-9]{10}$/; + +export function isValidUid(code: string | undefined | null): boolean { + return !!code && fullUidRegex.test(code); +} diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/src/webapp/components/card-grid/CardGrid.tsx b/src/webapp/components/card-grid/CardGrid.tsx new file mode 100644 index 0000000..9ddd3d7 --- /dev/null +++ b/src/webapp/components/card-grid/CardGrid.tsx @@ -0,0 +1,50 @@ +import React from "react"; +import styled from "styled-components"; +import { PageHeader } from "$/webapp/components/page-header/PageHeader"; +import { MenuCard, MenuCardProps } from "./MenuCard"; + +export const CardGrid: React.FC = React.memo(({ title, cards, onBackClick }) => { + return ( + + {!!title && } + + + {cards.map(({ key, title, children }) => ( +

+ ))} + + + ); +}); + +export interface CardGridProps { + cards: Card[]; + title?: string; + onBackClick?: () => void; +} + +export interface Card { + title?: string; + key: string; + children: MenuCardProps[]; +} + +const Container = styled.div` + margin-left: 30px; + display: flex; + flex-direction: column; +`; + +const Title = styled.h1` + font-size: 24px; + font-weight: 300; + color: rgba(0, 0, 0, 0.87); + padding: 15px 0px 15px; + margin: 0; +`; diff --git a/src/webapp/components/card-grid/MenuCard.tsx b/src/webapp/components/card-grid/MenuCard.tsx new file mode 100644 index 0000000..61680cc --- /dev/null +++ b/src/webapp/components/card-grid/MenuCard.tsx @@ -0,0 +1,76 @@ +import { + Card as MUICard, + CardActions as MUICardActions, + CardContent as MUICardContent, + CardHeader as MUICardHeader, + IconButton, + Tooltip, +} from "@material-ui/core"; +import AddIcon from "@material-ui/icons/Add"; +import ViewListIcon from "@material-ui/icons/ViewList"; +import React from "react"; +import styled from "styled-components"; +import i18n from "$/utils/i18n"; + +export const MenuCard: React.FC = React.memo( + ({ name, description, addAction, listAction = () => {} }) => { + return ( + +
+ + {description} + + + {addAction && ( + + + + + + )} + + {listAction && ( + + + + + + )} + + + ); + } +); + +export interface MenuCardProps { + name: string; + description?: string; + addAction?: () => void; + listAction?: () => void; +} + +const Card = styled(MUICard)` + padding: 0; + margin: 0.5rem; + float: left; + width: 230px; +`; + +const Content = styled(MUICardContent)` + height: 120px; + padding: 0.5rem 1rem; + font-size: 14px; +`; + +const Actions = styled(MUICardActions)` + margin-left: auto; +`; + +const Header = styled(MUICardHeader)` + padding: 1rem; + height: auto; + border-bottom: 1px solid #ddd; + cursor: pointer; + font-size: 15px; + font-weight: 500; +`; diff --git a/src/webapp/components/page-header/PageHeader.tsx b/src/webapp/components/page-header/PageHeader.tsx new file mode 100644 index 0000000..dc7a4f1 --- /dev/null +++ b/src/webapp/components/page-header/PageHeader.tsx @@ -0,0 +1,72 @@ +import { ButtonProps, Icon, IconButton as MUIIConButton, Tooltip } from "@material-ui/core"; +import { Variant } from "@material-ui/core/styles/createTypography"; +import Typography from "@material-ui/core/Typography"; +import { DialogButton } from "@eyeseetea/d2-ui-components"; +import React, { PropsWithChildren } from "react"; +import styled from "styled-components"; +import i18n from "$/utils/i18n"; + +export const PageHeader: React.FC = React.memo(props => { + const { variant = "h5", title, onBackClick, helpText, children } = props; + return ( +
+ {!!onBackClick && ( + + arrow_back + + )} + + + {title} + + + {helpText && } + + {children} +
+ ); +}); + +export interface PageHeaderProps extends PropsWithChildren { + variant?: Variant; + title: string; + onBackClick?: () => void; + helpText?: string; +} + +const Title = styled(Typography)` + display: inline-block; + font-weight: 300; +`; + +const Button: React.FC = ({ onClick }) => ( + + + help + + +); + +const HelpButton: React.FC<{ text: string }> = ({ text }) => ( + +); + +const IconButton = styled(MUIIConButton)` + margin-bottom: 8px; +`; + +const BackButton = styled(IconButton)` + padding-top: 10px; + margin-bottom: 5px; +`; diff --git a/src/webapp/components/share/Share.tsx b/src/webapp/components/share/Share.tsx new file mode 100644 index 0000000..bde3749 --- /dev/null +++ b/src/webapp/components/share/Share.tsx @@ -0,0 +1,140 @@ +import React from "react"; +import logo from "./logo-eyeseetea.png"; + +interface ShareProps { + visible: boolean; +} + +interface ShareState { + expanded: boolean; + hover: boolean; +} + +class Share extends React.PureComponent { + state: ShareState = { expanded: false, hover: false }; + + toggleExpanded = () => { + this.setState({ expanded: !this.state.expanded }); + }; + + openMainPage = () => { + window.open("http://www.eyeseetea.com/", "_blank"); + }; + + openTwitter = () => { + window.open("https://twitter.com/eyeseetealtd", "_blank"); + }; + + setHover = () => { + this.setState({ hover: true }); + }; + + unsetHover = () => { + this.setState({ hover: false }); + }; + + render() { + const { visible } = this.props; + const { expanded, hover } = this.state; + const shareStyles = hover ? { ...styles.share, ...styles.shareHover } : styles.share; + + if (!visible) return null; + + return ( +
+
+ +
+ + {expanded && ( +
+

+ +

+ +

+ +

+
+ )} +
+ ); + } +} + +const styles = { + eyeseeteaShare: { + backgroundColor: "rgb(243,243,243)", + position: "fixed" as const, + bottom: "0px", + right: "100px", + borderRadius: "0px", + height: "auto", + opacity: ".85", + paddingBottom: "30px", + width: "65px", + zIndex: 10001, + textAlign: "center" as const, + }, + + eyeseeteaShareButtons: { + width: "35px", + cursor: "pointer" as const, + backgroundColor: "white", + borderradius: 0, + opacity: 1, + color: "white", + boxShadow: "none", + textShadow: "none", + border: "0px", + textAlign: "center" as const, + }, + + eyeseeteaIcon: { + width: "15px", + }, + + twitterIcon: { + color: "#477726", + fontSize: "20px", + }, + + shareTab: { + bottom: "-3px", + right: "100px", + position: "fixed" as const, + zIndex: 10002, + }, + + share: { + textShadow: "none", + backgroundColor: "#ff9800", + color: "white", + width: "65px", + height: "38.5px", + cursor: "pointer", + border: "1px solid rgba(0, 0, 0, 0.1)", + borderRadius: "2px", + backgroundClip: "padding-box", + boxShadow: "0 4px 16px rgba(0, 0, 0, 0.2)", + }, + + shareHover: { + border: "2px solid #ff9800", + }, +}; + +export default Share; diff --git a/src/webapp/components/share/logo-eyeseetea.png b/src/webapp/components/share/logo-eyeseetea.png new file mode 100644 index 0000000000000000000000000000000000000000..6368320f3edcee7d769c80f3e7ca3ec35e43a060 GIT binary patch literal 16196 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 b#j^OIh?chRB?JBekM&YX?RlA^dFcNIZM>@f literal 0 HcmV?d00001 diff --git a/src/webapp/contexts/app-context.ts b/src/webapp/contexts/app-context.ts new file mode 100644 index 0000000..3e044f5 --- /dev/null +++ b/src/webapp/contexts/app-context.ts @@ -0,0 +1,19 @@ +import React, { useContext } from "react"; +import { CompositionRoot } from "$/CompositionRoot"; +import { User } from "$/domain/entities/User"; + +export interface AppContextState { + currentUser: User; + compositionRoot: CompositionRoot; +} + +export const AppContext = React.createContext(null); + +export function useAppContext() { + const context = useContext(AppContext); + if (context) { + return context; + } else { + throw new Error("App context uninitialized"); + } +} diff --git a/src/webapp/main.tsx b/src/webapp/main.tsx new file mode 100644 index 0000000..38cccb5 --- /dev/null +++ b/src/webapp/main.tsx @@ -0,0 +1,7 @@ +import ReactDOM from "react-dom/client"; +import { Dhis2App } from "./pages/app/Dhis2App"; + +const domElementId = "root"; +const root = document.getElementById(domElementId); +if (!root) throw new Error(`Root DOM element not found: id=${domElementId}`); +ReactDOM.createRoot(root).render(); diff --git a/src/webapp/pages/Router.tsx b/src/webapp/pages/Router.tsx new file mode 100644 index 0000000..e011f98 --- /dev/null +++ b/src/webapp/pages/Router.tsx @@ -0,0 +1,20 @@ +import React from "react"; +import { HashRouter, Route, Switch } from "react-router-dom"; +import { ExamplePage } from "./example/ExamplePage"; +import { LandingPage } from "./landing/LandingPage"; + +export function Router() { + return ( + + + } + /> + + {/* Default route */} + } /> + + + ); +} diff --git a/src/webapp/pages/app/App.css b/src/webapp/pages/app/App.css new file mode 100644 index 0000000..4f0ed8f --- /dev/null +++ b/src/webapp/pages/app/App.css @@ -0,0 +1,13 @@ +html { + background-color: #f3f3f3; + font-family: Roboto, Arial, sans-serif; + overflow-y: scroll; +} + +body { + margin: 0; +} + +li { + line-height: 1.75; +} diff --git a/src/webapp/pages/app/App.tsx b/src/webapp/pages/app/App.tsx new file mode 100644 index 0000000..435889b --- /dev/null +++ b/src/webapp/pages/app/App.tsx @@ -0,0 +1,75 @@ +import styled from "styled-components"; +import { HeaderBar } from "@dhis2/ui"; +import { SnackbarProvider } from "@eyeseetea/d2-ui-components"; +import { Feedback } from "@eyeseetea/feedback-component"; +import { MuiThemeProvider } from "@material-ui/core/styles"; +//@ts-ignore +import OldMuiThemeProvider from "material-ui/styles/MuiThemeProvider"; +import React, { useEffect, useState } from "react"; +import { appConfig } from "$/app-config"; +import { CompositionRoot } from "$/CompositionRoot"; +import Share from "$/webapp/components/share/Share"; +import { AppContext, AppContextState } from "$/webapp/contexts/app-context"; +import { Router } from "$/webapp/pages/Router"; +import "./App.css"; +import muiThemeLegacy from "./themes/dhis2-legacy.theme"; +import { muiTheme } from "./themes/dhis2.theme"; + +export interface AppProps { + compositionRoot: CompositionRoot; +} + +function App(props: AppProps) { + const { compositionRoot } = props; + const [showShareButton, setShowShareButton] = useState(false); + const [loading, setLoading] = useState(true); + const [appContext, setAppContext] = useState(null); + + useEffect(() => { + async function setup() { + const isShareButtonVisible = appConfig.appearance.showShareButton; + const currentUser = await compositionRoot.users.getCurrent.execute().toPromise(); + if (!currentUser) throw new Error("User not logged in"); + + setAppContext({ currentUser, compositionRoot }); + setShowShareButton(isShareButtonVisible); + setLoading(false); + } + setup(); + }, [compositionRoot]); + + if (loading) return null; + + return ( + + + + + + {appConfig.feedback && appContext && ( + + )} + +
+ + + +
+ + +
+
+
+ ); +} + +const StyledHeaderBar = styled(HeaderBar)` + div:first-of-type { + box-sizing: border-box; + } +`; + +export default React.memo(App); diff --git a/src/webapp/pages/app/Dhis2App.tsx b/src/webapp/pages/app/Dhis2App.tsx new file mode 100644 index 0000000..e1c0dc5 --- /dev/null +++ b/src/webapp/pages/app/Dhis2App.tsx @@ -0,0 +1,97 @@ +import React from "react"; +import i18n from "@dhis2/d2-i18n"; +import { Provider } from "@dhis2/app-runtime"; +import { D2Api } from "$/types/d2-api"; +import App from "./App"; +import { CompositionRoot, getWebappCompositionRoot } from "$/CompositionRoot"; + +export function Dhis2App(_props: {}) { + const [compositionRootRes, setCompositionRootRes] = React.useState({ + type: "loading", + }); + + React.useEffect(() => { + getData().then(setCompositionRootRes); + }, []); + + switch (compositionRootRes.type) { + case "loading": + return

Loading...

; + case "error": { + const { baseUrl, error } = compositionRootRes.error; + return ( +

+

{error.message}

+
+ Login {baseUrl} + + + ); + } + case "loaded": { + const { baseUrl, compositionRoot } = compositionRootRes.data; + const config = { baseUrl, apiVersion: 30 }; + + return ( + + + + ); + } + } +} + +type Data = { + compositionRoot: CompositionRoot; + baseUrl: string; +}; + +async function getData(): Promise { + const baseUrl = await getBaseUrl(); + + const auth = env["VITE_DHIS2_AUTH"]; + const [username = "", password = ""] = auth.split(":"); + const api = auth + ? new D2Api({ baseUrl: baseUrl, auth: { username, password } }) + : new D2Api({ baseUrl: baseUrl }); + const compositionRoot = getWebappCompositionRoot(api); + + const userSettings = await api.get<{ keyUiLocale: string }>("/userSettings").getData(); + configI18n(userSettings); + + try { + return { type: "loaded", data: { baseUrl, compositionRoot } }; + } catch (err) { + return { type: "error", error: { baseUrl, error: err as Error } }; + } +} + +const env = import.meta.env; +const isDev = env.DEV; + +async function getBaseUrl() { + if (isDev) { + return "/dhis2"; // See src/setupProxy.js + } else { + const manifest = await fetch("manifest.webapp").then(res => res.json()); + return manifest.activities.dhis.href; + } +} + +const isLangRTL = (code: string) => { + const langs = ["ar", "fa", "ur"]; + const prefixed = langs.map(c => `${c}-`); + return langs.includes(code) || prefixed.filter(c => code && code.startsWith(c)).length > 0; +}; + +const configI18n = ({ keyUiLocale }: { keyUiLocale: string }) => { + i18n.changeLanguage(keyUiLocale); + document.documentElement.setAttribute("dir", isLangRTL(keyUiLocale) ? "rtl" : "ltr"); +}; + +type Result = + | { type: "loading" } + | { type: "loaded"; data: Data } + | { type: "error"; error: E }; + +type CompositionRootResult = Result; diff --git a/src/webapp/pages/app/__tests__/App.spec.tsx b/src/webapp/pages/app/__tests__/App.spec.tsx new file mode 100644 index 0000000..34b332b --- /dev/null +++ b/src/webapp/pages/app/__tests__/App.spec.tsx @@ -0,0 +1,31 @@ +import { fireEvent, render } from "@testing-library/react"; + +import App from "$/webapp/pages/app/App"; +import { getTestContext } from "$/utils/tests"; +import { Provider } from "@dhis2/app-runtime"; + +describe("App", () => { + it("renders the feedback component", async () => { + const view = getView(); + + expect(await view.findByText("Send feedback")).toBeInTheDocument(); + }); + + it("navigates to page", async () => { + const view = getView(); + + fireEvent.click(await view.findByText("John")); + + expect(await view.findByText("Hello John")).toBeInTheDocument(); + expect(view.asFragment()).toMatchSnapshot(); + }); +}); + +function getView() { + const { compositionRoot } = getTestContext(); + return render( + + + + ); +} diff --git a/src/webapp/pages/app/__tests__/__snapshots__/App.spec.tsx.snap b/src/webapp/pages/app/__tests__/__snapshots__/App.spec.tsx.snap new file mode 100644 index 0000000..836af96 --- /dev/null +++ b/src/webapp/pages/app/__tests__/__snapshots__/App.spec.tsx.snap @@ -0,0 +1,81 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`App > navigates to page 1`] = ` + +
+
+
+ Send feedback + +
+
+
+
+ +
+ Detail page +
+
+

+ Hello John +

+
+
+
+ +
+
+ +`; diff --git a/src/webapp/pages/app/themes/dhis2-legacy.theme.ts b/src/webapp/pages/app/themes/dhis2-legacy.theme.ts new file mode 100644 index 0000000..7d4ed0d --- /dev/null +++ b/src/webapp/pages/app/themes/dhis2-legacy.theme.ts @@ -0,0 +1,63 @@ +import { + cyan100, + cyan500, + cyan700, + darkBlack, + grey100, + grey400, + grey500, + orange500, + white, +} from "material-ui/styles/colors"; +import { fade } from "material-ui/utils/colorManipulator"; +import Spacing from "material-ui/styles/spacing"; +import getMuiTheme from "material-ui/styles/getMuiTheme"; +import { MuiTheme } from "material-ui/styles"; + +const theme = { + spacing: Spacing, + fontFamily: "Roboto, sans-serif", + palette: { + primary1Color: cyan500, + primary2Color: cyan700, + primary3Color: cyan100, + accent1Color: orange500, + accent2Color: grey100, + accent3Color: grey500, + textColor: darkBlack, + alternateTextColor: white, + canvasColor: white, + borderColor: grey400, + disabledColor: fade(darkBlack, 0.3), + }, +}; + +function createAppTheme(style: MuiTheme) { + return { + sideBar: { + backgroundColor: "#F3F3F3", + backgroundColorItem: "transparent", + backgroundColorItemActive: style.palette?.accent2Color, + textColor: style.palette?.textColor, + textColorActive: "#276696", + borderStyle: "1px solid #e1e1e1", + }, + forms: { + minWidth: 350, + maxWidth: 900, + }, + formFields: { + secondaryColor: style.palette?.accent3Color, + }, + tabs: { + backgroundColor: "#E4E4E4", + inkBarColor: style.palette?.accent1Color, + textColor: "#666666", + }, + }; +} + +const muiTheme = getMuiTheme(theme); +const appTheme = createAppTheme(muiTheme); + +export default Object.assign({}, muiTheme, appTheme); diff --git a/src/webapp/pages/app/themes/dhis2.theme.ts b/src/webapp/pages/app/themes/dhis2.theme.ts new file mode 100644 index 0000000..29bddb6 --- /dev/null +++ b/src/webapp/pages/app/themes/dhis2.theme.ts @@ -0,0 +1,91 @@ +import { createTheme } from "@material-ui/core/styles"; + +// Color palette from https://projects.invisionapp.com/share/A7LT4TJYETS#/screens/302550228_Color +const colors = { + accentPrimary: "#1976d2", + accentPrimaryDark: "#004BA0", + accentPrimaryLight: "#63A4FF", + accentPrimaryLightest: "#EAF4FF", + + accentSecondary: "#fb8c00", + accentSecondaryLight: "#f57c00", + accentSecondaryDark: "#ff9800", + + black: "#000000", + greyBlack: "#494949", + grey: "#9E9E9E", + greyLight: "#E0E0E0", + greyDisabled: "#8E8E8E", + blueGrey: "#ECEFF1", + snow: "#F4F6F8", + white: "#FFFFFF", // Not included in palette! + + negative: "#E53935", + warning: "#F19C02", + positive: "#3D9305", + info: "#EAF4FF", +}; + +const palette = { + common: { + white: colors.white, + black: colors.black, + }, + action: { + active: colors.greyBlack, + disabled: colors.greyDisabled, + }, + text: { + primary: colors.black, + secondary: colors.greyBlack, + disabled: colors.greyDisabled, + hint: colors.grey, + }, + primary: { + main: colors.accentPrimary, + dark: colors.accentPrimaryDark, + light: colors.accentPrimaryLight, + lightest: colors.accentPrimaryLightest, // Custom extension, not used by default + // contrastText: 'white', + }, + secondary: { + main: colors.accentSecondary, + light: colors.accentSecondaryLight, + dark: colors.accentSecondaryDark, + contrastText: "#fff", + }, + error: { + main: colors.negative, // This is automatically expanded to main/light/dark/contrastText, what do we use here? + }, + status: { + //Custom colors collection, not used by default in MUI + negative: colors.negative, + warning: colors.warning, + positive: colors.positive, + info: colors.info, + }, + background: { + paper: colors.white, + default: colors.snow, + grey: "#FCFCFC", + hover: colors.greyLight, + }, + divider: colors.greyLight, + shadow: colors.grey, +}; + +export const muiTheme = createTheme({ + // colors, + palette, + typography: { + fontFamily: "Roboto, Helvetica, Arial, sans-serif", + // useNextVariants: true, + }, + overrides: { + MuiDivider: { + light: { + backgroundColor: palette.divider, // No light dividers for now + }, + }, + }, +}); diff --git a/src/webapp/pages/example/ExamplePage.tsx b/src/webapp/pages/example/ExamplePage.tsx new file mode 100644 index 0000000..c444f3b --- /dev/null +++ b/src/webapp/pages/example/ExamplePage.tsx @@ -0,0 +1,30 @@ +import React from "react"; +import { useHistory } from "react-router-dom"; +import styled from "styled-components"; +import i18n from "$/utils/i18n"; +import { PageHeader } from "$/webapp/components/page-header/PageHeader"; + +export const ExamplePage: React.FC = React.memo(props => { + const { name } = props; + const title = i18n.t("Hello {{name}}", { name }); + const history = useHistory(); + + const goBack = React.useCallback(() => { + history.goBack(); + }, [history]); + + return ( + + + {title} + + ); +}); + +const Title = styled.h2` + color: blue; +`; + +interface ExamplePageProps { + name: string; +} diff --git a/src/webapp/pages/example/__tests__/ExamplePage.spec.tsx b/src/webapp/pages/example/__tests__/ExamplePage.spec.tsx new file mode 100644 index 0000000..b4ea226 --- /dev/null +++ b/src/webapp/pages/example/__tests__/ExamplePage.spec.tsx @@ -0,0 +1,15 @@ +import { getReactComponent } from "$/utils/tests"; +import { ExamplePage } from "$/webapp/pages/example/ExamplePage"; + +describe("ExamplePage", () => { + it("renders the feedback component", async () => { + const view = getView(); + + expect(await view.findByText("Hello Mary")).toBeInTheDocument(); + expect(view.asFragment()).toMatchSnapshot(); + }); +}); + +function getView() { + return getReactComponent(); +} diff --git a/src/webapp/pages/example/__tests__/__snapshots__/ExamplePage.spec.tsx.snap b/src/webapp/pages/example/__tests__/__snapshots__/ExamplePage.spec.tsx.snap new file mode 100644 index 0000000..b1962f7 --- /dev/null +++ b/src/webapp/pages/example/__tests__/__snapshots__/ExamplePage.spec.tsx.snap @@ -0,0 +1,40 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`ExamplePage > renders the feedback component 1`] = ` + +
+ +
+ Detail page +
+
+

+ Hello Mary +

+
+`; diff --git a/src/webapp/pages/landing/LandingPage.tsx b/src/webapp/pages/landing/LandingPage.tsx new file mode 100644 index 0000000..2166c73 --- /dev/null +++ b/src/webapp/pages/landing/LandingPage.tsx @@ -0,0 +1,40 @@ +import { Typography } from "@material-ui/core"; +import React from "react"; +import { useHistory } from "react-router-dom"; +import { Card, CardGrid } from "$/webapp/components/card-grid/CardGrid"; +import { useAppContext } from "$/webapp/contexts/app-context"; +import i18n from "$/utils/i18n"; + +export const LandingPage: React.FC = React.memo(() => { + const history = useHistory(); + const { currentUser } = useAppContext(); + + const cards: Card[] = [ + { + title: i18n.t("Section"), + key: "main", + children: [ + { + name: "John", + description: "Entry point 1", + listAction: () => history.push("/for/John"), + }, + { + name: "Mary", + description: "Entry point 2", + listAction: () => history.push("/for/Mary"), + }, + ], + }, + ]; + + return ( + <> + + Current user: {currentUser.name} [{currentUser.id}] + + + + + ); +}); diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..0b6c2b7 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": false, + "skipLibCheck": true, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noUncheckedIndexedAccess": true, + "noEmit": true, + "jsx": "react-jsx", + "baseUrl": "./src", + "paths": { + "$/*": ["./*"] + } + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..13b35d0 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..1e062a8 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,73 @@ +/// +import { defineConfig, loadEnv } from "vite"; +import react from "@vitejs/plugin-react"; +import checker from "vite-plugin-checker"; +import nodePolyfills from "vite-plugin-node-stdlib-browser"; +import * as path from "path"; + +export default ({ mode }) => { + const env = { ...process.env, ...loadEnv(mode, process.cwd()) }; + const proxy = getProxy(env); + + // https://vitejs.dev/config/ + return defineConfig({ + base: "", // Relative paths + plugins: [ + nodePolyfills(), + react(), + checker({ + overlay: false, + typescript: true, + eslint: { + lintCommand: 'eslint "./src/**/*.{ts,tsx}"', + dev: { + logLevel: ["warning"], + }, + }, + }), + ], + test: { + environment: "jsdom", + include: ["**/*.spec.{ts,tsx}"], + setupFiles: "./src/tests/setup.js", + exclude: ["node_modules", "src/tests/playwright"], + globals: true, + }, + server: { + port: parseInt(env.VITE_PORT), + proxy: proxy, + }, + resolve: { + alias: { + $: path.resolve(__dirname, "./src"), + }, + }, + }); +}; + +function getProxy(env: Record) { + const dhis2UrlVar = "VITE_DHIS2_BASE_URL"; + const dhis2AuthVar = "VITE_DHIS2_AUTH"; + const targetUrl = env[dhis2UrlVar]; + const auth = env[dhis2AuthVar]; + const isBuild = env.NODE_ENV === "production"; + + if (isBuild) { + return {}; + } else if (!targetUrl) { + console.error(`Set ${dhis2UrlVar}`); + process.exit(1); + } else if (!auth) { + console.error(`Set ${dhis2AuthVar}`); + process.exit(1); + } else { + return { + "/dhis2": { + target: targetUrl, + changeOrigin: true, + auth: auth, + rewrite: path => path.replace(/^\/dhis2/, ""), + }, + }; + } +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..741c7a9 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,10844 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"$@link:./src": + version "0.0.0" + uid "" + +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@adobe/css-tools@^4.0.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.1.tgz#abfccb8ca78075a2b6187345c26243c1a0842f28" + integrity sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg== + +"@ampproject/remapping@^2.2.0", "@ampproject/remapping@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13": + version "7.22.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" + integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== + dependencies: + "@babel/highlight" "^7.22.13" + chalk "^2.4.2" + +"@babel/compat-data@^7.22.20", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.20.tgz#8df6e96661209623f1975d66c35ffca66f3306d0" + integrity sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw== + +"@babel/core@^7.0.0-0", "@babel/core@^7.16.0", "@babel/core@^7.20.12": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.20.tgz#e3d0eed84c049e2a2ae0a64d27b6a37edec385b7" + integrity sha512-Y6jd1ahLubuYweD/zJH+vvOY141v4f9igNQAQ+MBgq9JlHS2iTsZKn1aMsb3vGccZsXI16VzTBw52Xx0DWmtnA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.22.15" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-module-transforms" "^7.22.20" + "@babel/helpers" "^7.22.15" + "@babel/parser" "^7.22.16" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.22.20" + "@babel/types" "^7.22.19" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/eslint-parser@^7.16.3": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz#263f059c476e29ca4972481a17b8b660cb025a34" + integrity sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg== + dependencies: + "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" + eslint-visitor-keys "^2.1.0" + semver "^6.3.1" + +"@babel/generator@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.15.tgz#1564189c7ec94cb8f77b5e8a90c4d200d21b2339" + integrity sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA== + dependencies: + "@babel/types" "^7.22.15" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" + integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== + dependencies: + "@babel/compat-data" "^7.22.9" + "@babel/helper-validator-option" "^7.22.15" + browserslist "^4.21.9" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.11", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz#97a61b385e57fe458496fad19f8e63b63c867de4" + integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.4.2": + version "0.4.2" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz#82c825cadeeeee7aad237618ebbe8fa1710015d7" + integrity sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be" + integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== + dependencies: + "@babel/template" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.15.tgz#b95a144896f6d491ca7863576f820f3628818621" + integrity sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-transforms@^7.22.15", "@babel/helper-module-transforms@^7.22.20", "@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.22.9": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.20.tgz#da9edc14794babbe7386df438f3768067132f59e" + integrity sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-remap-async-to-generator@^7.22.5", "@babel/helper-remap-async-to-generator@^7.22.9": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== + +"@babel/helper-validator-identifier@^7.22.19", "@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.22.5": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" + integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== + +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" + +"@babel/helpers@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.15.tgz#f09c3df31e86e3ea0b7ff7556d85cdebd47ea6f1" + integrity sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.22.15" + "@babel/types" "^7.22.15" + +"@babel/highlight@^7.22.13": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" + integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.22.15", "@babel/parser@^7.22.16": + version "7.22.16" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.16.tgz#180aead7f247305cce6551bea2720934e2fa2c95" + integrity sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz#02dc8a03f613ed5fdc29fb2f728397c78146c962" + integrity sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz#2aeb91d337d4e1a1e7ce85b76a37f5301781200f" + integrity sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.22.15" + +"@babel/plugin-proposal-class-properties@^7.16.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-decorators@^7.16.4": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.15.tgz#dc774eae73ab8c28a644d490b45aa47a85bb0bf5" + integrity sha512-kc0VvbbUyKelvzcKOSyQUSVVXS5pT3UhRB0e3c9An86MvLqs+gx0dN4asllrDluqSa3m9YyooXKGOFVomnyFkg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.9" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/plugin-syntax-decorators" "^7.22.10" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.16.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-optional-chaining@^7.16.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" + integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.16.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" + integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.10.tgz#7d83ea04d893c442b78ebf4c3cbac59a7211deff" + integrity sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-flow@^7.14.5", "@babel/plugin-syntax-flow@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz#163b820b9e7696ce134df3ee716d9c0c98035859" + integrity sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-assertions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz#07d252e2aa0bc6125567f742cd58619cb14dce98" + integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-attributes@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz#ab840248d834410b829f569f5262b9e517555ecb" + integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-meta@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" + integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272" + integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958" + integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-async-generator-functions@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.15.tgz#3b153af4a6b779f340d5b80d3f634f55820aefa3" + integrity sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w== + dependencies: + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-to-generator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775" + integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== + dependencies: + "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.5" + +"@babel/plugin-transform-block-scoped-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024" + integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.15.tgz#494eb82b87b5f8b1d8f6f28ea74078ec0a10a841" + integrity sha512-G1czpdJBZCtngoK1sJgloLiOHUnkb/bLZwqVZD8kXmq0ZnVfTTWUcs9OWtp0mBtYJ+4LQY1fllqBkOIPhXmFmw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz#97a56e31ad8c9dc06a0b3710ce7803d5a48cca77" + integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-static-block@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz#dc8cc6e498f55692ac6b4b89e56d87cec766c974" + integrity sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.11" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz#aaf4753aee262a232bbc95451b4bdf9599c65a0b" + integrity sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.9" + "@babel/helper-split-export-declaration" "^7.22.6" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869" + integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.5" + +"@babel/plugin-transform-destructuring@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.15.tgz#e7404ea5bb3387073b9754be654eecb578324694" + integrity sha512-HzG8sFl1ZVGTme74Nw+X01XsUTqERVQ6/RLHo3XjGRzm7XD6QTtfS3NJotVgCGy8BzkDqRjRBD8dAyJn5TuvSQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dotall-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165" + integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-duplicate-keys@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz#b6e6428d9416f5f0bba19c70d1e6e7e0b88ab285" + integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dynamic-import@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz#2c7722d2a5c01839eaf31518c6ff96d408e447aa" + integrity sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz#402432ad544a1f9a480da865fda26be653e48f6a" + integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-export-namespace-from@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz#b3c84c8f19880b6c7440108f8929caf6056db26c" + integrity sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-flow-strip-types@^7.16.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz#0bb17110c7bf5b35a60754b2f00c58302381dee2" + integrity sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-flow" "^7.22.5" + +"@babel/plugin-transform-for-of@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz#f64b4ccc3a4f131a996388fae7680b472b306b29" + integrity sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143" + integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== + dependencies: + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-json-strings@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz#689a34e1eed1928a40954e37f74509f48af67835" + integrity sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920" + integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-logical-assignment-operators@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz#24c522a61688bde045b7d9bc3c2597a4d948fc9c" + integrity sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def" + integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-amd@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz#4e045f55dcf98afd00f85691a68fc0780704f526" + integrity sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ== + dependencies: + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-commonjs@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.15.tgz#b11810117ed4ee7691b29bd29fd9f3f98276034f" + integrity sha512-jWL4eh90w0HQOTKP2MoXXUpVxilxsB2Vl4ji69rSjS3EcZ/v4sBmn+A3NpepuJzBhOaEBbR7udonlHHn5DWidg== + dependencies: + "@babel/helper-module-transforms" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-systemjs@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.11.tgz#3386be5875d316493b517207e8f1931d93154bb1" + integrity sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.22.9" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.5" + +"@babel/plugin-transform-modules-umd@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz#4694ae40a87b1745e3775b6a7fe96400315d4f98" + integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ== + dependencies: + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz#1b248acea54ce44ea06dfd37247ba089fcf9758d" + integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz#debef6c8ba795f5ac67cd861a81b744c5d38d9fc" + integrity sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-numeric-separator@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz#498d77dc45a6c6db74bb829c02a01c1d719cbfbd" + integrity sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz#21a95db166be59b91cde48775310c0df6e1da56f" + integrity sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q== + dependencies: + "@babel/compat-data" "^7.22.9" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.22.15" + +"@babel/plugin-transform-object-super@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c" + integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" + +"@babel/plugin-transform-optional-catch-binding@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz#461cc4f578a127bb055527b3e77404cad38c08e0" + integrity sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.15.tgz#d7a5996c2f7ca4ad2ad16dbb74444e5c4385b1ba" + integrity sha512-ngQ2tBhq5vvSJw2Q2Z9i7ealNkpDMU0rGWnHPKqRZO0tzZ5tlaoz4hDvhXioOoaE0X2vfNss1djwg0DXlfu30A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz#719ca82a01d177af358df64a514d64c2e3edb114" + integrity sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-methods@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722" + integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-property-in-object@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz#ad45c4fc440e9cb84c718ed0906d96cf40f9a4e1" + integrity sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.11" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766" + integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz#3c4326f9fce31c7968d6cb9debcaf32d9e279a2b" + integrity sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-jsx-development@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" + integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.22.5" + +"@babel/plugin-transform-react-jsx-self@^7.18.6": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz#ca2fdc11bc20d4d46de01137318b13d04e481d8e" + integrity sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-jsx-source@^7.19.6": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz#49af1615bfdf6ed9d3e9e43e425e0b2b65d15b6c" + integrity sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-jsx@^7.14.9", "@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz#7e6266d88705d7c49f11c98db8b9464531289cd6" + integrity sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.22.5" + "@babel/types" "^7.22.15" + +"@babel/plugin-transform-react-pure-annotations@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz#1f58363eef6626d6fa517b95ac66fe94685e32c0" + integrity sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-regenerator@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz#8ceef3bd7375c4db7652878b0241b2be5d0c3cca" + integrity sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz#832cd35b81c287c4bcd09ce03e22199641f964fb" + integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-runtime@^7.16.4": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.15.tgz#3a625c4c05a39e932d7d34f5d4895cdd0172fdc9" + integrity sha512-tEVLhk8NRZSmwQ0DJtxxhTrCht1HVo8VaMzYT4w6lwyKBuHsgoioAUA7/6eT2fRfc5/23fuGdlwIxXhRVgWr4g== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + babel-plugin-polyfill-corejs2 "^0.4.5" + babel-plugin-polyfill-corejs3 "^0.8.3" + babel-plugin-polyfill-regenerator "^0.5.2" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624" + integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-spread@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b" + integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa" + integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff" + integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typeof-symbol@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz#5e2ba478da4b603af8673ff7c54f75a97b716b34" + integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typescript@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz#15adef906451d86349eb4b8764865c960eb54127" + integrity sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-typescript" "^7.22.5" + +"@babel/plugin-transform-unicode-escapes@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz#c723f380f40a2b2f57a62df24c9005834c8616d9" + integrity sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-property-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz#098898f74d5c1e86660dc112057b2d11227f1c81" + integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183" + integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-sets-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91" + integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/preset-env@^7.16.4": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.20.tgz#de9e9b57e1127ce0a2f580831717f7fb677ceedb" + integrity sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg== + dependencies: + "@babel/compat-data" "^7.22.20" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.15" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.15" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.22.5" + "@babel/plugin-syntax-import-attributes" "^7.22.5" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.22.5" + "@babel/plugin-transform-async-generator-functions" "^7.22.15" + "@babel/plugin-transform-async-to-generator" "^7.22.5" + "@babel/plugin-transform-block-scoped-functions" "^7.22.5" + "@babel/plugin-transform-block-scoping" "^7.22.15" + "@babel/plugin-transform-class-properties" "^7.22.5" + "@babel/plugin-transform-class-static-block" "^7.22.11" + "@babel/plugin-transform-classes" "^7.22.15" + "@babel/plugin-transform-computed-properties" "^7.22.5" + "@babel/plugin-transform-destructuring" "^7.22.15" + "@babel/plugin-transform-dotall-regex" "^7.22.5" + "@babel/plugin-transform-duplicate-keys" "^7.22.5" + "@babel/plugin-transform-dynamic-import" "^7.22.11" + "@babel/plugin-transform-exponentiation-operator" "^7.22.5" + "@babel/plugin-transform-export-namespace-from" "^7.22.11" + "@babel/plugin-transform-for-of" "^7.22.15" + "@babel/plugin-transform-function-name" "^7.22.5" + "@babel/plugin-transform-json-strings" "^7.22.11" + "@babel/plugin-transform-literals" "^7.22.5" + "@babel/plugin-transform-logical-assignment-operators" "^7.22.11" + "@babel/plugin-transform-member-expression-literals" "^7.22.5" + "@babel/plugin-transform-modules-amd" "^7.22.5" + "@babel/plugin-transform-modules-commonjs" "^7.22.15" + "@babel/plugin-transform-modules-systemjs" "^7.22.11" + "@babel/plugin-transform-modules-umd" "^7.22.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.22.5" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.11" + "@babel/plugin-transform-numeric-separator" "^7.22.11" + "@babel/plugin-transform-object-rest-spread" "^7.22.15" + "@babel/plugin-transform-object-super" "^7.22.5" + "@babel/plugin-transform-optional-catch-binding" "^7.22.11" + "@babel/plugin-transform-optional-chaining" "^7.22.15" + "@babel/plugin-transform-parameters" "^7.22.15" + "@babel/plugin-transform-private-methods" "^7.22.5" + "@babel/plugin-transform-private-property-in-object" "^7.22.11" + "@babel/plugin-transform-property-literals" "^7.22.5" + "@babel/plugin-transform-regenerator" "^7.22.10" + "@babel/plugin-transform-reserved-words" "^7.22.5" + "@babel/plugin-transform-shorthand-properties" "^7.22.5" + "@babel/plugin-transform-spread" "^7.22.5" + "@babel/plugin-transform-sticky-regex" "^7.22.5" + "@babel/plugin-transform-template-literals" "^7.22.5" + "@babel/plugin-transform-typeof-symbol" "^7.22.5" + "@babel/plugin-transform-unicode-escapes" "^7.22.10" + "@babel/plugin-transform-unicode-property-regex" "^7.22.5" + "@babel/plugin-transform-unicode-regex" "^7.22.5" + "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" + "@babel/preset-modules" "0.1.6-no-external-plugins" + "@babel/types" "^7.22.19" + babel-plugin-polyfill-corejs2 "^0.4.5" + babel-plugin-polyfill-corejs3 "^0.8.3" + babel-plugin-polyfill-regenerator "^0.5.2" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@^7.16.0": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.22.15.tgz#9a776892b648e13cc8ca2edf5ed1264eea6b6afc" + integrity sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-transform-react-display-name" "^7.22.5" + "@babel/plugin-transform-react-jsx" "^7.22.15" + "@babel/plugin-transform-react-jsx-development" "^7.22.5" + "@babel/plugin-transform-react-pure-annotations" "^7.22.5" + +"@babel/preset-typescript@^7.16.0": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.22.15.tgz#43db30516fae1d417d748105a0bc95f637239d48" + integrity sha512-HblhNmh6yM+cU4VwbBRpxFhxsTdfS1zsvH9W+gEjD0ARV9+8B4sNfpI6GuhePti84nuvhiwKS539jKPFHskA9A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.22.5" + "@babel/plugin-transform-modules-commonjs" "^7.22.15" + "@babel/plugin-transform-typescript" "^7.22.15" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.8", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.2.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.0", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.1", "@babel/runtime@^7.9.2": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.15.tgz#38f46494ccf6cf020bd4eed7124b425e83e523b8" + integrity sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.15", "@babel/template@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" + +"@babel/traverse@^7.22.15", "@babel/traverse@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.20.tgz#db572d9cb5c79e02d83e5618b82f6991c07584c9" + integrity sha512-eU260mPZbU7mZ0N+X10pxXhQFMGTeLb9eFS0mxehS8HZp9o1uSnFeWQuG1UPrlxgA7QoUzFhOnilHDp0AXCyHw== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.22.15" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.22.16" + "@babel/types" "^7.22.19" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.4.4": + version "7.22.19" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.19.tgz#7425343253556916e440e662bb221a93ddb75684" + integrity sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg== + dependencies: + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.19" + 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" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@date-io/core@1.3.6": + version "1.3.6" + resolved "https://registry.yarnpkg.com/@date-io/core/-/core-1.3.6.tgz#5c518cee6fa011e754293aebc6f1192360061797" + integrity sha512-cihiu8YaTHh7IqrzekbZcA7dh+7uhViHgWyxcKAO2cg1DYGYC5J7z4/rnGGL7swrK5xFVLIeyoxJ+sacziIRKg== + +"@date-io/core@1.x", "@date-io/core@^1.0.2": + version "1.3.13" + resolved "https://registry.yarnpkg.com/@date-io/core/-/core-1.3.13.tgz#90c71da493f20204b7a972929cc5c482d078b3fa" + integrity sha512-AlEKV7TxjeK+jxWVKcCFrfYAk8spX9aCyiToFIiLPtfQbsjmRGLIhb5VZgptQcJdHtLXo7+m0DuurwFgUToQuA== + +"@date-io/core@2.13.1": + version "2.13.1" + resolved "https://registry.yarnpkg.com/@date-io/core/-/core-2.13.1.tgz#f041765aff5c55fbc7e37fdd75fc1792733426d6" + integrity sha512-pVI9nfkf2qClb2Cxdq0Q4zJhdawMG4ybWZUVGifT78FDwzRMX2SwXBb55s5NRJk0HcIicDuxktmCtemZqMH1Zg== + +"@date-io/core@^2.13.1": + version "2.17.0" + resolved "https://registry.yarnpkg.com/@date-io/core/-/core-2.17.0.tgz#360a4d0641f069776ed22e457876e8a8a58c205e" + integrity sha512-+EQE8xZhRM/hsY0CDTVyayMDDY5ihc4MqXCrPxooKw19yAzUIC6uUqsZeaOFNL9YKTNxYKrJP5DFgE8o5xRCOw== + +"@date-io/moment@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@date-io/moment/-/moment-1.0.2.tgz#898ca98d2031376cfed3c7258a8078a26892a501" + integrity sha512-iQFRMH49cFYH/jzgYhdvmO+YfLRmsBZX293Vcfrvkfk+ovrd2g5KOtP5Je3CBlywfqNOQlCC3tKAxsIvaIDSYw== + dependencies: + "@date-io/core" "^1.0.2" + +"@date-io/moment@2.13.1": + version "2.13.1" + resolved "https://registry.yarnpkg.com/@date-io/moment/-/moment-2.13.1.tgz#122a51e4bdedf71ff3babb264427737dc022c1e6" + integrity sha512-XX1X/Tlvl3TdqQy2j0ZUtEJV6Rl8tOyc5WOS3ki52He28Uzme4Ro/JuPWTMBDH63weSWIZDlbR7zBgp3ZA2y1A== + dependencies: + "@date-io/core" "^2.13.1" + +"@dhis2-ui/alert@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/alert/-/alert-6.12.0.tgz#7661759c505334674bab668d5b82828f87b4768d" + integrity sha512-adPF4xzo1D1h5LPBD4LrEGYssBow3Lqw6LSOUoek5lmaKqqcZmKB9KZyvFIRiUWEvoO63Jka/dmE4i++oL8oOQ== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + "@dhis2/ui-icons" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/alert@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/alert/-/alert-6.15.2.tgz#95d2de9ba0f316798d55339cb672ea632b470018" + integrity sha512-dDjHQ+5eWIPPTxBlWLIM3lPa/3Bd4DHenODi6pLsajMKKpSmrdqVo/AazQVYIqUWquVpZv2Cm/pqs4lmziNiNQ== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + "@dhis2/ui-icons" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/alert@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/alert/-/alert-8.2.0.tgz#a7e5bf4acdce1339267fdadbee9bf6af0dbd4208" + integrity sha512-JqQO0bJJ9D/1ifw53fW8uHDVrbMnlVwGagayqnZuICDCQ68ihFid/QcbyBpC/ReJj6vIo0Nsfk6rfz2Vzv6Vtw== + dependencies: + "@dhis2-ui/portal" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/box@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/box/-/box-6.12.0.tgz#a0c16b7a8a12351c2ab3a19b4f9dbba6482f9ea7" + integrity sha512-rymrenQ+O5x0WnKDIpLvB3wRFszHCPU2GTtomg4jC/m00XJeCzwI4gQioKgbTx6Y2yF9XFe5ql9SW2VgK1gk+w== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/box@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/box/-/box-6.15.2.tgz#7b27190363ad9250a7ea092646ab11f39c86a9cb" + integrity sha512-HXAQcFDjwEgjM8ZPS49hbkfV/bTkjC/aqPuXyJ6mqPS6S7r5bl4zzGVhVOSmi5V81Lhspx5qr16b79t6TukJTg== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/box@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/box/-/box-8.2.0.tgz#3f90e1e697e31f33f96dfed41f5e1d170e30ff07" + integrity sha512-wMaFsiYn5dNPSD5kCEeelns9G4BJ6/mdLizYspOCDYyDTfaA5uHD74JPsE9ViznRdbZjwp2XgF3sQdSXaBoCig== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/button@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/button/-/button-6.12.0.tgz#263fa2c90a5f28629f49f0cd57cdad0d8c998651" + integrity sha512-mcy0Z+QI0QUjVwo4seU+fTuzVX8OhzyGuxGT27g6qxYhPvYrL5Z2i8uIWKpZRhvQPTA/l7eoo/DU2SwRmQWMMA== + dependencies: + "@dhis2-ui/layer" "6.12.0" + "@dhis2-ui/popper" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + "@dhis2/ui-icons" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/button@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/button/-/button-6.15.2.tgz#bdf44efa7ebd17df031c75495c833b6f8c4a8cae" + integrity sha512-MIhCN3fxHNOrlRCXVNqAi+sgZYCPfFzE/2hbMNLAtRWOQTBNqnicwfGNtcJY2wzkhO+y/8OJilmY2pBjZBjY1A== + dependencies: + "@dhis2-ui/layer" "6.15.2" + "@dhis2-ui/loader" "6.15.2" + "@dhis2-ui/popper" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + "@dhis2/ui-icons" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/button@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/button/-/button-8.2.0.tgz#30147f089ac1db4361cc02ea7c4104a42efb610c" + integrity sha512-rFes1K8FMLQEA7Sp9T6SvU4+ZfhGGRspDzAFpSsf3tSvIM/KhcRr7JO2GqdvvtSi72DPN6eHL9yCEtLoNBUqWw== + dependencies: + "@dhis2-ui/layer" "8.2.0" + "@dhis2-ui/loader" "8.2.0" + "@dhis2-ui/popper" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/card@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/card/-/card-6.12.0.tgz#86c576ca7aa2a5c12e83e98df8db49b3cf3f1b77" + integrity sha512-dptmtz+FovTgUtjMo9F3O/rpfX0529UT6NtGgyM+9hJ3l4rnDKNZqzNy2GXMRItBcDErSKy24ywDBNU8JnNjrQ== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/card@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/card/-/card-6.15.2.tgz#ac1db093fc1f3bc40fbca78f803e2a7d38dd69bb" + integrity sha512-y1KClCq1P9Kb5cqi/GgFeA593nrRnznXkK4mqW9xiygoB0R2ongPHSOAwJTSklff31Hzi9l2DIi1ZUgX871eaw== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/card@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/card/-/card-8.2.0.tgz#2f316f08e362152c940782e24f7a4d13ef96f4ed" + integrity sha512-anNv47HHUatbUAnHJwlpY16viEdF/ouQ+hU+Hh9PkuL0ADfzbmtmsdyeR7Z3jnuCPQbZK5CwVINfDkqMr5RulA== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/center@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/center/-/center-6.12.0.tgz#53b891d65618580bbc1ef6b23d1bde6a435bd58b" + integrity sha512-7ifx/ICrcHeQs1yGulodv7NbJTZrkRAdhB5tQaTfP236dpd2Tb2wZT1WMmZtcAddCIyp5WlAmfS3ABu9/8/INw== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/center@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/center/-/center-6.15.2.tgz#7e4461c165c30b87d629bf390f03e54e8dbcb2c8" + integrity sha512-pjXWJ5nbYwNpf0t8iy/7DVN+bJnvO8XWRz3uraS8NJ7IjhHtLl0sktpG0tIatiAzjrtO1QLD9ds0o4oRgT52MQ== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/center@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/center/-/center-8.2.0.tgz#f7b3499e455ccd28a91ce495dc3d9d5e9409f8dc" + integrity sha512-+O2apPf4umYJUWmy6KPAnR+0IEDRGIhkEgKBqShVZDq2oveSrVRf6qKmPfuBDNJS/HS/N+0yttm6OrafRbapIQ== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/checkbox@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/checkbox/-/checkbox-6.12.0.tgz#b0d802e9f6468a2a1602c103f4bcd3b9519363c9" + integrity sha512-hgyRemDSbqSxjbNAx67RgJso/vSbMdNJWwszgz4Nyb8gqtva8um7jMNFAMqWXzHdEZwiSUt467AEdKnJfpM7WQ== + dependencies: + "@dhis2-ui/field" "6.12.0" + "@dhis2-ui/required" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/checkbox@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/checkbox/-/checkbox-6.15.2.tgz#673d5f33025b4cb81984eb2c729eca5b14e12581" + integrity sha512-jM7KDsgq/fMOSoWTa08P3Qq6JzUM6zySsmCdEC4AHBmsD0u/2Eb1ktyv/BZQkPMx14lInSMtPsvcWCPaNtCtJg== + dependencies: + "@dhis2-ui/field" "6.15.2" + "@dhis2-ui/required" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/checkbox@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/checkbox/-/checkbox-8.2.0.tgz#c7cf14303609dd91aec3eff69331af5ce65fa384" + integrity sha512-Wm5hSdcTWs8DIoFiANPmzgM/szUTQRK77AjvDpwAJDJK2POEniBWzM7sDx44CeuMjrh1tMf6ol9pSb4Yy6XPgw== + dependencies: + "@dhis2-ui/field" "8.2.0" + "@dhis2-ui/required" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/chip@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/chip/-/chip-6.12.0.tgz#f90bac4f9b3cb5e4a374f8e14d8fb9c5d8c26269" + integrity sha512-llEsIp/N1tz6FKky/mrS0EHYWzuTocz2pne1ghHRjF0mBt+z/z28/2VaIGcMlDrSmzt1VbqLDjBa1tSyHeeG1g== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/chip@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/chip/-/chip-6.15.2.tgz#8684980c993bb208eeca6bf625b112be346ac14c" + integrity sha512-G8DBc0EG2bIouZQ4uBWu5iB9QbWgX9WdPuGCnf6ZVIKQcM/NHFc74e2WW2XLrqqbpvm0xhNyopSAZhtZ+9YYzw== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/chip@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/chip/-/chip-8.2.0.tgz#e7bc668281b6f5664830f2781c6f6d976f704df2" + integrity sha512-JNVcR8L6WZASd+IwJHgO84JiwjkHKIjKzVjzinb0zk6exqbT9mu2YiI0N3MNo+xmGmXvsVzu7wbfPtlVaDNC+g== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/cover@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/cover/-/cover-6.12.0.tgz#73549cc9a36ace5ddcd08d3c086c7d090942e1d0" + integrity sha512-HI2lo8xXdGsBShDjMpitrVokldtnm4fR09plnYJg39tJ23RuQEJDTYQczSXfYC6t60dGc/2mHsYFW3IMsraXsg== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/cover@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/cover/-/cover-6.15.2.tgz#a946e696b27f6b2425f67d8f97db83e998dbeca3" + integrity sha512-iyio99zj7X88kmFBKN94MY3KLEUfFfJaDpwrrq683igBaOyd8wqkLnu+rDE4v7sSklsQoeuficJFJoRwA3CDCw== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/cover@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/cover/-/cover-8.2.0.tgz#abce07cde4d407eca2884a9fcd65198530389482" + integrity sha512-NWaPMHBt40zBoABay72VqqwDHjBzM0X5WZjaHa0d1fQtKqMCH05EyGOFnnR0uOY7KiD0RbrqIDW+zc3oiVy80A== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/css@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/css/-/css-6.12.0.tgz#886da44a8a860ce37471a0ebfdefdfc51058780f" + integrity sha512-SsGkVMmc0u2iYX6zhAA0s0bl7sIX5QiF0pxXU3u2IYdNZLgpndBBVtOoaI1r4pCe8fCn2SmB8DuINtj3pNG21A== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/css@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/css/-/css-6.15.2.tgz#82cdf63d42a00d4b1a9b6233c031e226898a2135" + integrity sha512-fCA0xMCHA4piMC3EcImBuC8/XR8rlBcBFWTITtOQGrE8yHsTfv+Ik8SF+j9sW/jfg7p9mZXt9s1KnT3uOdg2Kw== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/css@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/css/-/css-8.2.0.tgz#f82ffc8cdc50deb4c1c845d9d0a6c6a7827f6bed" + integrity sha512-u2QYaYPp5V6dXmcaVeT0s5kCH+K11MRL75ZwzXGQfE6PZaAD9UzBtiF+0Ug/S0v8PwW5FzR2kFvndMvQY+iwMA== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/divider@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/divider/-/divider-6.12.0.tgz#c442518e6ce2ee2b1a938c96ba29556f919a2687" + integrity sha512-2E5kJe948n6b47JpU4Na6H01juvmJ73PKvyHWaZmCOlItiXErSSN/LnsSQjXx6+AUe1Jhv4B1NngSvTO3NUFRA== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/divider@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/divider/-/divider-6.15.2.tgz#009678eef72b1018849958b6d25572b29235ddc5" + integrity sha512-HCmrd5T7mK5YsVZO8fZDkYUBueuo5wdC8BGvY73s5PiwkQI0q1becj6dCjqGhaTlEY7z1RbXO0A/YQ62CkbDOQ== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/divider@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/divider/-/divider-8.2.0.tgz#e3bd02588151d8e357727c2aba3a2684631a1d75" + integrity sha512-Qd8YF44Zjsz0BTD4FbnC5qa6hfvNe6XhXUJ+59sMe85Y2gQn1nPekSaxoJORig4cNEBjCJrO01bJEB0LWsbeUA== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/field@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/field/-/field-6.12.0.tgz#f29e51f6b4f5d01a410a645dfad9d8770fd1dbd0" + integrity sha512-4eseArRKJeZJMzqKqfCgglycti6EnvkbwuN4UPy45ISboPLDXrp7NldUpy3fFOG1y8riGLR3Vn4xJutyiSznkA== + dependencies: + "@dhis2-ui/box" "6.12.0" + "@dhis2-ui/help" "6.12.0" + "@dhis2-ui/label" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/field@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/field/-/field-6.15.2.tgz#45939045db980fe1f6eb95c3c31aa3b59134a3ef" + integrity sha512-2b3gYg9W/gQlHiKoHHCsHbLF9WXjWPVkeRnBx1BF+E04rImbfwL6FPjin4RqtwJkskfW64/mVZW5V+Dn51cA6g== + dependencies: + "@dhis2-ui/box" "6.15.2" + "@dhis2-ui/help" "6.15.2" + "@dhis2-ui/label" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/field@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/field/-/field-8.2.0.tgz#f6cbac95907dce32e91e28d6b1a5a0e27b660a56" + integrity sha512-wetCSmXY6YvPBwaycSp7JrUS+AFaUzehWN927YayM/FkCEAEue31wVTkinRnYI03oXlXWADkjZikO4jt3g2guA== + dependencies: + "@dhis2-ui/box" "8.2.0" + "@dhis2-ui/help" "8.2.0" + "@dhis2-ui/label" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/file-input@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/file-input/-/file-input-6.12.0.tgz#ed1abb1e8dfb7f4e35a7a96b881ed51a4253157b" + integrity sha512-dFgdtAJ7JrgwlS32WWABvpB6LUAizTlipYEAJXloPvS5sqny+DTKtYTbyFALGmFiQaKwEjZAwghhkIqqjfK1qw== + dependencies: + "@dhis2-ui/button" "6.12.0" + "@dhis2-ui/field" "6.12.0" + "@dhis2-ui/label" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/file-input@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/file-input/-/file-input-6.15.2.tgz#18b170df11e89ed67af416f4d71d185dd5606fde" + integrity sha512-ehDgzscRp1m89My9Fk8EvgFUFuQyi7i1nhcFIGni+70vvmlPe/g4PvYSj8rju4MK3KR/2+7PoR6BLvyFE+H0LQ== + dependencies: + "@dhis2-ui/button" "6.15.2" + "@dhis2-ui/field" "6.15.2" + "@dhis2-ui/label" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/file-input@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/file-input/-/file-input-8.2.0.tgz#e17030822aa06eb31417397c2735c762aca71c3e" + integrity sha512-nGiayFHm2mEF2RJJkDT/xanjAY3j6hpxAnVSoeEEY8jbp2z9qqCjnBR+S7g1AoZ8Ax0Jr5kcCbajgCoXrQLYyw== + dependencies: + "@dhis2-ui/button" "8.2.0" + "@dhis2-ui/field" "8.2.0" + "@dhis2-ui/label" "8.2.0" + "@dhis2-ui/loader" "8.2.0" + "@dhis2-ui/status-icon" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/header-bar@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/header-bar/-/header-bar-6.12.0.tgz#6b5c5c33a87c58e3d0281d3396427634d48c2155" + integrity sha512-VOeLUgYMEQj34U5SwMwRncS7o0iQJXxx2mb4cmmW9nZdj9EPyZSY1n7zyekGmWGTIpOCqwDXqwfNK9fdJUM1KQ== + dependencies: + "@dhis2-ui/box" "6.12.0" + "@dhis2-ui/card" "6.12.0" + "@dhis2-ui/divider" "6.12.0" + "@dhis2-ui/input" "6.12.0" + "@dhis2-ui/logo" "6.12.0" + "@dhis2-ui/menu" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + "@dhis2/ui-icons" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/header-bar@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/header-bar/-/header-bar-6.15.2.tgz#5a0ef910759c955e28a9a6157010c0596e3edaf7" + integrity sha512-tZP54F6WWCTmO6HHbS2BvWKQVfFz1dYqCUir07XoLCFUhRsBcK325C/zASC6+PzrB24n7vLXS5jSdSMXSlX6Ew== + dependencies: + "@dhis2-ui/box" "6.15.2" + "@dhis2-ui/card" "6.15.2" + "@dhis2-ui/divider" "6.15.2" + "@dhis2-ui/input" "6.15.2" + "@dhis2-ui/logo" "6.15.2" + "@dhis2-ui/menu" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + "@dhis2/ui-icons" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/header-bar@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/header-bar/-/header-bar-8.2.0.tgz#e095d39c7806c6201c5beb9a6c14a3af66c59d11" + integrity sha512-mAcXDnYOo7FA7PqGV3Pvy8x/TkNiyfl5lvq9XYtgyN+VrPd7m7HXeRyFXBXgriUt7KCn4DcTm3YK/z+MjrYyJw== + dependencies: + "@dhis2-ui/box" "8.2.0" + "@dhis2-ui/card" "8.2.0" + "@dhis2-ui/center" "8.2.0" + "@dhis2-ui/divider" "8.2.0" + "@dhis2-ui/input" "8.2.0" + "@dhis2-ui/layer" "8.2.0" + "@dhis2-ui/loader" "8.2.0" + "@dhis2-ui/logo" "8.2.0" + "@dhis2-ui/menu" "8.2.0" + "@dhis2-ui/user-avatar" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + classnames "^2.3.1" + moment "^2.29.1" + prop-types "^15.7.2" + +"@dhis2-ui/help@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/help/-/help-6.12.0.tgz#cc269822c20399b25e98e8191d7f38309b617d69" + integrity sha512-tpfPC0HSPqPNipndM+aTdskhedEMmSjlYFbeJvYRJizqFBZrIjBIW9+CSsE7AEIigrGCdwQDyyP/lQvCa5r/dQ== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/help@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/help/-/help-6.15.2.tgz#ad009f14fc1721b5b1d736e4b1662208d9453ff8" + integrity sha512-mNsmR0TjhunEgJ8et3r21Bw5Q3WQaB38g6nY9W8Nbjdxt4mBgXxNKsAxCSLYrAdcNdUDzaY/tCBGWqbVkRcdFg== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/help@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/help/-/help-8.2.0.tgz#b2a813571f75585e9a40a1dcf77b774ab14b47cc" + integrity sha512-CWRQfGRfW1zrV8BCBFSW9HRGyUbp9abwpCkRWg6kj0n+g0zqnalHPq2hQxgdeSlqcC2El6WWev++SXmZurVFNg== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/input@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/input/-/input-6.12.0.tgz#d4a7eaee2649e97836f0074e3a099e282efeb3f0" + integrity sha512-uno4TJ0j95LFLMmjfeb8V3J1qcS7xqFJBrUVXDtq7AGjJCN/HYEdL+bNza5Um5NoC+RKy+PNUkkKyBKMGYVeIw== + dependencies: + "@dhis2-ui/box" "6.12.0" + "@dhis2-ui/field" "6.12.0" + "@dhis2-ui/input" "6.12.0" + "@dhis2-ui/loader" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + "@dhis2/ui-icons" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/input@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/input/-/input-6.15.2.tgz#f58a102ac5b35eca590c42af195c32aae1c6e891" + integrity sha512-Nt2bVJ21RAP5uDGoYbY+5joOjrcyQwBwjx7BOScLseC5Zb7MphRLmFGTxAy1kSIvl+9XFG/QTXS4lQTrXOYrlw== + dependencies: + "@dhis2-ui/box" "6.15.2" + "@dhis2-ui/field" "6.15.2" + "@dhis2-ui/input" "6.15.2" + "@dhis2-ui/loader" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + "@dhis2/ui-icons" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/input@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/input/-/input-8.2.0.tgz#b38e4ba65b2b97c4911bb4ef75ff48af208b0fd6" + integrity sha512-fD0foDSuh9tMRuZVePZoCwo2hJ0jFcMexeZVlSofkUpz678RIjvcLb0amxIke7tvmwurIvSpNDIJ8bEswX1PFQ== + dependencies: + "@dhis2-ui/box" "8.2.0" + "@dhis2-ui/field" "8.2.0" + "@dhis2-ui/input" "8.2.0" + "@dhis2-ui/loader" "8.2.0" + "@dhis2-ui/status-icon" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/intersection-detector@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/intersection-detector/-/intersection-detector-6.12.0.tgz#06228f0691496d619e10651f9196fa5c35d08468" + integrity sha512-r42BNUWbBqxtGBbX17A9W+Rz4VCLQQEAkYiUvmKKflRedKsy08JZma6HFV9zZFgLl9IuYE5A/aG/xQ9q0xMbLA== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/intersection-detector@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/intersection-detector/-/intersection-detector-6.15.2.tgz#cf9db0a7826f7c454864e7ea801f3a9aec456226" + integrity sha512-tP6wqu09cZHg5tvNLJteozk+YQQ4iAt1i4uaJrv4SF+iSir0EJ3hOkNQuxgkqi1qMFzmu4IVtF8OhZS1iCE0Cg== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/intersection-detector@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/intersection-detector/-/intersection-detector-8.2.0.tgz#06ca6410cac37657fe327c59d254f74dc5700d95" + integrity sha512-QOtM8xwUR5cabFLCCsfOlK15ErY98+o1Vwn/BiqLbDfaLjpvPCo4mqCps9e5+pCMi6fwZ8NJwl0DFqACS65pSA== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/label@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/label/-/label-6.12.0.tgz#1d9eef81c8b3b44c1095e26d50381923286d94cd" + integrity sha512-iuMvT4zYm+mqGPAUOOi5CSyCSVeFq5HGBHGNUvmznCaW7tp6X7PfeOYDMIK8wlac2VVk/OyEz8S/izfYrKBk4A== + dependencies: + "@dhis2-ui/required" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + +"@dhis2-ui/label@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/label/-/label-6.15.2.tgz#c6e703c9b9f129f6f4419baf0ef7ad3c9a974126" + integrity sha512-xNq1jFwj33TJADyYzyN4C6JTQxuZscoY3tUi93Mh2a2Pl8h+tz9FhM+7cM9H4FfTbYZpttBCwsP2v08viYE7Sg== + dependencies: + "@dhis2-ui/required" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + +"@dhis2-ui/label@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/label/-/label-8.2.0.tgz#2944acc4b7c97ae8f3cae65e012fee4cefccb2fb" + integrity sha512-YNdJv43ZuOuK9KsFlhA+UoToWmqlnDGkeeohaDdSz8Ptf8yXWwVczWd21wdD5gQCcvmZdunflA7VJvEc+1Yv8Q== + dependencies: + "@dhis2-ui/required" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/layer@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/layer/-/layer-6.12.0.tgz#6a2d8cc5448f99fbe2f54dc5e4b19654952921bd" + integrity sha512-l+FJI1ONyoJn7mZmP3v7dvjMTt8sxUPQIC4VqruekJKMeQd5doT+yfSZcwUepQp/pIkY2Yo/KI5bHF4I9jg03w== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/layer@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/layer/-/layer-6.15.2.tgz#46eac6f539351fa63f3fe1e0351556cf68c19594" + integrity sha512-MGf5rMGUT5a8MgFOEgafYAriU0WBQmjpAghcAumOVG+qPUrKzn0Ao7Fo8FsNcrUfW5VsAZUiYrJPXl9HAvv6sw== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/layer@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/layer/-/layer-8.2.0.tgz#888b2a1256d609224331617663fd70e786887660" + integrity sha512-pjVcPoSsAtk1ygBa3c4ZMqV7wfqYcvCsUUEpElskC7Cmfe+y1XXJJxUgVuKH4eOyt05tetO0YOfL7cbJcHhCog== + dependencies: + "@dhis2-ui/portal" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/legend@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/legend/-/legend-6.12.0.tgz#6f7f3a65b4047ffd6983c8806c76283f19857eba" + integrity sha512-HvvwoAU3tpb9mwKdkMrR9prAEGzarRjTdwBiLe1TqE3MKeYaVDAxrg+Fa+CXV5YwiiGn/aYYNlN49q+ZHJBPWQ== + dependencies: + "@dhis2-ui/required" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/legend@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/legend/-/legend-6.15.2.tgz#15f1d5ce387654147b4912fc180a17500e6323e4" + integrity sha512-miN75VfTU4SPA0kL1De5BBKot47NssRJRuohYlsIguEe2kqFZaP6mJBSsw+JG73PRX0eiCWjh6JEAEWX4Czuyw== + dependencies: + "@dhis2-ui/required" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/legend@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/legend/-/legend-8.2.0.tgz#1ce798125c84e8456acf1daeffd011efafc4333b" + integrity sha512-m3rJ4/hjwc7+MllW7IAySTsZXb+tY244PqbZ5iQJ5R74K6mOoL1ZsvXki8bhy0tFbeu09+7qF3Ohud5U9I6P/w== + dependencies: + "@dhis2-ui/required" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/loader@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/loader/-/loader-6.12.0.tgz#73c0531bd8fc9b86d657fc2b78493caf4731f7d8" + integrity sha512-d10Y+RD9YcWdjtu/fEjFeu86kDYLOlq+Ec2wxCOGx3NiiTY0xqtcvJIq870HwG4NFo97tp9h0JA0RQCM7eFUSw== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/loader@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/loader/-/loader-6.15.2.tgz#e770f976acce4ff8c91c183f2f5e0b91faa93d0e" + integrity sha512-MZOzbDYYKOky62a/DVsNTmATmoWErgBDDyA+bdab0U2gvImHi9NjrRM3vbTMz6746BaX4ChqSPtvmXHB4zmZFw== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/loader@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/loader/-/loader-8.2.0.tgz#1a234ea3098f59cb0ea62a24225fa4dc4de51c49" + integrity sha512-DBRzaj7mCT9rndFGF+3hfkg2fHTSR12EolhJHerhMEl8NM5i9vtitxWmGVyhWew6Va2F7Q/W+9RG8nXLNyJvmA== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/logo@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/logo/-/logo-6.12.0.tgz#0e8cee990209829a6afa7557979afcb1eefaf1f9" + integrity sha512-xSc0d847QzqaqPmnccYeXX+m9l34JHVsbiZfasYMAo1mb562LLGJd1oUF2VjOBTowaK0rigNoLVWM8TLNGpjzA== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/logo@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/logo/-/logo-6.15.2.tgz#6750613acbcc71f9d2d3ce55f00994c41732deec" + integrity sha512-2sBAh1QOO3X95aGVocKn3HrrrynB66+iUV7dbmOMJPem8QiDLD+Fsa9y20DdGt0a4+I83SlFp1ao8mU6TGwDvg== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/logo@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/logo/-/logo-8.2.0.tgz#117c53a031a613746a476f23bc942507177e9db0" + integrity sha512-5Eh3PAQSG8HrtcE+ZGTVcg8GTBw4qt3M4VhgdT+Tdmm47eYicnKlDelCaJ2Xd4GBuwMq3OjgdzxFzPldyThZQA== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/menu@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/menu/-/menu-6.12.0.tgz#840883489b3a2d0566e40932a26d972fb9fb05e2" + integrity sha512-LDCjHO0edb9rWIFl4uWHSAsvO5UGTcpoKpvl7Nxl2WgpcdHwQexSpS7P37mLDG25a745F+0hHDgqPEMTeGcAgA== + dependencies: + "@dhis2-ui/card" "6.12.0" + "@dhis2-ui/divider" "6.12.0" + "@dhis2-ui/layer" "6.12.0" + "@dhis2-ui/popper" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + "@dhis2/ui-icons" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/menu@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/menu/-/menu-6.15.2.tgz#7cf5dd281b2e61240d58791dc840fcaff13f842d" + integrity sha512-bXzPz2PK5JGOIEV619gIaBHZkoo3MCGCWys/r3Vzut2Z/qO69F0gjc5kH6DXad0SKO6UIsR+cWfRehmcAKNewQ== + dependencies: + "@dhis2-ui/card" "6.15.2" + "@dhis2-ui/divider" "6.15.2" + "@dhis2-ui/layer" "6.15.2" + "@dhis2-ui/popper" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + "@dhis2/ui-icons" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/menu@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/menu/-/menu-8.2.0.tgz#053ac3ee109bffda50159b76a670ab925ad9256a" + integrity sha512-y+SWbJAQpkcgp0UlficzLj0mXaT+W2ejfyIUulswb5La0xoBhQvFsw1NXcaUGRfcW0p6bCfWchaR9LaAvgkDoQ== + dependencies: + "@dhis2-ui/card" "8.2.0" + "@dhis2-ui/divider" "8.2.0" + "@dhis2-ui/layer" "8.2.0" + "@dhis2-ui/popper" "8.2.0" + "@dhis2-ui/portal" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/modal@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/modal/-/modal-6.12.0.tgz#86f782cd4a37886549ce5b73ba91bae1b3b7a960" + integrity sha512-YCl75ngAefYA9gKKN9Xdjwv22eCJQYN9GrGD36OCvQPT97dxpvr/GescnH4ZpDtQ7THSxVgE5SoTiKX4CkK1hg== + dependencies: + "@dhis2-ui/card" "6.12.0" + "@dhis2-ui/center" "6.12.0" + "@dhis2-ui/layer" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/modal@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/modal/-/modal-6.15.2.tgz#4d92831584a1ec8f6dbd7756a3042a2aa5ffd099" + integrity sha512-2A/k3VEqgYguOe0bJyZzy95OfOUSEChkuvNx7cQ1dsSlyq8/Il7/w5CLsgBwSI+vNQu4gBqqMFQMcs0NQsDMRA== + dependencies: + "@dhis2-ui/card" "6.15.2" + "@dhis2-ui/center" "6.15.2" + "@dhis2-ui/layer" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/modal@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/modal/-/modal-8.2.0.tgz#c395f11a91573791e9e2cb9715e5648f03c67622" + integrity sha512-7nE9VzkGOARecRGJJr+YsLHqmW+Dzt+K/g6mmiuOHP0uJm2F0tPewOa17hNEsdbXR233heeZHToTPP4pwNMejA== + dependencies: + "@dhis2-ui/card" "8.2.0" + "@dhis2-ui/center" "8.2.0" + "@dhis2-ui/layer" "8.2.0" + "@dhis2-ui/portal" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/node@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/node/-/node-6.12.0.tgz#6b1e0c6cff0b9cb092bbf1e68fc15ada77db0188" + integrity sha512-s4jv0v7yKMRvlH0cyHQHQAwXpAcbs3TRr/MEXtTdlLrX2iGuLB8PmCeDavF3X9d/dFwfpJcYdv5plsmjzOgwtw== + dependencies: + "@dhis2-ui/loader" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/node@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/node/-/node-6.15.2.tgz#72ba545771af69dbfb6653d1aa8b4a2f606ba21d" + integrity sha512-IKA28wWMNRzoU8LycY4z4b/yA0ljxEvhIcZUKq+em164dKKIMdIIfxN9WbN9+TkpJKJpmCJ+E4yVBDb8amrJUw== + dependencies: + "@dhis2-ui/loader" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/node@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/node/-/node-8.2.0.tgz#5042d50c76007a5afe8faeccf3bfc91ca5e846a1" + integrity sha512-26DcMCDz7nWc6lmGn7X5IebXgCZ7vYXAuTbWVrBHvv03qOOwe2Y/uilCdx1Kx20uDyMgaz8eG/g+GGhwUdkQlA== + dependencies: + "@dhis2-ui/loader" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/notice-box@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/notice-box/-/notice-box-6.12.0.tgz#e239733c6fde80ca3dc6b742dcdf76859af5eb72" + integrity sha512-k7ihDB5eZaIC4thHScfUH2NrOEs8TL8t05EkBW5QMuR5EmHlpNMDP2fPDXyqr5kP9C0r1J7/weKW0NqvcCnV2w== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + "@dhis2/ui-icons" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/notice-box@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/notice-box/-/notice-box-6.15.2.tgz#eb99e3a8af770bfad349d929f0fd0e0877c5d714" + integrity sha512-Vj4HyD+zzseza+SdboOneiq4gNsI3JFW5QygWoEiHk03qLweZuFkTczfPRokE46ns0TWEtH3zIeuCnQyFJataA== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + "@dhis2/ui-icons" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/notice-box@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/notice-box/-/notice-box-8.2.0.tgz#1b1f27712118733ec76ae7662ac7773bf8d6280e" + integrity sha512-5qq8dwlBCm33G+e4VD8FSEMuFP7LFD6A0ARe2k0WKMpCzIFzxLzPNWmm/5Rj8F+dpOfsWZGFYRpr4aCEoEhsKQ== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/organisation-unit-tree@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/organisation-unit-tree/-/organisation-unit-tree-6.12.0.tgz#82c0d5c9755c8e977e0d929bc826f9de9bc9dfe9" + integrity sha512-06ok1YBjwjxwhQZYLSUA6qgutqMqId08zYY/T79ZPFuNBPdSDl5B7L4yUWxsMFaaM9R1YQzLLfIluxV7FpxW4w== + dependencies: + "@dhis2-ui/checkbox" "6.12.0" + "@dhis2-ui/loader" "6.12.0" + "@dhis2-ui/node" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/organisation-unit-tree@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/organisation-unit-tree/-/organisation-unit-tree-6.15.2.tgz#90560588fbc3e92a524d2d2fbf8763f806fe5f1e" + integrity sha512-ibnOCWhZzw/rsdX8JNdqYd7XNYrf5ek4EcbeMHsD2ai7NCeZgaErbQCPdavEaWdvEOLNvXB1HAHcSV/THS9qsg== + dependencies: + "@dhis2-ui/checkbox" "6.15.2" + "@dhis2-ui/loader" "6.15.2" + "@dhis2-ui/node" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/organisation-unit-tree@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/organisation-unit-tree/-/organisation-unit-tree-8.2.0.tgz#3b046d4eb5d69c5c7007eb89c057922bfd8125fe" + integrity sha512-7EdBkeHqQJK+hajlTaIM48jkggyzhj8ZOifvM4uDEQRcjSxMxzN1bfUzK1ep7R8x7KUDXtekVH2q22Osl4n9JQ== + dependencies: + "@dhis2-ui/checkbox" "8.2.0" + "@dhis2-ui/loader" "8.2.0" + "@dhis2-ui/node" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/pagination@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/pagination/-/pagination-6.12.0.tgz#d92914ec18ec984548b744488d96edca4bd660fa" + integrity sha512-EwHaftRzqnrN4kazqyDpzoX7tqyFxgyVJOez8GJB5AZOfLaZDKl6BZv5aUfC4Sy8P2Ng2aJGQWvxa5WGnVv7vw== + dependencies: + "@dhis2-ui/button" "6.12.0" + "@dhis2-ui/select" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + "@dhis2/ui-icons" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/pagination@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/pagination/-/pagination-6.15.2.tgz#f81dc3310e61d428a7fd8fd934551cb5da79f5d0" + integrity sha512-A9ZHWPfX0f4QRrwpsMfvnuM3gZktdW8fjwyW1yJj46FeP5iKg3U3ztV4T+2NjRxhjJBT/mnYWJ0viWgH+PsEEQ== + dependencies: + "@dhis2-ui/button" "6.15.2" + "@dhis2-ui/select" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + "@dhis2/ui-icons" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/pagination@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/pagination/-/pagination-8.2.0.tgz#b993a1cf86c092da2778ad13cfca3dd21e8c6fc4" + integrity sha512-O+8c4DAjs5o4OoiA07JPpCOgy5bJa6U/B+YwUhOpx5gvOBXEvx+H4vexFy/BuPjX1pITsau8H8Y9ARq26nm94g== + dependencies: + "@dhis2-ui/button" "8.2.0" + "@dhis2-ui/select" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/popover@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/popover/-/popover-6.12.0.tgz#a6227d1573f65fad7368b1647d2406b3970cc2fd" + integrity sha512-zFY3Yv53hwjs5qf8YkMs+3YruMVNKk1+YJIo/VozeXK4ZX3iMCTK0vvVlt+evIwgwVuLY9aVK3YYt3qeFszLpQ== + dependencies: + "@dhis2-ui/layer" "6.12.0" + "@dhis2-ui/popper" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/popover@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/popover/-/popover-6.15.2.tgz#8c1a11f4a755d61596900139baf316673c7a8578" + integrity sha512-xIuYqVSoc6BrSiS11tTen4r92XJYgFhc4c97gD0UKkTKQS+AjonIx0MJRhjaTaCFrFGIcyq+Y1BGtV4mW6xhHw== + dependencies: + "@dhis2-ui/layer" "6.15.2" + "@dhis2-ui/popper" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/popover@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/popover/-/popover-8.2.0.tgz#ec2bd6ed80bd8c7e393f5254dd4a67fe7cda65ad" + integrity sha512-9VLEbcdnEWfWHC0wQqRAOigyHQakOlxWzKhP5BqQmquRPtYyj0TXj1ty5yakUPG8VrWUAWFxEgEv8Xg88TpZLQ== + dependencies: + "@dhis2-ui/layer" "8.2.0" + "@dhis2-ui/popper" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/popper@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/popper/-/popper-6.12.0.tgz#07800aeefb31c571dbd3fa539edd1565e54e6ea8" + integrity sha512-KtEskgPHMU7t53OR+HMdtJyazxH1njE1RhqN59wOyLf8Zog6gRbYsRd/UWPgqnnB8xgLKotyWWUShslCp0XTRw== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + "@popperjs/core" "^2.6.0" + classnames "^2.3.1" + prop-types "^15.7.2" + react-popper "^2.2.5" + resize-observer-polyfill "^1.5.1" + +"@dhis2-ui/popper@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/popper/-/popper-6.15.2.tgz#1c62ba43c1376dcfb62df480782ad649b35cf43d" + integrity sha512-QZ06ACjy4NV04zp+6j9rd5SapDuBBSnu8OliQJ24bWPIcWIYC86N4HBKuRUiwfflT/j1zNfNWvM9IvoNrYscQg== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + "@popperjs/core" "^2.6.0" + classnames "^2.3.1" + prop-types "^15.7.2" + react-popper "^2.2.5" + resize-observer-polyfill "^1.5.1" + +"@dhis2-ui/popper@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/popper/-/popper-8.2.0.tgz#d24ec045e9fd2dbf16927dc605e66b8708b7007a" + integrity sha512-OJVwov24HDboNFuvA/130jsmLQbYP+yfgIFP54ZXprwnG0ENd5tfXPdbdJIbYfSXxefWdVLZyJFsZXU7nTzKbw== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@popperjs/core" "^2.10.1" + classnames "^2.3.1" + prop-types "^15.7.2" + react-popper "^2.2.5" + resize-observer-polyfill "^1.5.1" + +"@dhis2-ui/portal@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/portal/-/portal-8.2.0.tgz#0af5b63a7fe28e4dde952888066c8416c42da1f6" + integrity sha512-qxgXIc+KFCWY1J/3XtVyzgcoS+R9XV14dEUCtTn3uq0xJF4LLia7jlEeorvXjx949JMKWXheLF0WuYt8Yw7eUg== + dependencies: + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/radio@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/radio/-/radio-6.12.0.tgz#7e1c0815c8a317b49e36e54a959053c188a4d783" + integrity sha512-l/WSppUpc5B4mu2DNfK0x5R8xpq7hj8/mQcvdWnZz7ycl/gf69lhoyQVi6YGdJOez0sJYzJnYya7ekf4Okmlqw== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/radio@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/radio/-/radio-6.15.2.tgz#eb2506f991f4053c074bc14e5b1fb5501d5ff340" + integrity sha512-zONnVmxehxX7UVdv59XYEQxXGKRg33hDHRKZTwdECuKvAguFM4XXcaRNqnQr1hBdTiOQocCPd+TUqV4xyukWcA== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/radio@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/radio/-/radio-8.2.0.tgz#581988d083c0b60ed9ec262c6c308238a44fb3e6" + integrity sha512-CK7Cd9cjjm9MsFdQwBc34QpT1wQqJTdqC+1aHiMF/64rrpcDjqgna8H0Gnx6rzudqORxop5cNaUiJD7/LNSilg== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/required@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/required/-/required-6.12.0.tgz#28c6a209f681e8eeeb30c752d467a023bf2c3b5d" + integrity sha512-t8j8Xe4MbmiDgQLiCIkmWLyuJjndPeVO9oHAaFp02IZ3YV9FrNtvlXkg2ydXEZgNaGbqCh+PwD6opstrTsSi5g== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/required@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/required/-/required-6.15.2.tgz#3cdff92ca19d8e053327e28bedc1f96f63caf102" + integrity sha512-ydZVBwm0gujka9bGmBb31SEqRAoLNcNHVBPjxv0S952CQsWaebOEY+baQS/3lIjb3gvEtWcIxc5UXO2+0FcuSQ== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/required@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/required/-/required-8.2.0.tgz#b9c220217c3344755967643853439c424f52c5d8" + integrity sha512-SPMnk8d3XGHUa/6Xy49x2rk0WEQ+lVo0wUtwthh7NB2/mGk5q/dxnl389NCTZybyVdqleTWXTCCrbjkGWFi7eg== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/segmented-control@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/segmented-control/-/segmented-control-8.2.0.tgz#fb8fafc62cb1b677b06c4822cd1411e8941dc2e2" + integrity sha512-WjTG0bZ3I71/QjZQNkwtHE4a9JLTgZ/kYbvA01bJlyqVK3o1Us1IUxB9suWs1ApMBarr+maM9n07aha42wVFqQ== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/select@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/select/-/select-6.12.0.tgz#eda5175b769d853922c6280bcded89049ded96d7" + integrity sha512-yCLTcWP+/hM8j0P6V7/gt81aAVPYrDxcFfuZku12kAWIJ0Cg+LXDC4sIhd9FEqxBICq/2Wizsw5s2Cy8Jjhf5g== + dependencies: + "@dhis2-ui/box" "6.12.0" + "@dhis2-ui/button" "6.12.0" + "@dhis2-ui/card" "6.12.0" + "@dhis2-ui/checkbox" "6.12.0" + "@dhis2-ui/chip" "6.12.0" + "@dhis2-ui/field" "6.12.0" + "@dhis2-ui/input" "6.12.0" + "@dhis2-ui/layer" "6.12.0" + "@dhis2-ui/loader" "6.12.0" + "@dhis2-ui/popper" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + "@dhis2/ui-icons" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/select@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/select/-/select-6.15.2.tgz#abe0d30483713bd3c592540f000a50a52a0799b2" + integrity sha512-VuRRXNIyBnhyeevLnrc6j29qFjD9MH0YdS0rmmjqddq0reAVT0gNyYQSWFOSOkaFxiKKYI7tRNE5GR0kHmEpdA== + dependencies: + "@dhis2-ui/box" "6.15.2" + "@dhis2-ui/button" "6.15.2" + "@dhis2-ui/card" "6.15.2" + "@dhis2-ui/checkbox" "6.15.2" + "@dhis2-ui/chip" "6.15.2" + "@dhis2-ui/field" "6.15.2" + "@dhis2-ui/input" "6.15.2" + "@dhis2-ui/layer" "6.15.2" + "@dhis2-ui/loader" "6.15.2" + "@dhis2-ui/popper" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + "@dhis2/ui-icons" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/select@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/select/-/select-8.2.0.tgz#f065fbcf160ceb8d461abf2bb567b9b21b024560" + integrity sha512-7FUkBk7dv8HccVxfjk9fuJA/+uDGmfmJP/CcuG5XVJweOLge+oYjLrlIWiDsUSVb/kkmWCN0qAbVVLirsvDv2Q== + dependencies: + "@dhis2-ui/box" "8.2.0" + "@dhis2-ui/button" "8.2.0" + "@dhis2-ui/card" "8.2.0" + "@dhis2-ui/checkbox" "8.2.0" + "@dhis2-ui/chip" "8.2.0" + "@dhis2-ui/field" "8.2.0" + "@dhis2-ui/input" "8.2.0" + "@dhis2-ui/layer" "8.2.0" + "@dhis2-ui/loader" "8.2.0" + "@dhis2-ui/popper" "8.2.0" + "@dhis2-ui/status-icon" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/selector-bar@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/selector-bar/-/selector-bar-8.2.0.tgz#333f3158d28ce7382cebb621df2fa4c5c9b62735" + integrity sha512-fM3u4YyEaMt/5Zk4PCv6Vewu+Mcw5DkoJ2KGRAviWBkvuEGEefSVLVbjy830BLpuDnwIMhSZhm+I/GAFGs6atA== + dependencies: + "@dhis2-ui/button" "8.2.0" + "@dhis2-ui/card" "8.2.0" + "@dhis2-ui/layer" "8.2.0" + "@dhis2-ui/popper" "8.2.0" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + "@testing-library/react" "^12.1.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/sharing-dialog@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/sharing-dialog/-/sharing-dialog-8.2.0.tgz#6973cc3914779b6350af9f30c51e90c72947875a" + integrity sha512-4DSCixOof+ftw8tObJ88AdqJCW0HhI7ORtSN80NTaAxPIz4h+3zIj8Gt54hXYozkTBnJSV4Oi406q2pX9DMAzw== + dependencies: + "@dhis2-ui/box" "8.2.0" + "@dhis2-ui/button" "8.2.0" + "@dhis2-ui/card" "8.2.0" + "@dhis2-ui/divider" "8.2.0" + "@dhis2-ui/input" "8.2.0" + "@dhis2-ui/layer" "8.2.0" + "@dhis2-ui/menu" "8.2.0" + "@dhis2-ui/modal" "8.2.0" + "@dhis2-ui/notice-box" "8.2.0" + "@dhis2-ui/popper" "8.2.0" + "@dhis2-ui/select" "8.2.0" + "@dhis2-ui/tab" "8.2.0" + "@dhis2-ui/tooltip" "8.2.0" + "@dhis2-ui/user-avatar" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + "@react-hook/size" "^2.1.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/status-icon@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/status-icon/-/status-icon-8.2.0.tgz#9e8a374f8901741500bad1c345f890103d7736ab" + integrity sha512-v3z65yYy4WHYVNseQs7XzLFgEwxebd9tiABQeMlBQvIvcEvwRL/Lm5hMtNZ+in0up4AuAXZc1wM2OMsRaAnCcA== + dependencies: + "@dhis2-ui/loader" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/switch@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/switch/-/switch-6.12.0.tgz#582b855c8bde610c12b7fbb8f16f1f4bf2fe8a87" + integrity sha512-6GcKYsTezpOV7Bi1HJbV44gkud6QViDtoloTn7MyCAxfgzTIy8iZlumUSeMut6dFpJBpLIhTXrTtzOKbjD/gAw== + dependencies: + "@dhis2-ui/field" "6.12.0" + "@dhis2-ui/required" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/switch@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/switch/-/switch-6.15.2.tgz#f06406b6882c22d660d425c15111ccfe0a971298" + integrity sha512-SxEmlvWIFZnd97PZkVKJyvrq+ftC+OAlF9Xa22mptAUYJr6XwykkkC9wd370fwiYHXCRVbqB+id963xkz1k4ZQ== + dependencies: + "@dhis2-ui/field" "6.15.2" + "@dhis2-ui/required" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/switch@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/switch/-/switch-8.2.0.tgz#473dfeca88737d5884202539b2c5fc7b03c0e4d0" + integrity sha512-sNO8cNKRHyiZv7dtKaAO72Y/GfbdiwrsEYG/GvrmiPqRzobytPTq3LWCFoucq08DzqkJrzlEMAiYC7JCX1w6bQ== + dependencies: + "@dhis2-ui/field" "8.2.0" + "@dhis2-ui/required" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/tab@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tab/-/tab-6.12.0.tgz#0de1e20e985a55a35a59f45ac666942015eda024" + integrity sha512-lWjfO8Ed13JYTddxI8SPezsuuAy+5PlNjzjZpceIXWJAuz6HfSlZUL9pxAnTy/0zhalLc+U5mJGfCEmDKtzS0g== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + "@dhis2/ui-icons" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/tab@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tab/-/tab-6.15.2.tgz#f05a6ba4cfe06ee731887775d8ae2cdd4f3b6b67" + integrity sha512-/gGYcOQJYzrU/Lr3s7VrjA7va/unAVSDFTMETlgt9V3erQQ4t+OBk6p3JpLfuvrsdgZkXIreYbROicYmkqODAg== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + "@dhis2/ui-icons" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/tab@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tab/-/tab-8.2.0.tgz#1437217b9c322c5ee1b5f6484921ce2d24a6d0e3" + integrity sha512-JiR3MEVNiBxuGRG8oCR3UVcJKdh6dJwRnHYpXGD/ut4TpyHJijn502ohs93li03JiUz3NWER8W1dBwPZ2CJbXw== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/table@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/table/-/table-6.12.0.tgz#025fac9284a8ddbb798946689632cdf7790b93ba" + integrity sha512-4peWNZaOLES3CHf3FLp0V+hubwch7VU8Z0XNnsuYvtmGaEcAqitbjIAjvYMmYa/rBTQhku7gtXWdoOazlmi9VA== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + "@dhis2/ui-icons" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/table@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/table/-/table-6.15.2.tgz#a7b9578a0bbe7ebe52aa4a5d152d9b0668012fda" + integrity sha512-Fib8YfGSwMT+08dt4QtcrtoHKbTR/0i+HM4AEloJWUuBjF1E93aeC6yH4oDTQnxKH2vR6rvyQWgLQ54X87H3OA== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + "@dhis2/ui-icons" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/table@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/table/-/table-8.2.0.tgz#4f0d699b59a49bb882ea45790d68f0ea917cee03" + integrity sha512-0eLvTcdOsCkR276qJbzWOxGutgmS+DjkyQ/Oumqkkrus40qapNw0w5k/Q1DkiT2E36U61lAGSbJ6kCt/JQ+pdQ== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/tag@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tag/-/tag-6.12.0.tgz#ced24b5d7da7d5f45419ede0d26d8ccfa7b00ef8" + integrity sha512-kAKSCBddBmB+eL6+5c72QouyvHj8Hr4oRlBW90fP97CYweHYaThvXmTbnobE2txjhRjZ10r9692xhCjpruozQQ== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/tag@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tag/-/tag-6.15.2.tgz#b7943c7d6202af179ca978608822084bfef9661c" + integrity sha512-F3u70BS37+y5fU8kM5hSNdEDH8DAZ4HZASXPDxIqpSzOYFmHwd9h/K5k8Dx9E28RqKh1feY61mmfbom9/7RYzw== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/tag@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tag/-/tag-8.2.0.tgz#851693c4f9bdc5ea529c33ba8e8708557ddeff0a" + integrity sha512-DHDI0XHYzt1N6KnflGUnkRyvUuI7CRCe6ZUUbyuYjvLa+cdg7tQNpSutrjppMsOW1t+AYC1NanDnj2UryKd0WA== + dependencies: + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/text-area@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/text-area/-/text-area-6.12.0.tgz#233d8347cdf3cf85613b76af00bed54b46a2f840" + integrity sha512-oY/39hFPMPNSg8kRl1Lxo9InD08gXIZdWeg1AINGSOBiiIKZ9ZU5AGS3Jf1AVYRpqnUjbERrqZU8AH5tQ2plWQ== + dependencies: + "@dhis2-ui/box" "6.12.0" + "@dhis2-ui/field" "6.12.0" + "@dhis2-ui/loader" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + "@dhis2/ui-icons" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/text-area@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/text-area/-/text-area-6.15.2.tgz#e7b575e053aeb4ff443140942886184aebe1ebf0" + integrity sha512-0BkNkc0dtFMfQalrPBpcj8SqFh275ZgkZjcnmjc1OSiGaDn22oYtQqL1/ER3TZYJRGPMGaXVfBjZOhkr939Zuw== + dependencies: + "@dhis2-ui/box" "6.15.2" + "@dhis2-ui/field" "6.15.2" + "@dhis2-ui/loader" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + "@dhis2/ui-icons" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/text-area@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/text-area/-/text-area-8.2.0.tgz#e5069ec3a032aca3a805acd00d7ff7c17106eb02" + integrity sha512-QIWBwbNkv4qZDBJXNAOL5XXzQH4AZairB1TAXRI3nguy+99MIJwOwL4sxeT/apHUN/eSyTI2xzIzsqsStgGewQ== + dependencies: + "@dhis2-ui/box" "8.2.0" + "@dhis2-ui/field" "8.2.0" + "@dhis2-ui/loader" "8.2.0" + "@dhis2-ui/status-icon" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/tooltip@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tooltip/-/tooltip-6.12.0.tgz#5eb14753419a2cd6ba6eee376e9022102f7ed8b8" + integrity sha512-nCgvApdVMQMnhmKzE7th8aWrJMYK+aSKsB9374NtAh+Pg0HZmOezPKRedWhmcNWcYr3EkG0gMhcRaR6t6DqzOw== + dependencies: + "@dhis2-ui/layer" "6.12.0" + "@dhis2-ui/popper" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/tooltip@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tooltip/-/tooltip-6.15.2.tgz#c96b2a0623c6c9004a6cc544f899f8e5b4e0ad3e" + integrity sha512-gdpuMS/rOav/c7KHGGDz0VxQbxeVHIK/j9V3sl2H7s2uj+0FWMMA1RiPqEofFIiKsV+RRwrCK3faus7jai6HXw== + dependencies: + "@dhis2-ui/layer" "6.15.2" + "@dhis2-ui/popper" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/tooltip@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/tooltip/-/tooltip-8.2.0.tgz#685fd000cd59a7203ab4cbf8c3a6faf6b70f21ab" + integrity sha512-YCAJv+V8RD2B6DXfYiUNhYnfiNhiL+yHTmXe8lBA7kBy/qZfLRN3xnJpSuWT9nEF4lpjgRbrJKhbh2OxTHXSnA== + dependencies: + "@dhis2-ui/popper" "8.2.0" + "@dhis2-ui/portal" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/transfer@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/transfer/-/transfer-6.12.0.tgz#8b395fce3408ee309081e590b60742dd57959fbc" + integrity sha512-LRBXj71MNwc7RPgagpn9Nf/fMEcQTuKw+N6x6fDXrit3kK2u3mfTS//NuMvRCFLknEmjBbmAOW9RHUzWxcBWSw== + dependencies: + "@dhis2-ui/button" "6.12.0" + "@dhis2-ui/field" "6.12.0" + "@dhis2-ui/input" "6.12.0" + "@dhis2-ui/intersection-detector" "6.12.0" + "@dhis2-ui/loader" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/transfer@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2-ui/transfer/-/transfer-6.15.2.tgz#f0a99ac7840dae924ee824da6302a3f1aa5d8f14" + integrity sha512-DtY273nqsb25EKBcSrvm90o7vLu1EOiaoZI3ZaLuFVBOqCNpLm/fDJZqQngy6PbkWna57dyc78JYa/gAXyoUpg== + dependencies: + "@dhis2-ui/button" "6.15.2" + "@dhis2-ui/field" "6.15.2" + "@dhis2-ui/input" "6.15.2" + "@dhis2-ui/intersection-detector" "6.15.2" + "@dhis2-ui/loader" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/transfer@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/transfer/-/transfer-8.2.0.tgz#60a5bfbb2cbb49b8827d004f4c569d46c5bbb3b5" + integrity sha512-aKzTs1cwXc2htninrSNHRmycnk3LsWXUKt0dLtWRTTXzHluOqpbD8oUi7uH1tTtjIzzM1RzDG7ukLHrKRk+WbA== + dependencies: + "@dhis2-ui/button" "8.2.0" + "@dhis2-ui/field" "8.2.0" + "@dhis2-ui/input" "8.2.0" + "@dhis2-ui/intersection-detector" "8.2.0" + "@dhis2-ui/loader" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2-ui/user-avatar@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2-ui/user-avatar/-/user-avatar-8.2.0.tgz#e01bc5a08260409af21e14cd03d08507123e5f1b" + integrity sha512-HiT7+0uciTfdMUBjgh+HLzhEYtRl3MQH1cnkF1Ofo0heZaqntFt2p10oHD7xOGmIoxKn9aAQlayYgNH0fhoNqg== + dependencies: + "@dhis2/prop-types" "^3.0.0" + "@dhis2/ui-constants" "8.2.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2/app-runtime@2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@dhis2/app-runtime/-/app-runtime-2.8.0.tgz#83ca6e96c299686ee72eea3e1825e04aa53cd5d2" + integrity sha512-Ru6x9L61fD7ITzVaxFqx88kV5/ypB9xSr8nHgRj4EE/kHl/aVejXuwnSS2OIWh80J3mtD1dpNRN/GJ8o0x0HYg== + dependencies: + "@dhis2/app-service-alerts" "2.8.0" + "@dhis2/app-service-config" "2.8.0" + "@dhis2/app-service-data" "2.8.0" + +"@dhis2/app-service-alerts@2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@dhis2/app-service-alerts/-/app-service-alerts-2.8.0.tgz#f480043a15b5a2b7d90a6e74931ddd3ebb65aa1c" + integrity sha512-hpMqdxCG9w5H2EZyLPQKcKzCdp/Sof68ZGd85lNHo+1c10+1pWhKAjt/p3zoRllHppp17TbEgKoXa1oRx2NeHg== + +"@dhis2/app-service-config@2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@dhis2/app-service-config/-/app-service-config-2.8.0.tgz#4ce7520e28a7700fa11ad7bcba6468a0a58751a4" + integrity sha512-SZnoa2EjsgV8a1QfnSk6fqxORV3pRcA+SYyz/H/nkr/VodkdgmO5CiwlZxXW8pG+4i6sbMGjGualam2jHF34wg== + +"@dhis2/app-service-data@2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@dhis2/app-service-data/-/app-service-data-2.8.0.tgz#9cd347127968cb6f3c8a4ab0fc6699ea7058f835" + integrity sha512-5doyL4bxRMdMXY4RtWo2O3NVGwSDOSUY3hGPXaF1TeFWAqujlPTx17uDw6wEelN6LaryAnVwId2Ep3FOV8v5MA== + +"@dhis2/d2-i18n-extract@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@dhis2/d2-i18n-extract/-/d2-i18n-extract-1.0.8.tgz#9d98690d522a51895c8ef3fe7136f026b0f8dacd" + integrity sha512-wjQ5J0v8Td12+KcQYSuuZ1tQLReXJ1gBSqkyImf2aNtLwJKERaTOjZ71da+GXdHtd6ph/DP1ezQvFDFKhBHa/A== + dependencies: + argparse "^1.0.10" + i18next-conv "^6.0.0" + i18next-scanner "^2.4.4" + +"@dhis2/d2-i18n-generate@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@dhis2/d2-i18n-generate/-/d2-i18n-generate-1.2.0.tgz#4b7944eb4046bb1452b9ce7598b13b5c5b80c984" + integrity sha512-1jdcRs6ZA+WvK2h93y4nGSPAnvqlhAMR5YMEv4+c7bs6fjcG7UHevIK8xdm95hRATYGVhbegQRIuNWWAQ8/ylw== + dependencies: + argparse "^1.0.10" + handlebars "^4.0.11" + i18next-conv "^6.0.0" + moment "^2.22.1" + rimraf "^2.6.2" + +"@dhis2/d2-i18n@1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@dhis2/d2-i18n/-/d2-i18n-1.0.6.tgz#2914be8acf296f3a6bf7b51c76c46da6a120b0ff" + integrity sha512-7YdA4ppFosjuyf7ZMm47BrdsA5TWLM9lmS0lUPgjcCVeeWfUgagqzf4W5JGB9XQ3w1vzK+yy5zH2Ij8IgRAGhA== + dependencies: + i18next "^10.3" + moment "^2.24.0" + +"@dhis2/d2-i18n@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@dhis2/d2-i18n/-/d2-i18n-1.1.0.tgz#ec777c5091f747e4c5aa4f9801c62ba4d1ef3d16" + integrity sha512-x3u58goDQsMfBzy50koxNrJjofJTtjRZOfz6f6Py/wMMJfp/T6vZjWMQgcfWH0JrV6d04K1RTt6bI05wqsVQvg== + dependencies: + i18next "^10.3" + moment "^2.24.0" + +"@dhis2/d2-i18n@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@dhis2/d2-i18n/-/d2-i18n-1.1.3.tgz#ad73030f7cfceeed1b5bcaad86a9b336130bdfb1" + integrity sha512-vOu6RDNumOJM396mHt35bETk9ai9b6XJyAwlUy1HstUZNvfET61F8rjCmMuXZU6zJ8ELux8kMFqlH8IG0vDJmA== + dependencies: + "@types/i18next" "^11.9.0" + i18next "^10.3" + moment "^2.24.0" + +"@dhis2/d2-ui-core@7.4.3": + version "7.4.3" + resolved "https://registry.yarnpkg.com/@dhis2/d2-ui-core/-/d2-ui-core-7.4.3.tgz#d880ad82f0ce28833db02fe64016242c3031610d" + integrity sha512-X+ZlTVB4IbAaQlKKWoXjHXCaTfw5jDxHy2KRIWRskIVPhXfiTiyqzdKN/DSi2/99HDQ6PSq9eqmCY4AeTJb3Kw== + dependencies: + babel-runtime "^6.26.0" + d2 "~31.7" + lodash "^4.17.10" + material-ui "^0.20.0" + rxjs "^5.5.7" + +"@dhis2/prop-types@^1.6.4": + version "1.6.4" + resolved "https://registry.yarnpkg.com/@dhis2/prop-types/-/prop-types-1.6.4.tgz#ec4d256c9440d4d00071524422a727c61ddaa6f6" + integrity sha512-qkVj8OuyjDmSxzYDlCWZllvC9hIbrIImMp79/U5CVsIRbjUF0zA/tfbv4rWnsWALmwEHOQFbzl5GnO5D8RNneA== + dependencies: + prop-types "^15" + +"@dhis2/prop-types@^3.0.0", "@dhis2/prop-types@^3.0.0-beta.1": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@dhis2/prop-types/-/prop-types-3.1.2.tgz#65b8ad2da8cd2f72bc8b951049a6c9d1b97af3e9" + integrity sha512-eM0jjLOWvtXWqSFp5YC4DHFpkP8Y1D2eUwGV7MBWjni+o27oesVan+oT7WHeOeLdlAd4acRJrnaaAyB4Ck1wGQ== + +"@dhis2/ui-constants@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2/ui-constants/-/ui-constants-6.12.0.tgz#e2dd4d2f888434c498fc538e6d0257c3e41599e8" + integrity sha512-prTkl5KQv5azobItN9wyhLgiLKYuOoGavqFUgOonheLPF2Nf8XEg2ipdFPwj/5eDeb/DC5bd71mlmDUHYWidyQ== + dependencies: + "@dhis2/prop-types" "^1.6.4" + prop-types "^15.7.2" + +"@dhis2/ui-constants@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2/ui-constants/-/ui-constants-6.15.2.tgz#3df26e9fa5683b87b85e75cc5b9c930ec2115b29" + integrity sha512-Ayprow4LPAbfyHcZ92KLSlSHgo7zRTa9aU+ZV/Ov3fjI+a9I7fJwgjvRXMBzZkS6NvuWFrHmOXkUMDreN7ZxAg== + dependencies: + "@dhis2/prop-types" "^1.6.4" + prop-types "^15.7.2" + +"@dhis2/ui-constants@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2/ui-constants/-/ui-constants-8.2.0.tgz#01bfceacc3b5895d8d5d7cf4d3fc311e020c046d" + integrity sha512-OLNVNvURbVB88ax5zhxSywpIGcQlEQ7zc0entDp3acEHmDd+3/YnCMDn1zAVo4VWfaTX7m/C5dT/mbwHe+NxSA== + dependencies: + prop-types "^15.7.2" + +"@dhis2/ui-core@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2/ui-core/-/ui-core-6.12.0.tgz#9af04b601d56ebb0881ee25e47e220dbafcd99b0" + integrity sha512-OBE/tboRYNKh0FsKNIzTTBPXgIpMSi1s4HlJKz4XmhoqPkMWUo/Ne/edfBdFbcx3Htkel07ftavS9vbENw4EQA== + dependencies: + "@dhis2-ui/alert" "6.12.0" + "@dhis2-ui/box" "6.12.0" + "@dhis2-ui/button" "6.12.0" + "@dhis2-ui/card" "6.12.0" + "@dhis2-ui/center" "6.12.0" + "@dhis2-ui/checkbox" "6.12.0" + "@dhis2-ui/chip" "6.12.0" + "@dhis2-ui/cover" "6.12.0" + "@dhis2-ui/css" "6.12.0" + "@dhis2-ui/divider" "6.12.0" + "@dhis2-ui/field" "6.12.0" + "@dhis2-ui/file-input" "6.12.0" + "@dhis2-ui/help" "6.12.0" + "@dhis2-ui/input" "6.12.0" + "@dhis2-ui/intersection-detector" "6.12.0" + "@dhis2-ui/label" "6.12.0" + "@dhis2-ui/layer" "6.12.0" + "@dhis2-ui/legend" "6.12.0" + "@dhis2-ui/loader" "6.12.0" + "@dhis2-ui/logo" "6.12.0" + "@dhis2-ui/menu" "6.12.0" + "@dhis2-ui/modal" "6.12.0" + "@dhis2-ui/node" "6.12.0" + "@dhis2-ui/notice-box" "6.12.0" + "@dhis2-ui/popover" "6.12.0" + "@dhis2-ui/popper" "6.12.0" + "@dhis2-ui/radio" "6.12.0" + "@dhis2-ui/required" "6.12.0" + "@dhis2-ui/select" "6.12.0" + "@dhis2-ui/switch" "6.12.0" + "@dhis2-ui/tab" "6.12.0" + "@dhis2-ui/table" "6.12.0" + "@dhis2-ui/tag" "6.12.0" + "@dhis2-ui/text-area" "6.12.0" + "@dhis2-ui/tooltip" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.12.0" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2/ui-core@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2/ui-core/-/ui-core-6.15.2.tgz#bafd358eae994de0c532d08951663ecd2331f736" + integrity sha512-3Ucpv9a2qcN4LYQywayW0Qtn2JVsNWXOivN5DjUHSlp62DGSwj9T1ZrThV3HznXNG4DqFSjD7pGetV1wDyOTvw== + dependencies: + "@dhis2-ui/alert" "6.15.2" + "@dhis2-ui/box" "6.15.2" + "@dhis2-ui/button" "6.15.2" + "@dhis2-ui/card" "6.15.2" + "@dhis2-ui/center" "6.15.2" + "@dhis2-ui/checkbox" "6.15.2" + "@dhis2-ui/chip" "6.15.2" + "@dhis2-ui/cover" "6.15.2" + "@dhis2-ui/css" "6.15.2" + "@dhis2-ui/divider" "6.15.2" + "@dhis2-ui/field" "6.15.2" + "@dhis2-ui/file-input" "6.15.2" + "@dhis2-ui/help" "6.15.2" + "@dhis2-ui/input" "6.15.2" + "@dhis2-ui/intersection-detector" "6.15.2" + "@dhis2-ui/label" "6.15.2" + "@dhis2-ui/layer" "6.15.2" + "@dhis2-ui/legend" "6.15.2" + "@dhis2-ui/loader" "6.15.2" + "@dhis2-ui/logo" "6.15.2" + "@dhis2-ui/menu" "6.15.2" + "@dhis2-ui/modal" "6.15.2" + "@dhis2-ui/node" "6.15.2" + "@dhis2-ui/notice-box" "6.15.2" + "@dhis2-ui/popover" "6.15.2" + "@dhis2-ui/popper" "6.15.2" + "@dhis2-ui/radio" "6.15.2" + "@dhis2-ui/required" "6.15.2" + "@dhis2-ui/select" "6.15.2" + "@dhis2-ui/switch" "6.15.2" + "@dhis2-ui/tab" "6.15.2" + "@dhis2-ui/table" "6.15.2" + "@dhis2-ui/tag" "6.15.2" + "@dhis2-ui/text-area" "6.15.2" + "@dhis2-ui/tooltip" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-constants" "6.15.2" + classnames "^2.3.1" + prop-types "^15.7.2" + +"@dhis2/ui-forms@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2/ui-forms/-/ui-forms-6.12.0.tgz#357338456b5342486c9963ddaeb43aed78b3b56c" + integrity sha512-kqt+4NF8HRlsLsCatilhoTfyR690Zlwu43Ryt0m3/Q66WP0401uIaItcMsok70SAA322N6ShTcMJPQ3BtpOZYA== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-core" "6.12.0" + "@dhis2/ui-widgets" "6.12.0" + classnames "^2.3.1" + final-form "^4.20.2" + prop-types "^15.7.2" + react-final-form "^6.5.3" + +"@dhis2/ui-forms@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2/ui-forms/-/ui-forms-6.15.2.tgz#cf3a0cfaa5b9f25c0ec471dddbc6ad068a6c5ce4" + integrity sha512-ob9cTmvcGUb0oO9TCuBdrH/oHgcGJ2LMAC04KYNbIok7LIbheQxnjpMhES5IXEFvMjr46IMw2X3xcspoyzLv3Q== + dependencies: + "@dhis2/prop-types" "^1.6.4" + "@dhis2/ui-core" "6.15.2" + "@dhis2/ui-widgets" "6.15.2" + classnames "^2.3.1" + final-form "^4.20.2" + prop-types "^15.7.2" + react-final-form "^6.5.3" + +"@dhis2/ui-forms@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2/ui-forms/-/ui-forms-8.2.0.tgz#e738abc3b721c3af6caece1a70e3618392cad2f1" + integrity sha512-zy/OYoFwKppInpRI1nkY1fxtbSg1q4VkHwNQlTFlvQ+SCyZT9q7QA+uf0c9qGHb8sSq50AQ1K9rk2m8m63OG7g== + dependencies: + "@dhis2-ui/button" "8.2.0" + "@dhis2-ui/checkbox" "8.2.0" + "@dhis2-ui/field" "8.2.0" + "@dhis2-ui/file-input" "8.2.0" + "@dhis2-ui/input" "8.2.0" + "@dhis2-ui/radio" "8.2.0" + "@dhis2-ui/select" "8.2.0" + "@dhis2-ui/switch" "8.2.0" + "@dhis2-ui/text-area" "8.2.0" + "@dhis2/prop-types" "^3.0.0-beta.1" + classnames "^2.3.1" + final-form "^4.20.2" + prop-types "^15.7.2" + react-final-form "^6.5.3" + +"@dhis2/ui-icons@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2/ui-icons/-/ui-icons-6.12.0.tgz#3e3412725220fae1555ba78eabd146ea517de213" + integrity sha512-8H9ImWiKK8hwy9D9Ts6gJcH7+fCOotsPzp5T81O5AtN0tEUiaB5KaaD0Tt3YwkYICl85lmGsv8haV/k5oSxEAQ== + dependencies: + "@dhis2/prop-types" "^1.6.4" + +"@dhis2/ui-icons@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2/ui-icons/-/ui-icons-6.15.2.tgz#acc01f5e22afda910b6a0f4027702a87207a8725" + integrity sha512-jVGhFyC693UqU2M7hxfQc5d7laaDOnttLDJejy2iFcl3w9CoSM1LBBernX0r9r8OGeOrxZvThAJ+YoGJO1vlHQ== + dependencies: + "@dhis2/prop-types" "^1.6.4" + +"@dhis2/ui-icons@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2/ui-icons/-/ui-icons-8.2.0.tgz#8017b151d09d4dcd69f9074d69616d86ed8d402d" + integrity sha512-JrsfmM+Bjj4PVrX0i3szlRGMaUrIv5pOdBFxGPJiZVv+OVsXW53KPE5bFeMJlJf4HjbYRaTEes3HA++x4+8ttQ== + +"@dhis2/ui-widgets@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2/ui-widgets/-/ui-widgets-6.12.0.tgz#e7674642fa9e5c0c06f948eceec1385c7c17db57" + integrity sha512-dofT54yj7AlehYcOQi4ovdrmAT2QqJTI4tAvIulNrTAN3h5uhMjbCdxkRQXDwyDC/zIBp1fJXyEOvqNwQlzB5A== + dependencies: + "@dhis2-ui/checkbox" "6.12.0" + "@dhis2-ui/field" "6.12.0" + "@dhis2-ui/file-input" "6.12.0" + "@dhis2-ui/header-bar" "6.12.0" + "@dhis2-ui/input" "6.12.0" + "@dhis2-ui/organisation-unit-tree" "6.12.0" + "@dhis2-ui/pagination" "6.12.0" + "@dhis2-ui/select" "6.12.0" + "@dhis2-ui/switch" "6.12.0" + "@dhis2-ui/table" "6.12.0" + "@dhis2-ui/text-area" "6.12.0" + "@dhis2-ui/transfer" "6.12.0" + "@dhis2/prop-types" "^1.6.4" + classnames "^2.3.1" + +"@dhis2/ui-widgets@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2/ui-widgets/-/ui-widgets-6.15.2.tgz#64de32ed38cd601e100c2fb96c04feee9e673204" + integrity sha512-OKT1nuh7DdArhm9T+EXm5w8VdCCgeGiJ6GfMYsMV6YsSInbQTim4qZVsQ4zJWreQokjwTTwh/Y+1NXaL+GA8sA== + dependencies: + "@dhis2-ui/checkbox" "6.15.2" + "@dhis2-ui/field" "6.15.2" + "@dhis2-ui/file-input" "6.15.2" + "@dhis2-ui/header-bar" "6.15.2" + "@dhis2-ui/input" "6.15.2" + "@dhis2-ui/organisation-unit-tree" "6.15.2" + "@dhis2-ui/pagination" "6.15.2" + "@dhis2-ui/select" "6.15.2" + "@dhis2-ui/switch" "6.15.2" + "@dhis2-ui/table" "6.15.2" + "@dhis2-ui/text-area" "6.15.2" + "@dhis2-ui/transfer" "6.15.2" + "@dhis2/prop-types" "^1.6.4" + classnames "^2.3.1" + +"@dhis2/ui@6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@dhis2/ui/-/ui-6.12.0.tgz#892a298a4127d670103ccb547f01f67d4eba908f" + integrity sha512-IqQM9QAkABTPjcms9QawKSvhM4FUb8UM3rxxsMXM62ZnBa9+Tatf/2/+LsWTB/CKCK0QKFS6JCPQZXyHsGGuqw== + dependencies: + "@dhis2-ui/alert" "6.12.0" + "@dhis2-ui/box" "6.12.0" + "@dhis2-ui/button" "6.12.0" + "@dhis2-ui/card" "6.12.0" + "@dhis2-ui/center" "6.12.0" + "@dhis2-ui/checkbox" "6.12.0" + "@dhis2-ui/chip" "6.12.0" + "@dhis2-ui/cover" "6.12.0" + "@dhis2-ui/css" "6.12.0" + "@dhis2-ui/divider" "6.12.0" + "@dhis2-ui/field" "6.12.0" + "@dhis2-ui/file-input" "6.12.0" + "@dhis2-ui/header-bar" "6.12.0" + "@dhis2-ui/help" "6.12.0" + "@dhis2-ui/input" "6.12.0" + "@dhis2-ui/intersection-detector" "6.12.0" + "@dhis2-ui/label" "6.12.0" + "@dhis2-ui/layer" "6.12.0" + "@dhis2-ui/legend" "6.12.0" + "@dhis2-ui/loader" "6.12.0" + "@dhis2-ui/logo" "6.12.0" + "@dhis2-ui/menu" "6.12.0" + "@dhis2-ui/modal" "6.12.0" + "@dhis2-ui/node" "6.12.0" + "@dhis2-ui/notice-box" "6.12.0" + "@dhis2-ui/organisation-unit-tree" "6.12.0" + "@dhis2-ui/pagination" "6.12.0" + "@dhis2-ui/popover" "6.12.0" + "@dhis2-ui/popper" "6.12.0" + "@dhis2-ui/radio" "6.12.0" + "@dhis2-ui/required" "6.12.0" + "@dhis2-ui/select" "6.12.0" + "@dhis2-ui/switch" "6.12.0" + "@dhis2-ui/tab" "6.12.0" + "@dhis2-ui/table" "6.12.0" + "@dhis2-ui/tag" "6.12.0" + "@dhis2-ui/text-area" "6.12.0" + "@dhis2-ui/tooltip" "6.12.0" + "@dhis2-ui/transfer" "6.12.0" + "@dhis2/ui-constants" "6.12.0" + "@dhis2/ui-forms" "6.12.0" + "@dhis2/ui-icons" "6.12.0" + prop-types "^15.7.2" + +"@dhis2/ui@6.15.2": + version "6.15.2" + resolved "https://registry.yarnpkg.com/@dhis2/ui/-/ui-6.15.2.tgz#cdc86a7bf55bc0fc6725a94fcd2c7cd4642408b0" + integrity sha512-huVjhujg3FXeJ+0B2qrTtfColePA2ipi43Q+TpV0VUAD/yw1NtvLapeEl2LMGVg4jnYdhQyk9mNCdl/K9EOshQ== + dependencies: + "@dhis2-ui/alert" "6.15.2" + "@dhis2-ui/box" "6.15.2" + "@dhis2-ui/button" "6.15.2" + "@dhis2-ui/card" "6.15.2" + "@dhis2-ui/center" "6.15.2" + "@dhis2-ui/checkbox" "6.15.2" + "@dhis2-ui/chip" "6.15.2" + "@dhis2-ui/cover" "6.15.2" + "@dhis2-ui/css" "6.15.2" + "@dhis2-ui/divider" "6.15.2" + "@dhis2-ui/field" "6.15.2" + "@dhis2-ui/file-input" "6.15.2" + "@dhis2-ui/header-bar" "6.15.2" + "@dhis2-ui/help" "6.15.2" + "@dhis2-ui/input" "6.15.2" + "@dhis2-ui/intersection-detector" "6.15.2" + "@dhis2-ui/label" "6.15.2" + "@dhis2-ui/layer" "6.15.2" + "@dhis2-ui/legend" "6.15.2" + "@dhis2-ui/loader" "6.15.2" + "@dhis2-ui/logo" "6.15.2" + "@dhis2-ui/menu" "6.15.2" + "@dhis2-ui/modal" "6.15.2" + "@dhis2-ui/node" "6.15.2" + "@dhis2-ui/notice-box" "6.15.2" + "@dhis2-ui/organisation-unit-tree" "6.15.2" + "@dhis2-ui/pagination" "6.15.2" + "@dhis2-ui/popover" "6.15.2" + "@dhis2-ui/popper" "6.15.2" + "@dhis2-ui/radio" "6.15.2" + "@dhis2-ui/required" "6.15.2" + "@dhis2-ui/select" "6.15.2" + "@dhis2-ui/switch" "6.15.2" + "@dhis2-ui/tab" "6.15.2" + "@dhis2-ui/table" "6.15.2" + "@dhis2-ui/tag" "6.15.2" + "@dhis2-ui/text-area" "6.15.2" + "@dhis2-ui/tooltip" "6.15.2" + "@dhis2-ui/transfer" "6.15.2" + "@dhis2/ui-constants" "6.15.2" + "@dhis2/ui-forms" "6.15.2" + "@dhis2/ui-icons" "6.15.2" + prop-types "^15.7.2" + +"@dhis2/ui@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@dhis2/ui/-/ui-8.2.0.tgz#03d5e83ea4d4b584bd9643c1d931131bf5dc4f3b" + integrity sha512-pdWIHrDKDeaeWI/XH0H741EWNg4KTUmUz3X9sY1POpVkpRaE2F1BnyBSG0Ol1jYrjnhmgydOwmjSeF66g+Ljuw== + dependencies: + "@dhis2-ui/alert" "8.2.0" + "@dhis2-ui/box" "8.2.0" + "@dhis2-ui/button" "8.2.0" + "@dhis2-ui/card" "8.2.0" + "@dhis2-ui/center" "8.2.0" + "@dhis2-ui/checkbox" "8.2.0" + "@dhis2-ui/chip" "8.2.0" + "@dhis2-ui/cover" "8.2.0" + "@dhis2-ui/css" "8.2.0" + "@dhis2-ui/divider" "8.2.0" + "@dhis2-ui/field" "8.2.0" + "@dhis2-ui/file-input" "8.2.0" + "@dhis2-ui/header-bar" "8.2.0" + "@dhis2-ui/help" "8.2.0" + "@dhis2-ui/input" "8.2.0" + "@dhis2-ui/intersection-detector" "8.2.0" + "@dhis2-ui/label" "8.2.0" + "@dhis2-ui/layer" "8.2.0" + "@dhis2-ui/legend" "8.2.0" + "@dhis2-ui/loader" "8.2.0" + "@dhis2-ui/logo" "8.2.0" + "@dhis2-ui/menu" "8.2.0" + "@dhis2-ui/modal" "8.2.0" + "@dhis2-ui/node" "8.2.0" + "@dhis2-ui/notice-box" "8.2.0" + "@dhis2-ui/organisation-unit-tree" "8.2.0" + "@dhis2-ui/pagination" "8.2.0" + "@dhis2-ui/popover" "8.2.0" + "@dhis2-ui/popper" "8.2.0" + "@dhis2-ui/portal" "8.2.0" + "@dhis2-ui/radio" "8.2.0" + "@dhis2-ui/required" "8.2.0" + "@dhis2-ui/segmented-control" "8.2.0" + "@dhis2-ui/select" "8.2.0" + "@dhis2-ui/selector-bar" "8.2.0" + "@dhis2-ui/sharing-dialog" "8.2.0" + "@dhis2-ui/switch" "8.2.0" + "@dhis2-ui/tab" "8.2.0" + "@dhis2-ui/table" "8.2.0" + "@dhis2-ui/tag" "8.2.0" + "@dhis2-ui/text-area" "8.2.0" + "@dhis2-ui/tooltip" "8.2.0" + "@dhis2-ui/transfer" "8.2.0" + "@dhis2-ui/user-avatar" "8.2.0" + "@dhis2/ui-constants" "8.2.0" + "@dhis2/ui-forms" "8.2.0" + "@dhis2/ui-icons" "8.2.0" + prop-types "^15.7.2" + +"@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.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz#d4175076679c6a26faa92b03bb786f9e52612337" + integrity sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw== + dependencies: + "@emotion/memoize" "^0.8.1" + +"@emotion/memoize@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" + integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== + +"@emotion/unitless@0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" + integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== + +"@esbuild/android-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" + integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== + +"@esbuild/android-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" + integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== + +"@esbuild/android-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" + integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== + +"@esbuild/darwin-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" + integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== + +"@esbuild/darwin-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" + integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== + +"@esbuild/freebsd-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" + integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== + +"@esbuild/freebsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" + integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== + +"@esbuild/linux-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" + integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== + +"@esbuild/linux-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" + integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== + +"@esbuild/linux-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" + integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== + +"@esbuild/linux-loong64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" + integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== + +"@esbuild/linux-mips64el@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" + integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== + +"@esbuild/linux-ppc64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" + integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== + +"@esbuild/linux-riscv64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" + integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== + +"@esbuild/linux-s390x@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" + integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== + +"@esbuild/linux-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" + integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== + +"@esbuild/netbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" + integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== + +"@esbuild/openbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" + integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== + +"@esbuild/sunos-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" + integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== + +"@esbuild/win32-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" + integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== + +"@esbuild/win32-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" + integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== + +"@esbuild/win32-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" + integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== + +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": + version "4.8.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.8.1.tgz#8c4bb756cc2aa7eaf13cfa5e69c83afb3260c20c" + integrity sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ== + +"@eslint/eslintrc@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396" + integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.49.0.tgz#86f79756004a97fa4df866835093f1df3d03c333" + integrity sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w== + +"@eyeseetea/d2-api@1.16.0-beta.6": + version "1.16.0-beta.6" + resolved "https://registry.yarnpkg.com/@eyeseetea/d2-api/-/d2-api-1.16.0-beta.6.tgz#df39ac5a36719d89ee78beb78e8b0142588f5dd1" + integrity sha512-h86OLO5kJmpQLsCxZaRzwH/1mLdy3Zk+/cDek1a1cprvr9khm5pdDHbm561mt0uPtAgabhWxEn651/AhVN7/nA== + dependencies: + abort-controller "3.0.0" + axios "1.6.4" + axios-mock-adapter "1.22.0" + btoa "^1.2.1" + cross-fetch "^4.0.0" + form-data "^4.0.0" + iconv-lite "0.6.2" + lodash "4.17.21" + qs "6.9.7" + react "^16.12.0" + +"@eyeseetea/d2-ui-components@2.9.0-beta.3": + version "2.9.0-beta.3" + resolved "https://registry.yarnpkg.com/@eyeseetea/d2-ui-components/-/d2-ui-components-2.9.0-beta.3.tgz#86e79bdb4b469580b79eb54e13a839eafab62654" + integrity sha512-y6LQXvYHUG2eX/ttJcHBRIBfjOsMway6RV8b/bThwmVlc3UuAPUUT8ANExc24gnwcM57u1iPg2Q5/RyOCK2ryA== + dependencies: + "@date-io/core" "1.3.6" + "@date-io/moment" "1.0.2" + "@dhis2/d2-i18n" "1.0.6" + "@dhis2/d2-ui-core" "7.4.3" + "@dhis2/ui" "6.15.2" + "@material-ui/pickers" "3.2.10" + classnames "2.2.6" + downshift "5.4.2" + lodash "4.17.21" + moment "2.29.4" + nano-memoize "1.2.1" + react-linkify "1.0.0-alpha" + rxjs-compat "6.6.3" + throttle-debounce "2.1.0" + +"@eyeseetea/feedback-component@0.1.3-beta.1": + version "0.1.3-beta.1" + resolved "https://registry.yarnpkg.com/@eyeseetea/feedback-component/-/feedback-component-0.1.3-beta.1.tgz#f4788b6bb81141e42003868f77325f6a3df3fbaf" + integrity sha512-6P87zyAtRJl3MUWbWk6hlDL97CWw8wDJfWhIVreubMSocGDNSBBnOPrSosZN7O02+Le+uHEBE0XkNCle3jA99g== + dependencies: + "@date-io/core" "2.13.1" + "@date-io/moment" "2.13.1" + "@dhis2/d2-i18n" "1.1.3" + "@dhis2/ui" "8.2.0" + "@material-ui/pickers" "3.3.10" + axios "1.6.4" + classnames "2.3.1" + downshift "6.1.7" + fluture "^14.0.0" + lodash "4.17.21" + moment "2.29.4" + nano-memoize "1.3.0" + react-linkify "1.0.0-alpha" + rxjs-compat "6.6.7" + throttle-debounce "4.0.1" + +"@humanwhocodes/config-array@^0.11.11": + version "0.11.11" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844" + integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.19" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811" + integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@juggle/resize-observer@^3.3.1": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" + integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== + +"@material-ui/core@4.12.4": + version "4.12.4" + resolved "https://registry.yarnpkg.com/@material-ui/core/-/core-4.12.4.tgz#4ac17488e8fcaf55eb6a7f5efb2a131e10138a73" + integrity sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ== + dependencies: + "@babel/runtime" "^7.4.4" + "@material-ui/styles" "^4.11.5" + "@material-ui/system" "^4.12.2" + "@material-ui/types" "5.1.0" + "@material-ui/utils" "^4.11.3" + "@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/icons@4.11.3": + version "4.11.3" + resolved "https://registry.yarnpkg.com/@material-ui/icons/-/icons-4.11.3.tgz#b0693709f9b161ce9ccde276a770d968484ecff1" + integrity sha512-IKHlyx6LDh8n19vzwH5RtHIOHl9Tu90aAAxcbWME6kp4dmvODM3UvOHJeMIDzUbd4muuJKHmlNoBN+mDY4XkBA== + dependencies: + "@babel/runtime" "^7.4.4" + +"@material-ui/lab@4.0.0-alpha.60": + version "4.0.0-alpha.60" + resolved "https://registry.yarnpkg.com/@material-ui/lab/-/lab-4.0.0-alpha.60.tgz#5ad203aed5a8569b0f1753945a21a05efa2234d2" + integrity sha512-fadlYsPJF+0fx2lRuyqAuJj7hAS1tLDdIEEdov5jlrpb5pp4b+mRDUqQTUxi4inRZHS1bEXpU8QWUhO6xX88aA== + 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/pickers@3.2.10": + version "3.2.10" + resolved "https://registry.yarnpkg.com/@material-ui/pickers/-/pickers-3.2.10.tgz#19df024895876eb0ec7cd239bbaea595f703f0ae" + integrity sha512-B8G6Obn5S3RCl7hwahkQj9sKUapwXWFjiaz/Bsw1fhYFdNMnDUolRiWQSoKPb1/oKe37Dtfszoywi1Ynbo3y8w== + dependencies: + "@babel/runtime" "^7.6.0" + "@date-io/core" "1.x" + "@types/styled-jsx" "^2.2.8" + clsx "^1.0.2" + react-transition-group "^4.0.0" + rifm "^0.7.0" + +"@material-ui/pickers@3.3.10": + version "3.3.10" + resolved "https://registry.yarnpkg.com/@material-ui/pickers/-/pickers-3.3.10.tgz#f1b0f963348cc191645ef0bdeff7a67c6aa25485" + integrity sha512-hS4pxwn1ZGXVkmgD4tpFpaumUaAg2ZzbTrxltfC5yPw4BJV+mGkfnQOB4VpWEYZw2jv65Z0wLwDE/piQiPPZ3w== + dependencies: + "@babel/runtime" "^7.6.0" + "@date-io/core" "1.x" + "@types/styled-jsx" "^2.2.8" + clsx "^1.0.2" + react-transition-group "^4.0.0" + rifm "^0.7.0" + +"@material-ui/styles@4.11.5", "@material-ui/styles@^4.11.5": + version "4.11.5" + resolved "https://registry.yarnpkg.com/@material-ui/styles/-/styles-4.11.5.tgz#19f84457df3aafd956ac863dbe156b1d88e2bbfb" + integrity sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA== + dependencies: + "@babel/runtime" "^7.4.4" + "@emotion/hash" "^0.8.0" + "@material-ui/types" "5.1.0" + "@material-ui/utils" "^4.11.3" + 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.12.2": + version "4.12.2" + resolved "https://registry.yarnpkg.com/@material-ui/system/-/system-4.12.2.tgz#f5c389adf3fce4146edd489bf4082d461d86aa8b" + integrity sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw== + dependencies: + "@babel/runtime" "^7.4.4" + "@material-ui/utils" "^4.11.3" + 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", "@material-ui/utils@^4.11.3": + version "4.11.3" + resolved "https://registry.yarnpkg.com/@material-ui/utils/-/utils-4.11.3.tgz#232bd86c4ea81dab714f21edad70b7fdf0253942" + integrity sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg== + dependencies: + "@babel/runtime" "^7.4.4" + prop-types "^15.7.2" + react-is "^16.8.0 || ^17.0.0" + +"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": + version "5.1.1-v1" + resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" + integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== + dependencies: + eslint-scope "5.1.1" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@popperjs/core@^2.10.1", "@popperjs/core@^2.6.0": + version "2.11.8" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== + +"@react-hook/latest@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@react-hook/latest/-/latest-1.0.3.tgz#c2d1d0b0af8b69ec6e2b3a2412ba0768ac82db80" + integrity sha512-dy6duzl+JnAZcDbNTfmaP3xHiKtbXYOaz3G51MGVljh548Y8MWzTr+PHLOfvpypEVW9zwvl+VyKjbWKEVbV1Rg== + +"@react-hook/passive-layout-effect@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@react-hook/passive-layout-effect/-/passive-layout-effect-1.2.1.tgz#c06dac2d011f36d61259aa1c6df4f0d5e28bc55e" + integrity sha512-IwEphTD75liO8g+6taS+4oqz+nnroocNfWVHWz7j+N+ZO2vYrc6PV1q7GQhuahL0IOR7JccFTsFKQ/mb6iZWAg== + +"@react-hook/resize-observer@^1.2.1": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@react-hook/resize-observer/-/resize-observer-1.2.6.tgz#9a8cf4c5abb09becd60d1d65f6bf10eec211e291" + integrity sha512-DlBXtLSW0DqYYTW3Ft1/GQFZlTdKY5VAFIC4+km6IK5NiPPDFchGbEJm1j6pSgMqPRHbUQgHJX7RaR76ic1LWA== + dependencies: + "@juggle/resize-observer" "^3.3.1" + "@react-hook/latest" "^1.0.2" + "@react-hook/passive-layout-effect" "^1.2.0" + +"@react-hook/size@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@react-hook/size/-/size-2.1.2.tgz#87ed634ffb200f65d3e823501e5559aa3d584451" + integrity sha512-BmE5asyRDxSuQ9p14FUKJ0iBRgV9cROjqNG9jT/EjCM+xHha1HVqbPoT+14FQg1K7xIydabClCibUY4+1tw/iw== + dependencies: + "@react-hook/passive-layout-effect" "^1.2.0" + "@react-hook/resize-observer" "^1.2.1" + +"@rollup/plugin-inject@^5.0.3": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-5.0.3.tgz#0783711efd93a9547d52971db73b2fb6140a67b1" + integrity sha512-411QlbL+z2yXpRWFXSmw/teQRMkXcAAC8aYTemc15gwJRpvEVDQwoe+N/HTFD8RFG8+88Bme9DK2V9CVm7hJdA== + dependencies: + "@rollup/pluginutils" "^5.0.1" + estree-walker "^2.0.2" + magic-string "^0.27.0" + +"@rollup/pluginutils@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" + integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== + dependencies: + estree-walker "^2.0.1" + picomatch "^2.2.2" + +"@rollup/pluginutils@^5.0.1": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.4.tgz#74f808f9053d33bafec0cc98e7b835c9667d32ba" + integrity sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" + +"@rushstack/eslint-patch@^1.1.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.4.0.tgz#77e948b9760bd22736a5d26e335a690f76fda37b" + integrity sha512-cEjvTPU32OM9lUFegJagO0mRnIn+rbqrG89vV8/xLnLFX0DoR0r1oy5IlTga71Q7uT3Qus7qm7wgeiMT/+Irlg== + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@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== + +"@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" + +"@testing-library/dom@^8.0.0": + version "8.20.1" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.1.tgz#2e52a32e46fc88369eef7eef634ac2a192decd9f" + integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^5.0.1" + aria-query "5.1.3" + chalk "^4.1.0" + dom-accessibility-api "^0.5.9" + lz-string "^1.5.0" + pretty-format "^27.0.2" + +"@testing-library/dom@^9.0.0": + version "9.3.3" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.3.tgz#108c23a5b0ef51121c26ae92eb3179416b0434f5" + integrity sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^5.0.1" + aria-query "5.1.3" + chalk "^4.1.0" + dom-accessibility-api "^0.5.9" + lz-string "^1.5.0" + pretty-format "^27.0.2" + +"@testing-library/jest-dom@^5.16.5": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz#5e97c8f9a15ccf4656da00fecab505728de81e0c" + integrity sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg== + dependencies: + "@adobe/css-tools" "^4.0.1" + "@babel/runtime" "^7.9.2" + "@types/testing-library__jest-dom" "^5.9.1" + aria-query "^5.0.0" + chalk "^3.0.0" + css.escape "^1.5.1" + dom-accessibility-api "^0.5.6" + lodash "^4.17.15" + redent "^3.0.0" + +"@testing-library/react@^12.1.2": + version "12.1.5" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-12.1.5.tgz#bb248f72f02a5ac9d949dea07279095fa577963b" + integrity sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg== + dependencies: + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^8.0.0" + "@types/react-dom" "<18.0.0" + +"@testing-library/react@^14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-14.0.0.tgz#59030392a6792450b9ab8e67aea5f3cc18d6347c" + integrity sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg== + dependencies: + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^9.0.0" + "@types/react-dom" "^18.0.0" + +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@ts-morph/common@~0.12.3": + version "0.12.3" + resolved "https://registry.yarnpkg.com/@ts-morph/common/-/common-0.12.3.tgz#a96e250217cd30e480ab22ec6a0ebbe65fd784ff" + integrity sha512-4tUmeLyXJnJWvTFOKtcNJ1yh0a3SsTLi2MUoyj8iUNznFRN1ZquaNe7Oukqrnki2FzZkm0J9adCNLDZxUzvj+w== + dependencies: + fast-glob "^3.2.7" + minimatch "^3.0.4" + mkdirp "^1.0.4" + path-browserify "^1.0.1" + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@types/aria-query@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.1.tgz#3286741fb8f1e1580ac28784add4c7a1d49bdfbc" + integrity sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q== + +"@types/chai-subset@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@types/chai-subset/-/chai-subset-1.3.3.tgz#97893814e92abd2c534de422cb377e0e0bdaac94" + integrity sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw== + dependencies: + "@types/chai" "*" + +"@types/chai@*", "@types/chai@^4.3.5": + version "4.3.6" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.6.tgz#7b489e8baf393d5dd1266fb203ddd4ea941259e6" + integrity sha512-VOVRLM1mBxIRxydiViqPcKn6MIxZytrbMpd6RJLIWKxUNr3zux8no0Oc7kJx0WAPIitgZ0gkrDS+btlqQpubpw== + +"@types/classnames@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.3.1.tgz#3c2467aa0f1a93f1f021e3b9bcf938bd5dfdc0dd" + integrity sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A== + dependencies: + classnames "*" + +"@types/eslint@^8.4.5": + version "8.44.2" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.2.tgz#0d21c505f98a89b8dd4d37fa162b09da6089199a" + integrity sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" + integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== + +"@types/events@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" + integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== + +"@types/history@^4.7.11": + version "4.7.11" + resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64" + integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== + +"@types/hoist-non-react-statics@*": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#dc1e9ded53375d37603c479cc12c693b0878aa2a" + integrity sha512-YIQtIg4PKr7ZyqNPZObpxfHsHEmuB8dXCxd6qVcGuQVDK2bpsF7bYNnBJ4Nn7giuACZg+WewExgrtAJ3XnA4Xw== + dependencies: + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + +"@types/i18next@^11.9.0": + version "11.9.3" + resolved "https://registry.yarnpkg.com/@types/i18next/-/i18next-11.9.3.tgz#04d84c6539908ad69665d26d8967f942d1638550" + integrity sha512-snM7bMKy6gt7UYdpjsxycqSCAy0fr2JVPY0B8tJ2vp9bN58cE7C880k20PWFM4KXxQ3KsstKM8DLCawGCIH0tg== + +"@types/isomorphic-fetch@^0.0.36": + version "0.0.36" + resolved "https://registry.yarnpkg.com/@types/isomorphic-fetch/-/isomorphic-fetch-0.0.36.tgz#3a6d8f63974baf26b10fd1314db910633108a769" + integrity sha512-ulw4d+vW1HKn4oErSmNN2HYEcHGq0N1C5exlrMM0CRqX1UUpFhGb5lwiom5j9KN3LBJJDLRmYIZz1ghm7FIzZw== + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@*": + version "29.5.5" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.5.tgz#727204e06228fe24373df9bae76b90f3e8236a2a" + integrity sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/json-schema@*", "@types/json-schema@^7.0.9": + version "7.0.13" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.13.tgz#02c24f4363176d2d18fc8b70b9f3c54aba178a85" + integrity sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ== + +"@types/json-schema@7.0.9": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/material-ui@^0.21.12": + version "0.21.12" + resolved "https://registry.yarnpkg.com/@types/material-ui/-/material-ui-0.21.12.tgz#208e8b7e49a545bb704fa7e865986afde1b33384" + integrity sha512-rBY3iOr5LISKDLAYo3229R79xIPPKSOL2c7FzAFn5dUj38Oe7rQldYedHWsYmkJUeboE9Ipad7ppyJwBzXxrMw== + dependencies: + "@types/react" "*" + "@types/react-addons-linked-state-mixin" "*" + +"@types/node-localstorage@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@types/node-localstorage/-/node-localstorage-1.3.0.tgz#8341b89abd8ad00afcd3fa9242ed956b8f5ad32c" + integrity sha512-9+s5CWGhkYitklhLgnbf4s5ncCEx0An2jhBuhvw/sh9WNQ+/WvNFkPLyLjXGy+Oeo8CjPl69oz6M2FzZH+KwWA== + dependencies: + "@types/events" "*" + +"@types/node@*": + version "20.6.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.2.tgz#a065925409f59657022e9063275cd0b9bd7e1b12" + integrity sha512-Y+/1vGBHV/cYk6OI1Na/LHzwnlNCAfU3ZNGrc1LdRe/LAIbdDPTTv/HU3M7yXN448aTVDq3eKRm2cg7iKLb8gw== + +"@types/node@18": + version "18.17.17" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.17.17.tgz#53cc07ce582c9d7c5850702a3c2cb0af0d7b0ca1" + integrity sha512-cOxcXsQ2sxiwkykdJqvyFS+MLQPLvIdwh5l6gNg8qF6s+C7XSkEWOZjK+XhUZd+mYvHV/180g2cnCcIl4l06Pw== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prettier@^2.7.3": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== + +"@types/prop-types@*": + version "15.7.6" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.6.tgz#bbf819813d6be21011b8f5801058498bec555572" + integrity sha512-RK/kBbYOQQHLYj9Z95eh7S6t7gq4Ojt/NT8HTk8bWVhA5DaF+5SMnxHKkP4gPNN3wAZkKP+VjAf0ebtYzf+fxg== + +"@types/react-addons-linked-state-mixin@*": + version "0.14.22" + resolved "https://registry.yarnpkg.com/@types/react-addons-linked-state-mixin/-/react-addons-linked-state-mixin-0.14.22.tgz#a8fe5929bbfa10947f3bf62d4a878706ec6b7718" + integrity sha512-DF9utM6VjuIaY388R6XWWDs7CIDTH7on1k1yR+hqaL/T4/OqSCW5uij28APq9KI82CZf0/qtBJI+pjvXcOh0kQ== + dependencies: + "@types/react" "*" + +"@types/react-dom@<18.0.0": + version "17.0.20" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.20.tgz#e0c8901469d732b36d8473b40b679ad899da1b53" + integrity sha512-4pzIjSxDueZZ90F52mU3aPoogkHIoSIDG+oQ+wQK7Cy2B9S+MvOqY0uEA/qawKz381qrEDkvpwyt8Bm31I8sbA== + dependencies: + "@types/react" "^17" + +"@types/react-dom@^18.0.0", "@types/react-dom@^18.2.7": + version "18.2.7" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.7.tgz#67222a08c0a6ae0a0da33c3532348277c70abb63" + integrity sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA== + dependencies: + "@types/react" "*" + +"@types/react-router-dom@5.3.3": + version "5.3.3" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83" + integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router" "*" + +"@types/react-router@*": + version "5.1.20" + resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c" + integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + +"@types/react-transition-group@^4.2.0": + version "4.4.6" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.6.tgz#18187bcda5281f8e10dfc48f0943e2fdf4f75e2e" + integrity sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@^18.2.21": + version "18.2.22" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.22.tgz#abe778a1c95a07fa70df40a52d7300a40b949ccb" + integrity sha512-60fLTOLqzarLED2O3UQImc/lsNRgG0jE/a1mPW9KjMemY0LMITWEsbS4VvZ4p6rorEHd5YKxxmMKSDK505GHpA== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/react@^17": + version "17.0.65" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.65.tgz#95f6a2ab61145ffb69129d07982d047f9e0870cd" + integrity sha512-oxur785xZYHvnI7TRS61dXbkIhDPnGfsXKv0cNXR/0ml4SipRIFpSMzA7HMEfOywFwJ5AOnPrXYTEiTRUQeGlQ== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/scheduler@*": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5" + integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== + +"@types/semver@^7.3.12": + version "7.5.2" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.2.tgz#31f6eec1ed7ec23f4f05608d3a2d381df041f564" + integrity sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw== + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/styled-components@5.1.24": + version "5.1.24" + resolved "https://registry.yarnpkg.com/@types/styled-components/-/styled-components-5.1.24.tgz#b52ae677f03ea8a6018aa34c6c96b7018b7a3571" + integrity sha512-mz0fzq2nez+Lq5IuYammYwWgyLUE6OMAJTQL9D8hFLP4Pkh7gVYJii/VQWxq8/TK34g/OrkehXaFNdcEKcItug== + dependencies: + "@types/hoist-non-react-statics" "*" + "@types/react" "*" + csstype "^3.0.2" + +"@types/styled-jsx@^2.2.8": + version "2.2.9" + resolved "https://registry.yarnpkg.com/@types/styled-jsx/-/styled-jsx-2.2.9.tgz#e50b3f868c055bcbf9bc353eca6c10fdad32a53f" + integrity sha512-W/iTlIkGEyTBGTEvZCey8EgQlQ5l0DwMqi3iOXlLs2kyBwYTXHKEiU6IZ5EwoRwngL8/dGYuzezSup89ttVHLw== + dependencies: + "@types/react" "*" + +"@types/stylis@4.2.5": + version "4.2.5" + resolved "https://registry.yarnpkg.com/@types/stylis/-/stylis-4.2.5.tgz#1daa6456f40959d06157698a653a9ab0a70281df" + integrity sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw== + +"@types/testing-library__jest-dom@^5.9.1": + version "5.14.9" + resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz#0fb1e6a0278d87b6737db55af5967570b67cb466" + integrity sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw== + dependencies: + "@types/jest" "*" + +"@types/yargs-parser@*": + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + +"@types/yargs@^17.0.8": + version "17.0.24" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902" + integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^5.5.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" + integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/type-utils" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@^5.0.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz#14559bf73383a308026b427a4a6129bae2146741" + integrity sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw== + dependencies: + "@typescript-eslint/utils" "5.62.0" + +"@typescript-eslint/parser@^5.5.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" + integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== + dependencies: + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" + integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + +"@typescript-eslint/type-utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" + integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== + dependencies: + "@typescript-eslint/typescript-estree" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" + integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== + +"@typescript-eslint/typescript-estree@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" + integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.58.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" + integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== + dependencies: + "@typescript-eslint/types" "5.62.0" + eslint-visitor-keys "^3.3.0" + +"@vitejs/plugin-react@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz#d1091f535eab8b83d6e74034d01e27d73c773240" + integrity sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g== + dependencies: + "@babel/core" "^7.20.12" + "@babel/plugin-transform-react-jsx-self" "^7.18.6" + "@babel/plugin-transform-react-jsx-source" "^7.19.6" + magic-string "^0.27.0" + react-refresh "^0.14.0" + +"@vitest/coverage-v8@^0.32.4": + version "0.32.4" + resolved "https://registry.yarnpkg.com/@vitest/coverage-v8/-/coverage-v8-0.32.4.tgz#b11c182f52898f34f7cc5cf3aaa05e71528f7b7e" + integrity sha512-itiCYY3TmWEK+5wnFBoNr0ZA+adACp7Op1r2TeX5dPOgU2See7+Gx2NlK2lVMHVxfPsu5z9jszKa3i//eR+hqg== + dependencies: + "@ampproject/remapping" "^2.2.1" + "@bcoe/v8-coverage" "^0.2.3" + istanbul-lib-coverage "^3.2.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.1" + istanbul-reports "^3.1.5" + magic-string "^0.30.0" + picocolors "^1.0.0" + std-env "^3.3.3" + test-exclude "^6.0.0" + v8-to-istanbul "^9.1.0" + +"@vitest/expect@0.32.4": + version "0.32.4" + resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-0.32.4.tgz#4aa4eec78112cdbe299834b965420d4fb3afa91d" + integrity sha512-m7EPUqmGIwIeoU763N+ivkFjTzbaBn0n9evsTOcde03ugy2avPs3kZbYmw3DkcH1j5mxhMhdamJkLQ6dM1bk/A== + dependencies: + "@vitest/spy" "0.32.4" + "@vitest/utils" "0.32.4" + chai "^4.3.7" + +"@vitest/runner@0.32.4": + version "0.32.4" + resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-0.32.4.tgz#2872c697994745f1b70e2bd6568236ad2d9eade6" + integrity sha512-cHOVCkiRazobgdKLnczmz2oaKK9GJOw6ZyRcaPdssO1ej+wzHVIkWiCiNacb3TTYPdzMddYkCgMjZ4r8C0JFCw== + dependencies: + "@vitest/utils" "0.32.4" + p-limit "^4.0.0" + pathe "^1.1.1" + +"@vitest/snapshot@0.32.4": + version "0.32.4" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-0.32.4.tgz#75166b1c772d018278a7f0e79f43f3eae813f5ae" + integrity sha512-IRpyqn9t14uqsFlVI2d7DFMImGMs1Q9218of40bdQQgMePwVdmix33yMNnebXcTzDU5eiV3eUsoxxH5v0x/IQA== + dependencies: + magic-string "^0.30.0" + pathe "^1.1.1" + pretty-format "^29.5.0" + +"@vitest/spy@0.32.4": + version "0.32.4" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-0.32.4.tgz#c3212bc60c1430c3b5c39d6a384a75458b8f1e80" + integrity sha512-oA7rCOqVOOpE6rEoXuCOADX7Lla1LIa4hljI2MSccbpec54q+oifhziZIJXxlE/CvI2E+ElhBHzVu0VEvJGQKQ== + dependencies: + tinyspy "^2.1.1" + +"@vitest/utils@0.32.4": + version "0.32.4" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-0.32.4.tgz#36283e3aa3f3b1a378e19493c7b3b9107dc4ea71" + integrity sha512-Gwnl8dhd1uJ+HXrYyV0eRqfmk9ek1ASE/LWfTCuWMw+d07ogHqp4hEAV28NiecimK6UY9DpSEPh+pXBA5gtTBg== + dependencies: + diff-sequences "^29.4.3" + loupe "^2.3.6" + pretty-format "^29.5.0" + +abab@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +abort-controller@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + +acorn-bigint@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/acorn-bigint/-/acorn-bigint-0.4.0.tgz#af3245ed8a7c3747387fca4680ae1960f617c4cd" + integrity sha512-W9iaqWzqFo7ZBLmI9dMjHYGrN0Nm/ZgToqhvd3RELJux7RsX6k1/80h+bD9TtTpeKky/kYNbr3+vHWqI3hdyfA== + +acorn-class-fields@^0.3.1: + version "0.3.7" + resolved "https://registry.yarnpkg.com/acorn-class-fields/-/acorn-class-fields-0.3.7.tgz#a35122f3cc6ad2bb33b1857e79215677fcfdd720" + integrity sha512-jdUWSFce0fuADUljmExz4TWpPkxmRW/ZCPRqeeUzbGf0vFUcpQYbyq52l75qGd0oSwwtAepeL6hgb/naRgvcKQ== + dependencies: + acorn-private-class-elements "^0.2.7" + +acorn-dynamic-import@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" + integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== + +acorn-export-ns-from@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/acorn-export-ns-from/-/acorn-export-ns-from-0.1.0.tgz#192687869bba3bcb2ef1a1ba196486ea7e100e5c" + integrity sha512-QDQJBe2DfxNBIMxs+19XY2i/XXilJn+kPgX30HWNYK4IXoNj3ACNSWPU7szL0SzqjFyOG4zoZxG9P7JfNw5g7A== + +acorn-globals@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" + integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== + dependencies: + acorn "^8.1.0" + acorn-walk "^8.0.2" + +acorn-import-meta@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/acorn-import-meta/-/acorn-import-meta-1.1.0.tgz#c384423462ee7d4721d4de83231021a36cb09def" + integrity sha512-pshgiVR5mhpjFVdizKTN+kAGRqjJFUOEB3TvpQ6kiAutb1lvHrIVVcGoe5xzMpJkVNifCeymMG7/tsDkWn8CdQ== + +acorn-jsx@^5.2.0, acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-logical-assignment@^0.1.0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/acorn-logical-assignment/-/acorn-logical-assignment-0.1.4.tgz#1a143a21f022e1707b2bc82f587ae2943f0a570e" + integrity sha512-SeqO1iRtc/NeXo4bTkyK0hN0CIoKi/FQMN1NqhTr5UxqEn4p2wKNTZl+xzvU7i2u/k0f66YR7pNPi2ckPwYubg== + +acorn-numeric-separator@^0.3.0: + version "0.3.6" + resolved "https://registry.yarnpkg.com/acorn-numeric-separator/-/acorn-numeric-separator-0.3.6.tgz#af7f0abaf8e74bd9ca1117602954d0a3b75804f3" + integrity sha512-jUr5esgChu4k7VzesH/Nww3EysuyGJJcTEEiXqILUFKpO96PNyEXmK21M6nE0TSqGA1PeEg1MzgqJaoFsn9JMw== + +acorn-private-class-elements@^0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/acorn-private-class-elements/-/acorn-private-class-elements-0.2.7.tgz#b14902c705bcff267adede1c9f61c1a317ef95d2" + integrity sha512-+GZH2wOKNZOBI4OOPmzpo4cs6mW297sn6fgIk1dUI08jGjhAaEwvC39mN2gJAg2lmAQJ1rBkFqKWonL3Zz6PVA== + +acorn-private-methods@^0.3.0: + version "0.3.3" + resolved "https://registry.yarnpkg.com/acorn-private-methods/-/acorn-private-methods-0.3.3.tgz#724414ce5b2fec733089d73a5cbba8f7beff75b1" + integrity sha512-46oeEol3YFvLSah5m9hGMlNpxDBCEkdceJgf01AjqKYTK9r6HexKs2rgSbLK81pYjZZMonhftuUReGMlbbv05w== + dependencies: + acorn-private-class-elements "^0.2.7" + +acorn-stage3@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/acorn-stage3/-/acorn-stage3-2.1.0.tgz#63ffe0f00b8ac7ccdce34ce82b3b9a6777af390a" + integrity sha512-6R3IWwmMl1MBYf6JtaquuE8OqtCArA1zaDlY7QUeUNDcUzNJoZJm1nFQrv0SzdjkRv1khADbMfucFsF661LGow== + dependencies: + acorn-bigint "^0.4.0" + acorn-class-fields "^0.3.1" + acorn-dynamic-import "^4.0.0" + acorn-export-ns-from "^0.1.0" + acorn-import-meta "^1.0.0" + acorn-logical-assignment "^0.1.0" + acorn-numeric-separator "^0.3.0" + acorn-private-methods "^0.3.0" + acorn-static-class-features "^0.2.0" + +acorn-static-class-features@^0.2.0: + version "0.2.4" + resolved "https://registry.yarnpkg.com/acorn-static-class-features/-/acorn-static-class-features-0.2.4.tgz#a0f5261dd483f25196716854f2d7652a1deb39ee" + integrity sha512-5X4mpYq5J3pdndLmIB0+WtFd/mKWnNYpuTlTzj32wUu/PMmEGOiayQ5UrqgwdBNiaZBtDDh5kddpP7Yg2QaQYA== + dependencies: + acorn-private-class-elements "^0.2.7" + +acorn-walk@^6.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== + +acorn-walk@^8.0.2, acorn-walk@^8.1.1, acorn-walk@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^6.0.0: + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + +acorn@^8.1.0, acorn@^8.10.0, acorn@^8.4.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-align@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== + dependencies: + string-width "^4.1.0" + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-sequence-parser@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz#e0aa1cdcbc8f8bb0b5bca625aac41f5f056973cf" + integrity sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +append-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" + integrity sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA== + dependencies: + buffer-equal "^1.0.0" + +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.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +aria-query@5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== + dependencies: + deep-equal "^2.0.5" + +aria-query@^5.0.0, aria-query@^5.1.3: + version "5.3.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" + integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== + dependencies: + dequal "^2.0.3" + +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + +array-includes@^3.1.6: + version "3.1.7" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" + integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-string "^1.0.7" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.findlastindex@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" + integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.2.1" + +array.prototype.flat@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz#620eff7442503d66c799d95503f82b475745cefd" + integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.2.1" + +arraybuffer.prototype.slice@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" + integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-array-buffer "^3.0.2" + is-shared-array-buffer "^1.0.2" + +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +assert@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" + integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== + dependencies: + call-bind "^1.0.2" + is-nan "^1.3.2" + object-is "^1.1.5" + object.assign "^4.1.4" + util "^0.12.5" + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== + +async@^2.5.0: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + +async@^3.2.3: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + +asynciterator.prototype@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz#8c5df0514936cdd133604dfcc9d3fb93f09b2b62" + integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg== + dependencies: + has-symbols "^1.0.3" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +author-regex@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/author-regex/-/author-regex-0.2.1.tgz#8bdefaac6065a931799bec07eeef51b940e08f3c" + integrity sha512-LicvLyjpPZ8s58Xy628qUmwgQnN3P7o0pWygc3EZILfkYzLauo/hoPPc7iPNi2pceMmXaeHlk4VHPLp9v2DjeQ== + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +axe-core@^4.6.2: + version "4.8.1" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.8.1.tgz#6948854183ee7e7eae336b9877c5bafa027998ea" + integrity sha512-9l850jDDPnKq48nbad8SiEelCv4OrUWrKab/cPj0GScVg6cb6NbCCt/Ulk26QEq5jP9NnGr04Bit1BHyV6r5CQ== + +axios-mock-adapter@1.22.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/axios-mock-adapter/-/axios-mock-adapter-1.22.0.tgz#0f3e6be0fc9b55baab06f2d49c0b71157e7c053d" + integrity sha512-dmI0KbkyAhntUR05YY96qg2H6gg0XMl2+qTW0xmYg6Up+BFBAJYRLROMXRdDEL06/Wqwa0TJThAYvFtSFdRCZw== + dependencies: + fast-deep-equal "^3.1.3" + is-buffer "^2.0.5" + +axios@1.6.4: + version "1.6.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.4.tgz#184ee1f63d412caffcf30d2c50982253c3ee86e0" + integrity sha512-heJnIs6N4aa1eSthhN9M5ioILu8Wi8vmQW9iHQ9NUvfkJb0lEEDUiIdQNAuBtfUt3FxReaKdpQA5DbmMOqzF/A== + dependencies: + follow-redirects "^1.15.4" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +axobject-query@^3.1.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" + integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== + dependencies: + dequal "^2.0.3" + +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + +babel-plugin-polyfill-corejs2@^0.4.5: + version "0.4.5" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz#8097b4cb4af5b64a1d11332b6fb72ef5e64a054c" + integrity sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.4.2" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz#b4f719d0ad9bb8e0c23e3e630c0c8ec6dd7a1c52" + integrity sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.4.2" + core-js-compat "^3.31.0" + +babel-plugin-polyfill-regenerator@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz#80d0f3e1098c080c8b5a65f41e9427af692dc326" + integrity sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.4.2" + +babel-plugin-transform-react-remove-prop-types@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" + integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== + +babel-preset-react-app@10.1.0-next.14+9802941f: + version "10.1.0-next.14" + resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-10.1.0-next.14.tgz#a4c6a92e6e0e8d51075894beafa1d3eeaa8e14ed" + integrity sha512-/xYDXmFaTFqny9vVvsaNigvt0zzFRjjgi/3oTCeg3UzPKcWW1O6WG9JyeAV3d47Sewyr7i5B57nL5or32Vnn6A== + dependencies: + "@babel/core" "^7.16.0" + "@babel/plugin-proposal-class-properties" "^7.16.0" + "@babel/plugin-proposal-decorators" "^7.16.4" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" + "@babel/plugin-proposal-numeric-separator" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-private-methods" "^7.16.0" + "@babel/plugin-transform-flow-strip-types" "^7.16.0" + "@babel/plugin-transform-react-display-name" "^7.16.0" + "@babel/plugin-transform-runtime" "^7.16.4" + "@babel/preset-env" "^7.16.4" + "@babel/preset-react" "^7.16.0" + "@babel/preset-typescript" "^7.16.0" + "@babel/runtime" "^7.16.3" + babel-plugin-macros "^3.1.0" + babel-plugin-transform-react-remove-prop-types "^0.4.24" + +babel-runtime@^6.23.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +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== + +bluebird@^3.5.1: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +bowser@^1.7.3: + version "1.9.4" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.9.4.tgz#890c58a2813a9d3243704334fa81b96a5c150c9a" + integrity sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ== + +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" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browser-resolve@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-2.0.0.tgz#99b7304cb392f8d73dba741bb2d7da28c6d7842b" + integrity sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ== + dependencies: + resolve "^1.17.0" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +browserslist@^4.21.10, browserslist@^4.21.9: + version "4.21.10" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0" + integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ== + dependencies: + caniuse-lite "^1.0.30001517" + electron-to-chromium "^1.4.477" + node-releases "^2.0.13" + update-browserslist-db "^1.0.11" + +btoa@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73" + integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g== + +buffer-equal@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.1.tgz#2f7651be5b1b3f057fcd6e7ee16cf34767077d90" + integrity sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@^5.7.1: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== + +builtins@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" + integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== + +bundle-phobia-cli@^0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/bundle-phobia-cli/-/bundle-phobia-cli-0.14.14.tgz#29345de5b571f011cf501d9823527c47e649a147" + integrity sha512-odOT7QfLqLoFBz5fioUxhM386w9JQ1XJ4gMf5TtJ4zPt3yivC+bjh2vsqvx6W9nyfUltlemuoXXhaGrSV+KEdQ== + dependencies: + bytes "^3.1.0" + chalk "^4.1.1" + inquirer "^7.3.3" + lodash "^4.17.21" + node-fetch "^2.6.7" + ora "^4.1.1" + p-map "^4.0.0" + read-pkg-up "^7.0.1" + resolve-package-json "^1.4.0" + update-notifier "^4.1.3" + yargs "^15.4.1" + +bytes@^3.1.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cac@^6.7.14: + version "6.7.14" + resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" + integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== + +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" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelize@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" + integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== + +caniuse-lite@^1.0.30001517: + version "1.0.30001535" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001535.tgz#908a5b7ef11172f51f0b88f3d850aef1c6a3cf7b" + integrity sha512-48jLyUkiWFfhm/afF7cQPqPjaUmSraEhK4j+FCTJpgnGGEZHqyLe3hmWH7lIooZdSzXL0ReMvHz0vKDoTBsrwg== + +chai@^4.3.7: + version "4.3.8" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.8.tgz#40c59718ad6928da6629c70496fe990b2bb5b17c" + integrity sha512-vX4YvVVtxlfSZ2VecZgFUTU5qPCYsobVI2O9FmwEXBhDigYGQA6jRXCycIs1yJnnWbZ6/+a2zNIF5DfVCcJBFQ== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^4.1.2" + get-func-name "^2.0.0" + loupe "^2.3.1" + pathval "^1.1.1" + type-detect "^4.0.5" + +chain-function@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/chain-function/-/chain-function-1.0.1.tgz#c63045e5b4b663fb86f1c6e186adaf1de402a1cc" + integrity sha512-SxltgMwL9uCko5/ZCLiyG2B7R9fY4pDZUw7hJ4MhirdjBLosoDqkWABi3XMucddHdLiFJMb7PD2MZifZriuMTg== + +chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +change-emitter@^0.1.2: + version "0.1.6" + resolved "https://registry.yarnpkg.com/change-emitter/-/change-emitter-0.1.6.tgz#e8b2fe3d7f1ab7d69a32199aff91ea6931409515" + integrity sha512-YXzt1cQ4a2jqazhcuSWEOc1K2q8g9H6eWNsyZgi640LDzRWVQ2eDe+Y/kVdftH+vYdPF2rgDb3dLdpxE1jvAxw== + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +check-error@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA== + +chokidar@^3.5.1: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +ci-info@^3.2.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" + integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +classnames@*, classnames@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" + integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== + +classnames@2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" + integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== + +classnames@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" + integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-boxes@^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@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.2.0: + version "2.9.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.1.tgz#9c0b9dad69a6d47cbb4333c14319b060ed395a35" + integrity sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ== + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +client-only@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" + integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== + +client-request@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/client-request/-/client-request-2.3.0.tgz#c4604f71f81c94b280659579a17bbc0446fec212" + integrity sha512-cHFF3C3XZ6ED7f22wAgvjnnVj5A+sXEYf7D5GCRmDUaH6D0QNnu3ZclUhSd1AoMyzgSN3IlyhI75q85onuIq3g== + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + integrity sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g== + +clone-deep@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone-response@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== + dependencies: + mimic-response "^1.0.0" + +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + integrity sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag== + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== + +cloneable-readable@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" + integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + +clsx@^1.0.2, clsx@^1.0.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + +cmd-ts@^0.12.1: + version "0.12.1" + resolved "https://registry.yarnpkg.com/cmd-ts/-/cmd-ts-0.12.1.tgz#5ddf69f27887e7380ce6d50a07a3850cb82ea3f7" + integrity sha512-k93f6LgFEzx7/vBy5qV+tu1VI8YuH0DZmwNXPvRaDR4Qp7Fl9+pUSylX/CKHrWoKqHMJjNOLb1NeYTvHOjQ2Kw== + dependencies: + chalk "^4.0.0" + debug "^4.3.4" + didyoumean "^1.2.2" + strip-ansi "^6.0.0" + +code-block-writer@^11.0.0: + version "11.0.3" + resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-11.0.3.tgz#9eec2993edfb79bfae845fbc093758c0a0b73b76" + integrity sha512-NiujjUFB4SwScJq2bwbYUtXbZhBSlY6vYzm++3Q6oC+U+injTqfPYFK8wS9COOmb2lueqp0ZRB4nK1VYeHgNyw== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colors@^1.0.3: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.15.1: + 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@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" + integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== + +commander@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +commander@^8.0.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +compute-scroll-into-view@^1.0.13, compute-scroll-into-view@^1.0.17: + version "1.0.20" + resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz#1768b5522d1172754f5d0c9b02de3af6be506a43" + integrity sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +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" + +confusing-browser-globals@1.1.0-next.14+9802941f: + version "1.1.0-next.14" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.1.0-next.14.tgz#475adc3dc94ac67c5caa30e37c7892b983963f77" + integrity sha512-shpUugMlZFU47qCZ4BuoAoAlUKOjiO7Nhn1aVFx1RADeAbKdgJ1iFc18b9KPY5GRr4EnU22boZrMSlo/NfQzwQ== + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== + +convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +core-js-compat@^3.31.0: + version "3.32.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.32.2.tgz#8047d1a8b3ac4e639f0d4f66d4431aa3b16e004c" + integrity sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ== + dependencies: + browserslist "^4.21.10" + +core-js@^1.0.0: + version "1.2.7" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" + integrity sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA== + +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + 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-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +create-require@^1.1.0, create-require@^1.1.1: + 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-fetch@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-4.0.0.tgz#f037aef1580bb3a1a35164ea2a848ba81b445983" + integrity sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g== + dependencies: + node-fetch "^2.6.12" + +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +crypto-random-string@^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-color-keywords@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" + integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg== + +css-in-js-utils@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz#3b472b398787291b47cfe3e44fecfdd9e914ba99" + integrity sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA== + dependencies: + hyphenate-style-name "^1.0.2" + isobject "^3.0.1" + +css-to-react-native@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.2.0.tgz#cdd8099f71024e149e4f6fe17a7d46ecd55f1e32" + integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ== + dependencies: + camelize "^1.0.0" + css-color-keywords "^1.0.0" + postcss-value-parser "^4.0.2" + +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.escape@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== + +cssstyle@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-3.0.0.tgz#17ca9c87d26eac764bb8cfd00583cff21ce0277a" + integrity sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg== + dependencies: + rrweb-cssom "^0.6.0" + +csstype@3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +csstype@^2.5.2: + version "2.6.21" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e" + integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w== + +csstype@^3.0.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + +d2-manifest@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/d2-manifest/-/d2-manifest-1.0.0.tgz#19d4a4c4e8151442ab730e932c9c2170be9ebcc9" + integrity sha512-iITqq403wLHHe/B3jodoDH+Hv509NxYyMHY1AGDjQ/rXj1TAWuS0CNTr8SAyQFRrITkk6ZXwYp4eLu8MfgW3qA== + dependencies: + author-regex "^0.2.1" + colors "^1.0.3" + lodash.isplainobject "^4.0.3" + loglevel "^1.4.0" + minimist "^1.1.0" + readline-sync "^1.4.1" + +d2@31.10.2: + version "31.10.2" + resolved "https://registry.yarnpkg.com/d2/-/d2-31.10.2.tgz#93023171a703ad37dedf273b07e9643155e42466" + integrity sha512-kW/2DKv567foH9JNEBtebfOW6gdmHzNd5dsvA7m8aVK0IZAXYd++lKKqmTUPzpjSRHuM7oUAnTw29/a5JIdfWQ== + dependencies: + isomorphic-fetch "^2.2.1" + +d2@~31.7: + version "31.7.0" + resolved "https://registry.yarnpkg.com/d2/-/d2-31.7.0.tgz#3a843240fecaafdf213da78b55aed9b8611ee22e" + integrity sha512-+ubKyPWKxUz90g5RHCYIt4KxKPzcCOBvDS7X0076XSycecfx4qvtkGBcKyFmXdz27iwTLUpNtruL9pUK9aTi/A== + dependencies: + isomorphic-fetch "^2.2.1" + +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +data-urls@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-4.0.0.tgz#333a454eca6f9a5b7b0f1013ff89074c3f522dd4" + integrity sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g== + dependencies: + abab "^2.0.6" + whatwg-mimetype "^3.0.0" + whatwg-url "^12.0.0" + +date-fns@^2.14.0: + version "2.30.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== + dependencies: + "@babel/runtime" "^7.21.0" + +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^3.0.1, debug@^3.2.7: + 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" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decimal.js@^10.4.3: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== + dependencies: + mimic-response "^1.0.0" + +deep-eql@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" + integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== + dependencies: + type-detect "^4.0.0" + +deep-equal@^2.0.5: + version "2.2.2" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.2.tgz#9b2635da569a13ba8e1cc159c2f744071b115daa" + integrity sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + es-get-iterator "^1.1.3" + get-intrinsic "^1.2.1" + is-arguments "^1.1.1" + is-array-buffer "^3.0.2" + is-date-object "^1.0.5" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + isarray "^2.0.5" + object-is "^1.1.5" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.0" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.9" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.0.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + 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-data-property@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.0.tgz#0db13540704e1d8d479a0656cf781267531b9451" + integrity sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g== + dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +dequal@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +des.js@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" + integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + +diff-sequences@^29.4.3, diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +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== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: + version "0.5.16" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" + integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== + +dom-helpers@^3.2.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: + 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" + +domain-browser@^4.22.0: + version "4.22.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.22.0.tgz#6ddd34220ec281f9a65d3386d267ddd35c491f9f" + integrity sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw== + +domexception@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" + integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== + dependencies: + webidl-conversions "^7.0.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" + +downshift@5.4.2: + version "5.4.2" + resolved "https://registry.yarnpkg.com/downshift/-/downshift-5.4.2.tgz#3f6b7bf4ad7e0ff5503414efe3a398421763ebae" + integrity sha512-IVwIc4iw5OF5Bi/MbITarW2E8/5akm++5b6UL7aXyPoZmuVe4ilFGaQaktdFW/IwuzHieIwaWj4AQgI0lQNslQ== + dependencies: + "@babel/runtime" "^7.9.1" + compute-scroll-into-view "^1.0.13" + prop-types "^15.7.2" + react-is "^16.13.1" + +downshift@6.1.7: + version "6.1.7" + resolved "https://registry.yarnpkg.com/downshift/-/downshift-6.1.7.tgz#fdb4c4e4f1d11587985cd76e21e8b4b3fa72e44c" + integrity sha512-cVprZg/9Lvj/uhYRxELzlu1aezRcgPWBjTvspiGTVEU64gF5pRdSRKFVLcxqsZC637cLAGMbL40JavEfWnqgNg== + dependencies: + "@babel/runtime" "^7.14.8" + compute-scroll-into-view "^1.0.17" + prop-types "^15.7.2" + react-is "^17.0.2" + tslib "^2.3.0" + +duplexer3@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e" + integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== + +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.6.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +editions@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/editions/-/editions-2.3.1.tgz#3bc9962f1978e801312fbd0aebfed63b49bfe698" + integrity sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA== + dependencies: + errlop "^2.0.0" + semver "^6.3.0" + +ejs@^3.1.5: + version "3.1.9" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361" + integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== + dependencies: + jake "^10.8.5" + +electron-to-chromium@^1.4.477: + version "1.4.523" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.523.tgz#f82f99243c827df05c26776d49712cb284972df6" + integrity sha512-9AreocSUWnzNtvLcbpng6N+GkXnCcBR80IQkxRC9Dfdyg4gaWNUPBujAHUpKkiUkoSoR9UlhA4zD/IgBklmhzg== + +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +encoding@^0.1.11, encoding@^0.1.12: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +ensure-array@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ensure-array/-/ensure-array-1.0.0.tgz#317e9fc632c656bb849eb649133528e205b23abc" + integrity sha512-A+3Ntl5WS+GjDnHtC67dKIjw+IoGoeFdNvjn3ZfKEmZgWUz0nxBPE4W52QMCbGZsat0VwWskD5T6AEpe3T2d1g== + +entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +eol@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/eol/-/eol-0.9.1.tgz#f701912f504074be35c6117a5c4ade49cd547acd" + integrity sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg== + +errlop@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/errlop/-/errlop-2.2.0.tgz#1ff383f8f917ae328bebb802d6ca69666a42d21b" + integrity sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.22.1: + version "1.22.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.2.tgz#90f7282d91d0ad577f505e423e52d4c1d93c1b8a" + integrity sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA== + dependencies: + array-buffer-byte-length "^1.0.0" + arraybuffer.prototype.slice "^1.0.2" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.1" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.12" + is-weakref "^1.0.2" + object-inspect "^1.12.3" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + safe-array-concat "^1.0.1" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.8" + string.prototype.trimend "^1.0.7" + string.prototype.trimstart "^1.0.7" + typed-array-buffer "^1.0.0" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.11" + +es-get-iterator@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" + +es-iterator-helpers@^1.0.12: + version "1.0.15" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz#bd81d275ac766431d19305923707c3efd9f1ae40" + integrity sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g== + dependencies: + asynciterator.prototype "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.1" + es-abstract "^1.22.1" + es-set-tostringtag "^2.0.1" + function-bind "^1.1.1" + get-intrinsic "^1.2.1" + globalthis "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + iterator.prototype "^1.1.2" + safe-array-concat "^1.0.1" + +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +esbuild@^0.18.10: + version "0.18.20" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" + integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== + optionalDependencies: + "@esbuild/android-arm" "0.18.20" + "@esbuild/android-arm64" "0.18.20" + "@esbuild/android-x64" "0.18.20" + "@esbuild/darwin-arm64" "0.18.20" + "@esbuild/darwin-x64" "0.18.20" + "@esbuild/freebsd-arm64" "0.18.20" + "@esbuild/freebsd-x64" "0.18.20" + "@esbuild/linux-arm" "0.18.20" + "@esbuild/linux-arm64" "0.18.20" + "@esbuild/linux-ia32" "0.18.20" + "@esbuild/linux-loong64" "0.18.20" + "@esbuild/linux-mips64el" "0.18.20" + "@esbuild/linux-ppc64" "0.18.20" + "@esbuild/linux-riscv64" "0.18.20" + "@esbuild/linux-s390x" "0.18.20" + "@esbuild/linux-x64" "0.18.20" + "@esbuild/netbsd-x64" "0.18.20" + "@esbuild/openbsd-x64" "0.18.20" + "@esbuild/sunos-x64" "0.18.20" + "@esbuild/win32-arm64" "0.18.20" + "@esbuild/win32-ia32" "0.18.20" + "@esbuild/win32-x64" "0.18.20" + +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 sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^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@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-react-app@7.1.0-next.14: + version "7.1.0-next.14" + resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-7.1.0-next.14.tgz#a3e5c98c59651100f1067063ac02a35269947573" + integrity sha512-E7nP1tWYDe2y3bS6MVIt/Iw3R3fYqhRqcQXGeMf066ohUaYoIZMbPpi69MjCxwjaqQOJUoYTKNO5oPwwc5Wpkg== + dependencies: + "@babel/core" "^7.16.0" + "@babel/eslint-parser" "^7.16.3" + "@rushstack/eslint-patch" "^1.1.0" + "@typescript-eslint/eslint-plugin" "^5.5.0" + "@typescript-eslint/parser" "^5.5.0" + babel-preset-react-app "10.1.0-next.14+9802941f" + confusing-browser-globals "1.1.0-next.14+9802941f" + eslint-plugin-flowtype "^8.0.3" + eslint-plugin-import "^2.25.3" + eslint-plugin-jest "^25.3.0" + eslint-plugin-jsx-a11y "^6.5.1" + eslint-plugin-react "^7.27.1" + eslint-plugin-react-hooks "^4.3.0" + eslint-plugin-testing-library "^5.0.1" + +eslint-import-resolver-node@^0.3.7: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-module-utils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" + integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== + dependencies: + debug "^3.2.7" + +eslint-plugin-flowtype@^8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz#e1557e37118f24734aa3122e7536a038d34a4912" + integrity sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ== + dependencies: + lodash "^4.17.21" + string-natural-compare "^3.0.1" + +eslint-plugin-import@^2.25.3: + version "2.28.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz#63b8b5b3c409bfc75ebaf8fb206b07ab435482c4" + integrity sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A== + dependencies: + array-includes "^3.1.6" + array.prototype.findlastindex "^1.2.2" + array.prototype.flat "^1.3.1" + array.prototype.flatmap "^1.3.1" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.7" + eslint-module-utils "^2.8.0" + has "^1.0.3" + is-core-module "^2.13.0" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.6" + object.groupby "^1.0.0" + object.values "^1.1.6" + semver "^6.3.1" + tsconfig-paths "^3.14.2" + +eslint-plugin-jest@^25.3.0: + version "25.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz#ff4ac97520b53a96187bad9c9814e7d00de09a6a" + integrity sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ== + dependencies: + "@typescript-eslint/experimental-utils" "^5.0.0" + +eslint-plugin-jsx-a11y@^6.5.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz#fca5e02d115f48c9a597a6894d5bcec2f7a76976" + integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA== + dependencies: + "@babel/runtime" "^7.20.7" + aria-query "^5.1.3" + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + ast-types-flow "^0.0.7" + axe-core "^4.6.2" + axobject-query "^3.1.1" + damerau-levenshtein "^1.0.8" + emoji-regex "^9.2.2" + has "^1.0.3" + jsx-ast-utils "^3.3.3" + language-tags "=1.0.5" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + semver "^6.3.0" + +eslint-plugin-no-relative-import-paths@^1.5.3: + version "1.5.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-no-relative-import-paths/-/eslint-plugin-no-relative-import-paths-1.5.4.tgz#dd83666b13d43dd22156e4cc660f73700843791a" + integrity sha512-2smViH7R3682NR6dwgYr8Vm7emqNP1gEjBku6DbvUy3Ef/2Fz+mhwsFjZGSixzWzazMCj4MAgIWTsHELCCDJKA== + +eslint-plugin-react-hooks@^4.3.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" + integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + +eslint-plugin-react@^7.27.1: + version "7.33.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz#69ee09443ffc583927eafe86ffebb470ee737608" + integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw== + dependencies: + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" + doctrine "^2.1.0" + es-iterator-helpers "^1.0.12" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" + prop-types "^15.8.1" + resolve "^2.0.0-next.4" + semver "^6.3.1" + string.prototype.matchall "^4.0.8" + +eslint-plugin-testing-library@^5.0.1, eslint-plugin-testing-library@^5.11.1: + version "5.11.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz#5b46cdae96d4a78918711c0b4792f90088e62d20" + integrity sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw== + dependencies: + "@typescript-eslint/utils" "^5.58.0" + +eslint-plugin-unused-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz#d8db8c4d0cfa0637a8b51ce3fd7d1b6bc3f08520" + integrity sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A== + dependencies: + eslint-rule-composer "^0.3.0" + +eslint-rule-composer@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" + integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== + +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@^8.37.0: + version "8.49.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.49.0.tgz#09d80a89bdb4edee2efcf6964623af1054bf6d42" + integrity sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.2" + "@eslint/js" "8.49.0" + "@humanwhocodes/config-array" "^0.11.11" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +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.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-walker@^2.0.1, estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + +events@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +expect-type@^0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-0.15.0.tgz#89f75e22c88554844ea2b2faf4ef5fc2e579d3b5" + integrity sha512-yWnriYB4e8G54M5/fAFj7rCIBiKs1HAACaY13kCz6Ku0dezjS9aMcfcdVK2X8Tv2tEV1BPz/wKfQ7WA4S/d8aA== + +expect@^29.0.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.7, fast-glob@^3.2.9: + version "3.3.1" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" + integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +fbjs@^0.8.1: + version "0.8.18" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.18.tgz#9835e0addb9aca2eff53295cd79ca1cfc7c9662a" + integrity sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA== + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.30" + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^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 "^3.0.4" + +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +final-form@^4.20.2: + version "4.20.10" + resolved "https://registry.yarnpkg.com/final-form/-/final-form-4.20.10.tgz#1a484be6e9a91989121c054dcbd6f48bad051ecc" + integrity sha512-TL48Pi1oNHeMOHrKv1bCJUrWZDcD3DIG6AGYVNOnyZPr7Bd/pStN0pL+lfzF5BNoj/FclaoiaLenk4XUIFVYng== + dependencies: + "@babel/runtime" "^7.10.0" + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.1.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.0.tgz#0e54ab4a1a60fe87e2946b6b00657f1c99e1af3f" + integrity sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew== + dependencies: + flatted "^3.2.7" + keyv "^4.5.3" + rimraf "^3.0.2" + +flatted@^3.2.7: + version "3.2.9" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" + integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== + +flush-write-stream@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +fluture@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/fluture/-/fluture-14.0.0.tgz#81e1cae996a262e214aa2a8d7845fe1359018e3b" + integrity sha512-pENtLF948a8DfduVKugT8edTAbFi4rBS94xjHwzLanQqIu5PYtLGl+xqs6H8TaIRL7z/B0cDpswdINzH/HRUGA== + dependencies: + sanctuary-show "^2.0.0" + sanctuary-type-identifiers "^3.0.0" + +follow-redirects@^1.15.4: + version "1.15.6" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" + integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + +font-awesome@4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133" + integrity sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fs-extra@^11.1.0: + version "11.1.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-mkdirp-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" + integrity sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ== + dependencies: + graceful-fs "^4.1.11" + through2 "^2.0.3" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +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, get-caller-file@^2.0.5: + 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-func-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + +get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.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-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +gettext-parser@^1.3.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/gettext-parser/-/gettext-parser-1.4.0.tgz#f8baf34a292f03d5e42f02df099d301f167a7ace" + integrity sha512-sedZYLHlHeBop/gZ1jdg59hlUEcpcZJofLq2JFwJT1zTqAU3l2wFv6IsuwFHGqbiT9DWzMUW4/em2+hspnmMMA== + dependencies: + encoding "^0.1.12" + safe-buffer "^5.1.1" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-stream@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" + integrity sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw== + dependencies: + extend "^3.0.0" + glob "^7.1.1" + glob-parent "^3.1.0" + is-negated-glob "^1.0.0" + ordered-read-streams "^1.0.0" + pumpify "^1.3.5" + readable-stream "^2.1.5" + remove-trailing-separator "^1.0.1" + to-absolute-glob "^2.0.0" + unique-stream "^2.0.2" + +glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + 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" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0: + version "13.21.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.21.0.tgz#163aae12f34ef502f5153cfbdd3600f36c63c571" + integrity sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +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.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +gulp-sort@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/gulp-sort/-/gulp-sort-2.0.0.tgz#c6762a2f1f0de0a3fc595a21599d3fac8dba1aca" + integrity sha512-MyTel3FXOdh1qhw1yKhpimQrAmur9q1X0ZigLmCOxouQD+BD3za9/89O+HfbgBQvvh4igEbp0/PUWO+VqGYG1g== + dependencies: + through2 "^2.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" + +handlebars@^4.0.11: + version "4.7.8" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" + integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.2" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-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" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +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" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoist-non-react-statics@^2.3.1: + version "2.5.5" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" + integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== + +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.4.2: + 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== + +html-encoding-sniffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" + integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== + dependencies: + whatwg-encoding "^2.0.0" + +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== + +http-cache-semantics@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== + +https-proxy-agent@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +husky@7.0.4: + version "7.0.4" + resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" + integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== + +hyphenate-style-name@^1.0.2, 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== + +i18next-conv@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/i18next-conv/-/i18next-conv-6.1.1.tgz#b3f9b0a76a20a67e2902c9e3273642a882a2442d" + integrity sha512-vtFjlOS1/3mDq/sXfDcwHuBj0jMi6xTZehTNhls6ndelaEUn9brHUaE0wuChmoLHOcsqchZZQWWH8gSv41qoZA== + dependencies: + bluebird "^3.5.1" + chalk "^2.4.1" + commander "^2.15.1" + gettext-parser "^1.3.1" + mkdirp "^0.5.1" + node-gettext "^2.0.0" + +i18next-scanner@^2.4.4: + version "2.11.0" + resolved "https://registry.yarnpkg.com/i18next-scanner/-/i18next-scanner-2.11.0.tgz#58c7ffadd5192cdb2b1b2a6c743b1314050ccb4c" + integrity sha512-/QqbSnUj9v6EwndaWeHp8NkHqLKAIHSlI1HXSyLdIPKWYM+Fnpk2tjnyjP8qn7L0rLT7HLH4bvyiw61wOIxf0A== + dependencies: + acorn "^6.0.0" + acorn-dynamic-import "^4.0.0" + acorn-jsx "^5.2.0" + acorn-stage3 "^2.0.0" + acorn-walk "^6.0.0" + chalk "^2.4.1" + clone-deep "^4.0.0" + commander "^3.0.1" + deepmerge "^4.0.0" + ensure-array "^1.0.0" + eol "^0.9.1" + esprima "^4.0.0" + gulp-sort "^2.0.0" + i18next "*" + lodash "^4.0.0" + parse5 "^5.0.0" + sortobject "^1.1.1" + through2 "^3.0.1" + vinyl "^2.2.0" + vinyl-fs "^3.0.1" + +i18next@*: + version "23.5.1" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.5.1.tgz#7f7c35ffaa907618d9489f106d5006b09fbca3d3" + integrity sha512-JelYzcaCoFDaa+Ysbfz2JsGAKkrHiMG6S61+HLBUEIPaF40WMwW9hCPymlQGrP+wWawKxKPuSuD71WZscCsWHg== + dependencies: + "@babel/runtime" "^7.22.5" + +i18next@^10.3: + version "10.6.0" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-10.6.0.tgz#90ffd9f9bc617f34b9a12e037260f524445f7684" + integrity sha512-ycRlN145kQf8EsyDAzMfjqv1ZT1Jwp7P2H/07bP8JLWm+7cSLD4XqlJOvq4mKVS2y2mMIy10lX9ZeYUdQ0qSRw== + +iconv-lite@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" + integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +iconv-lite@0.6.3, iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: + 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.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.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +inline-style-prefixer@^3.0.8: + version "3.0.8" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-3.0.8.tgz#8551b8e5b4d573244e66a34b04f7d32076a2b534" + integrity sha512-ne8XIyyqkRaNJ1JfL1NYzNdCNxq+MCBQhC8NgOQlzNm2vv3XxlP0VSLQUbSRCF6KPEoveCVEpayHoHzcMyZsMQ== + dependencies: + bowser "^1.7.3" + css-in-js-utils "^2.0.0" + +inquirer@^7.3.3: + version "7.3.3" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.19" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.6.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + +internal-slot@^1.0.4, internal-slot@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== + dependencies: + get-intrinsic "^1.2.0" + has "^1.0.3" + side-channel "^1.0.4" + +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + +is-arguments@^1.0.4, is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-async-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" + integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== + dependencies: + has-tostringtag "^1.0.0" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-buffer@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.13.0, is-core-module@^2.9.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" + integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-finalizationregistry@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" + integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== + dependencies: + call-bind "^1.0.2" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-function@^1.0.10, is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-in-browser@^1.0.2, is-in-browser@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" + integrity sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g== + +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-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-map@^2.0.1, is-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== + +is-nan@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" + integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + +is-negated-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" + integrity sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug== + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +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.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-inside@^3.0.1, is-path-inside@^3.0.3: + 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-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + +is-set@^2.0.1, is-set@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-stream@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.3, is-typed-array@^1.1.9: + version "1.1.12" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== + dependencies: + which-typed-array "^1.1.11" + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-utf8@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== + +is-valid-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + integrity sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA== + +is-weakmap@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" + integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +is-windows@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^2.1.1, is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +is-yarn-global@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" + integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +isomorphic-fetch@^2.1.1, isomorphic-fetch@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + integrity sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA== + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + +isomorphic-timers-promises@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz#e4137c24dbc54892de8abae3a4b5c1ffff381598" + integrity sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.5: + version "3.1.6" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a" + integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +iterator.prototype@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" + integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== + dependencies: + define-properties "^1.2.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + reflect.getprototypeof "^1.0.4" + set-function-name "^2.0.1" + +jake@^10.8.5: + version "10.8.7" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" + integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsdom@^21.1.1: + version "21.1.2" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-21.1.2.tgz#6433f751b8718248d646af1cdf6662dc8a1ca7f9" + integrity sha512-sCpFmK2jv+1sjff4u7fzft+pUh2KSUbUrEHYHyfSIbGTIcmnjyp83qg6qLwdJ/I3LpTXx33ACxeRL7Lsyc6lGQ== + dependencies: + abab "^2.0.6" + acorn "^8.8.2" + acorn-globals "^7.0.0" + cssstyle "^3.0.0" + data-urls "^4.0.0" + decimal.js "^10.4.3" + domexception "^4.0.0" + escodegen "^2.0.0" + form-data "^4.0.0" + html-encoding-sniffer "^3.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.1" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.4" + parse5 "^7.1.2" + rrweb-cssom "^0.6.0" + saxes "^6.0.0" + symbol-tree "^3.2.4" + tough-cookie "^4.1.2" + w3c-xmlserializer "^4.0.0" + webidl-conversions "^7.0.0" + whatwg-encoding "^2.0.0" + whatwg-mimetype "^3.0.0" + whatwg-url "^12.0.1" + ws "^8.13.0" + xml-name-validator "^4.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.3, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonc-parser@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + +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" + +jss-plugin-camel-case@^10.5.1: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz#27ea159bab67eb4837fa0260204eb7925d4daa1c" + integrity sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw== + dependencies: + "@babel/runtime" "^7.3.1" + hyphenate-style-name "^1.0.3" + jss "10.10.0" + +jss-plugin-default-unit@^10.5.1: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz#db3925cf6a07f8e1dd459549d9c8aadff9804293" + integrity sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.10.0" + +jss-plugin-global@^10.5.1: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz#1c55d3c35821fab67a538a38918292fc9c567efd" + integrity sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.10.0" + +jss-plugin-nested@^10.5.1: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz#db872ed8925688806e77f1fc87f6e62264513219" + integrity sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.10.0" + tiny-warning "^1.0.2" + +jss-plugin-props-sort@^10.5.1: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz#67f4dd4c70830c126f4ec49b4b37ccddb680a5d7" + integrity sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.10.0" + +jss-plugin-rule-value-function@^10.5.1: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz#7d99e3229e78a3712f78ba50ab342e881d26a24b" + integrity sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.10.0" + tiny-warning "^1.0.2" + +jss-plugin-vendor-prefixer@^10.5.1: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz#c01428ef5a89f2b128ec0af87a314d0c767931c7" + integrity sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg== + dependencies: + "@babel/runtime" "^7.3.1" + css-vendor "^2.0.8" + jss "10.10.0" + +jss@10.10.0, jss@^10.5.1: + version "10.10.0" + resolved "https://registry.yarnpkg.com/jss/-/jss-10.10.0.tgz#a75cc85b0108c7ac8c7b7d296c520a3e4fbc6ccc" + integrity sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw== + dependencies: + "@babel/runtime" "^7.3.1" + csstype "^3.0.2" + is-in-browser "^1.1.3" + tiny-warning "^1.0.2" + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3: + version "3.3.5" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +keycode@^2.1.8: + version "2.2.1" + resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.1.tgz#09c23b2be0611d26117ea2501c2c391a01f39eff" + integrity sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg== + +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" + +keyv@^4.5.3: + version "4.5.3" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.3.tgz#00873d2b046df737963157bd04f294ca818c9c25" + integrity sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== + dependencies: + json-buffer "3.0.1" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +language-subtag-registry@~0.3.2: + version "0.3.22" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" + integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== + +language-tags@=1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== + dependencies: + language-subtag-registry "~0.3.2" + +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" + +lazystream@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638" + integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== + dependencies: + readable-stream "^2.0.5" + +lead@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" + integrity sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow== + dependencies: + flush-write-stream "^1.0.2" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +linkify-it@^2.0.3: + version "2.2.0" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" + integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw== + dependencies: + uc.micro "^1.0.1" + +local-pkg@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.3.tgz#0ff361ab3ae7f1c19113d9bb97b98b905dbc4963" + integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== + +lodash.isplainobject@^4.0.3: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.merge@^4.6.0, 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.pick@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + integrity sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== + +lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== + +lodash@4.17.21, lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== + dependencies: + chalk "^2.4.2" + +loglevel@^1.4.0: + version "1.8.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4" + integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg== + +loose-envify@^1.0.0, 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" + +loupe@^2.3.1, loupe@^2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.6.tgz#76e4af498103c532d1ecc9be102036a21f787b53" + integrity sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA== + dependencies: + get-func-name "^2.0.0" + +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" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + 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" + +lunr@^2.3.9: + version "2.3.9" + resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" + integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== + +lz-string@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" + integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== + +magic-string@^0.27.0: + version "0.27.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" + integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.13" + +magic-string@^0.30.0: + version "0.30.3" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.3.tgz#403755dfd9d6b398dfa40635d52e96c5ac095b85" + integrity sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +make-dir@^3.0.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-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +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== + +marked@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" + integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== + +material-ui@^0.20.0: + version "0.20.2" + resolved "https://registry.yarnpkg.com/material-ui/-/material-ui-0.20.2.tgz#5fc9b4b62b691d3b16c89d8e54597a0412b52c7d" + integrity sha512-VeqgQkdvtK193w+FFvXDEwlVxI4rWk83eWbpYLeOIHDPWr3rbB9B075JRnJt/8IsI2X8q5Aia5W3+7m4KkleDg== + dependencies: + babel-runtime "^6.23.0" + inline-style-prefixer "^3.0.8" + keycode "^2.1.8" + lodash.merge "^4.6.0" + lodash.throttle "^4.1.1" + prop-types "^15.5.7" + react-event-listener "^0.6.2" + react-transition-group "^1.2.1" + recompose "^0.26.0" + simple-assign "^0.1.0" + warning "^3.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +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, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mkdirp@^0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mlly@^1.2.0, mlly@^1.4.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.4.2.tgz#7cf406aa319ff6563d25da6b36610a93f2a8007e" + integrity sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg== + dependencies: + acorn "^8.10.0" + pathe "^1.1.1" + pkg-types "^1.0.3" + ufo "^1.3.0" + +moment@2.29.4, moment@^2.22.1, moment@^2.24.0, moment@^2.29.1: + version "2.29.4" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +nano-memoize@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/nano-memoize/-/nano-memoize-1.2.1.tgz#21091318021c81374a525349a8cd0ad712122077" + integrity sha512-ANfJ0QFhLzv9BZV8tHxwaDClqr+U8yY65hZA+slbgJrx+ePnHtlY92F2ZJInkkQWUUR71NzCEHBshKCHJnNyaQ== + +nano-memoize@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/nano-memoize/-/nano-memoize-1.3.0.tgz#2d2d04ec000f9a7588f79f50d4e24685a8c586ad" + integrity sha512-yM/gMQHvA5EOtNGfEbJ8tmAveNjbckhzZ1hkNtMjY8zps3ocjPfp1kuJ1++OgtVHAhsGSTJttG3S6UV+FZZzxQ== + +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +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== + +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + +node-fetch@^2.6.12, node-fetch@^2.6.7: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-gettext@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/node-gettext/-/node-gettext-2.1.0.tgz#94d63e9cc0bcabd1e67de0680a44c812721a9023" + integrity sha512-vsHImHl+Py0vB7M2UXcFEJ5NJ3950gcja45YclBFtYxYeZiqdfQdcu+G9s4L7jpRFSh/J/7VoS3upR4JM1nS+g== + dependencies: + lodash.get "^4.4.2" + +node-releases@^2.0.13: + version "2.0.13" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" + integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== + +node-stdlib-browser@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/node-stdlib-browser/-/node-stdlib-browser-1.2.0.tgz#5ddcfdf4063b88fb282979a1aa6ddab9728d5e4c" + integrity sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg== + dependencies: + assert "^2.0.0" + browser-resolve "^2.0.0" + browserify-zlib "^0.2.0" + buffer "^5.7.1" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + create-require "^1.1.1" + crypto-browserify "^3.11.0" + domain-browser "^4.22.0" + events "^3.0.0" + https-browserify "^1.0.0" + isomorphic-timers-promises "^1.0.1" + os-browserify "^0.3.0" + path-browserify "^1.0.1" + pkg-dir "^5.0.0" + process "^0.11.10" + punycode "^1.4.1" + querystring-es3 "^0.2.1" + readable-stream "^3.6.0" + stream-browserify "^3.0.0" + stream-http "^3.2.0" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.1" + url "^0.11.0" + util "^0.12.4" + vm-browserify "^1.0.1" + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^4.1.0: + version "4.5.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" + integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== + +now-and-later@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" + integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== + dependencies: + once "^1.3.2" + +npm-package-arg@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-5.1.2.tgz#fb18d17bb61e60900d6312619919bd753755ab37" + integrity sha512-wJBsrf0qpypPT7A0LART18hCdyhpCMxeTtcb0X4IZO2jsP6Om7EHN1d9KSKiqD+KVH030RVNpWS9thk+pb7wzA== + dependencies: + hosted-git-info "^2.4.2" + osenv "^0.1.4" + semver "^5.1.0" + validate-npm-package-name "^3.0.0" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nwsapi@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" + integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== + +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 sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.12.3, object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-is@^1.1.5: + 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.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.0.4, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.6: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" + integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.fromentries@^2.0.6: + version "2.0.7" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" + integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.groupby@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" + integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + +object.hasown@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae" + integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== + dependencies: + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.values@^1.1.6: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" + integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^7.3.1: + version "7.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== + dependencies: + is-docker "^2.0.0" + is-wsl "^2.1.1" + +open@^8.4.0: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + +ora@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-4.1.1.tgz#566cc0348a15c36f5f0e979612842e02ba9dddbc" + integrity sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A== + dependencies: + chalk "^3.0.0" + cli-cursor "^3.1.0" + cli-spinners "^2.2.0" + is-interactive "^1.0.0" + log-symbols "^3.0.0" + mute-stream "0.0.8" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +ordered-read-streams@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" + integrity sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw== + dependencies: + readable-stream "^2.0.1" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== + +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-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-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + 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-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +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" + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + +parse5@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + +path-browserify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@^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@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pathe@^1.1.0, pathe@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.1.tgz#1dd31d382b974ba69809adc9a7a347e65d84829a" + integrity sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q== + +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pkg-dir@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" + integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== + dependencies: + find-up "^5.0.0" + +pkg-types@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.0.3.tgz#988b42ab19254c01614d13f4f65a2cfc7880f868" + integrity sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== + dependencies: + jsonc-parser "^3.2.0" + mlly "^1.2.0" + pathe "^1.1.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== + +postcss-value-parser@^4.0.2: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@8.4.38: + version "8.4.38" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" + +postcss@^8.4.27: + version "8.4.29" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.29.tgz#33bc121cf3b3688d4ddef50be869b2a54185a1dd" + integrity sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== + +prettier@^2.8.7: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +pretty-format@^27.0.2: + version "27.5.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + +pretty-format@^29.0.0, pretty-format@^29.5.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + +prop-types@^15, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +psl@^1.1.33: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.5: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +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" + +purify-ts-extra-codec@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/purify-ts-extra-codec/-/purify-ts-extra-codec-0.6.0.tgz#4d06756cbf4d9def5a44bb192f18178726400547" + integrity sha512-wEIIhBJ9+OfTsGEXPq2SA96NbdRPWNTtjbZB4HSy8VNlfF7cxeDrQ3UBpNGSXTI8AskY4IcUtCgX/V5SwJzKkw== + dependencies: + date-fns "^2.14.0" + warning "^4.0.3" + +purify-ts@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/purify-ts/-/purify-ts-1.2.0.tgz#103f088798c55b78b0ba49d82714f912c5d35b4c" + integrity sha512-CTiMFDCaJ9vKXOnl13sRktbb6KMYB0NuQD0LPUYfEZO5YIKcN7uxIb7maSe0Ywzcm9O8LDcz7dQK1p6ZWDCvaQ== + dependencies: + "@types/json-schema" "7.0.9" + +qs@6.9.7: + version "6.9.7" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe" + integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw== + +qs@^6.11.2: + version "6.11.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" + integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== + dependencies: + side-channel "^1.0.4" + +querystring-es3@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== + +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.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +rc@1.2.8, 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-dom@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +react-event-listener@^0.6.2: + version "0.6.6" + resolved "https://registry.yarnpkg.com/react-event-listener/-/react-event-listener-0.6.6.tgz#758f7b991cad9086dd39fd29fad72127e1d8962a" + integrity sha512-+hCNqfy7o9wvO6UgjqFmBzARJS7qrNoda0VqzvOuioEpoEXKutiKuv92dSz6kP7rYLmyHPyYNLesi5t/aH1gfw== + dependencies: + "@babel/runtime" "^7.2.0" + prop-types "^15.6.0" + warning "^4.0.1" + +react-fast-compare@^3.0.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== + +react-final-form@^6.5.3: + version "6.5.9" + resolved "https://registry.yarnpkg.com/react-final-form/-/react-final-form-6.5.9.tgz#644797d4c122801b37b58a76c87761547411190b" + integrity sha512-x3XYvozolECp3nIjly+4QqxdjSSWfcnpGEL5K8OBT6xmGrq5kBqbA6+/tOqoom9NwqIPPbxPNsOViFlbKgowbA== + dependencies: + "@babel/runtime" "^7.15.4" + +react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +"react-is@^16.8.0 || ^17.0.0", react-is@^17.0.1, react-is@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +react-linkify@1.0.0-alpha: + version "1.0.0-alpha" + resolved "https://registry.yarnpkg.com/react-linkify/-/react-linkify-1.0.0-alpha.tgz#b391c7b88e3443752fafe76a95ca4434e82e70d5" + integrity sha512-7gcIUvJkAXXttt1fmBK9cwn+1jTa4hbKLGCZ9J1U6EOkyb2/+LKL1Z28d9rtDLMnpvImlNlLPdTPooorl5cpmg== + dependencies: + linkify-it "^2.0.3" + tlds "^1.199.0" + +react-popper@^2.2.5: + version "2.3.0" + resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.3.0.tgz#17891c620e1320dce318bad9fede46a5f71c70ba" + integrity sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q== + dependencies: + react-fast-compare "^3.0.1" + warning "^4.0.2" + +react-refresh@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" + integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== + +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-transition-group@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-1.2.1.tgz#e11f72b257f921b213229a774df46612346c7ca6" + integrity sha512-CWaL3laCmgAFdxdKbhhps+c0HRGF4c+hdM4H23+FI1QBNUyx/AMeIJGWorehPNSaKnQNOAxL7PQmqMu78CDj3Q== + dependencies: + chain-function "^1.0.0" + dom-helpers "^3.2.0" + loose-envify "^1.3.1" + prop-types "^15.5.6" + warning "^3.0.0" + +react-transition-group@^4.0.0, react-transition-group@^4.4.0: + version "4.4.5" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" + integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + +react@^16.12.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@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@2 || 3", readable-stream@^3.5.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +readline-sync@^1.4.1: + version "1.4.10" + resolved "https://registry.yarnpkg.com/readline-sync/-/readline-sync-1.4.10.tgz#41df7fbb4b6312d673011594145705bf56d8873b" + integrity sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw== + +real-cancellable-promise@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/real-cancellable-promise/-/real-cancellable-promise-1.2.0.tgz#f365e78b29c6a2303584f2c308959b415401056a" + integrity sha512-FYhmx1FVSgoPRjneoTjh+EKZcNb8ijl/dyatTzase5eujYhVrLNDOiIY6AgQq7GU1kOoLgEd9jLVbhFg8k8dOQ== + +recompose@^0.26.0: + version "0.26.0" + resolved "https://registry.yarnpkg.com/recompose/-/recompose-0.26.0.tgz#9babff039cb72ba5bd17366d55d7232fbdfb2d30" + integrity sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog== + dependencies: + change-emitter "^0.1.2" + fbjs "^0.8.1" + hoist-non-react-statics "^2.3.1" + symbol-observable "^1.0.4" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +reflect.getprototypeof@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz#aaccbf41aca3821b87bb71d9dcbc7ad0ba50a3f3" + integrity sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + globalthis "^1.0.3" + which-builtin-type "^1.1.3" + +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" + integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + set-function-name "^2.0.0" + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +registry-auth-token@^4.0.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.2.tgz#f02d49c3668884612ca031419491a13539e21fac" + integrity sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg== + 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" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +remove-bom-buffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" + integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== + dependencies: + is-buffer "^1.1.5" + is-utf8 "^0.2.1" + +remove-bom-stream@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" + integrity sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA== + dependencies: + remove-bom-buffer "^3.0.0" + safe-buffer "^5.1.0" + through2 "^2.0.3" + +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 sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== + +replace-ext@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" + integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +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 sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +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-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-options@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" + integrity sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A== + dependencies: + value-or-function "^3.0.0" + +resolve-package-json@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/resolve-package-json/-/resolve-package-json-1.4.0.tgz#3f3373c5b7fb61fa078ba3cc936cf3e70bd23c7d" + integrity sha512-9UJjpAS+zjRP3C0NJuW5YqHxvd5bIZ+EKnxrhlVvVdEh2p6hQQ23Hg+O5Qqir2uEWAfealWE+ODIYoJF25CuRg== + dependencies: + async "^2.5.0" + client-request "^2.2.0" + debug "^3.0.1" + npm-package-arg "^5.1.2" + semver "^5.4.1" + which "^1.3.0" + +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + +resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.22.4: + version "1.22.6" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.6.tgz#dd209739eca3aef739c626fea1b4f3c506195362" + integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.4: + version "2.0.0-next.4" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" + integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== + dependencies: + lowercase-keys "^1.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +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== + +rifm@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/rifm/-/rifm-0.7.0.tgz#debe951a9c83549ca6b33e5919f716044c2230be" + integrity sha512-DSOJTWHD67860I5ojetXdEQRIBvF6YcpNe53j0vn1vp9EUb9N80EiZTxgP+FkDKorWC8PZw052kTF4C1GOivCQ== + dependencies: + "@babel/runtime" "^7.3.1" + +rimraf@^2.6.2: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rimraf@~2.6.2: + 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" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rollup-plugin-visualizer@^5.9.0: + version "5.9.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.9.2.tgz#f1aa2d9b1be8ebd6869223c742324897464d8891" + integrity sha512-waHktD5mlWrYFrhOLbti4YgQCn1uR24nYsNuXxg7LkPH8KdTXVWR9DNY1WU0QqokyMixVXJS4J04HNrVTMP01A== + dependencies: + open "^8.4.0" + picomatch "^2.3.1" + source-map "^0.7.4" + yargs "^17.5.1" + +rollup@^2.77.2: + version "2.79.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" + integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== + optionalDependencies: + fsevents "~2.3.2" + +rollup@^3.27.1: + version "3.29.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.2.tgz#cbc76cd5b03b9f9e93be991d23a1dff9c6d5b740" + integrity sha512-CJouHoZ27v6siztc21eEQGo0kIcE5D1gVPA571ez0mMYb25LGYGKnVNXpEj5MGlepmDWGXNjDB5q7uNiPHC11A== + optionalDependencies: + fsevents "~2.3.2" + +rrweb-cssom@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1" + integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw== + +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rxjs-compat@6.6.3: + version "6.6.3" + resolved "https://registry.yarnpkg.com/rxjs-compat/-/rxjs-compat-6.6.3.tgz#141405fcee11f48718d428b99c8f01826f594e5c" + integrity sha512-y+wUqq7bS2dG+7rH2fNMoxsDiJ32RQzFxZQE/JdtpnmEZmwLQrb1tCiItyHxdXJHXjmHnnzFscn3b6PEmORGKw== + +rxjs-compat@6.6.7: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs-compat/-/rxjs-compat-6.6.7.tgz#6eb4ef75c0a58ea672854a701ccc8d49f41e69cb" + integrity sha512-szN4fK+TqBPOFBcBcsR0g2cmTTUF/vaFEOZNuSdfU8/pGFnNmmn2u8SystYXG1QMrjOPBc6XTKHMVfENDf6hHw== + +rxjs@^5.5.7: + version "5.5.12" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.12.tgz#6fa61b8a77c3d793dbaf270bee2f43f652d741cc" + integrity sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw== + dependencies: + symbol-observable "1.0.1" + +rxjs@^6.6.0: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +safe-array-concat@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" + integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + isarray "^2.0.5" + +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-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sanctuary-show@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sanctuary-show/-/sanctuary-show-2.0.0.tgz#2326b4744f4b0f993f18ca56a29f68a50f514637" + integrity sha512-REj4ZiioUXnDLj6EpJ9HcYDIEGaEexmB9Fg5o6InZR9f0x5PfnnC21QeU9SZ9E7G8zXSZPNjy8VRUK4safbesw== + +sanctuary-type-identifiers@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/sanctuary-type-identifiers/-/sanctuary-type-identifiers-3.0.0.tgz#51cb488d2ed9f194946a64ffe2b41dd49a348c0b" + integrity sha512-YFXYcG0Ura1dSPd/1xLYtE2XAWUEsBHhMTZvYBOvwT8MeFQwdUOCMm2DC+r94z6H93FVq0qxDac8/D7QpJj6Mg== + +sanitize-filename@^1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378" + integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== + dependencies: + truncate-utf8-bytes "^1.0.0" + +saxes@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" + integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== + dependencies: + xmlchars "^2.2.0" + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +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@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.4.1: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.0.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.4, semver@^7.3.7, semver@^7.5.0, semver@^7.5.3: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.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 sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-function-name@^2.0.0, set-function-name@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" + integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== + dependencies: + define-data-property "^1.0.1" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.0" + +setimmediate@^1.0.4, setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shallowequal@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shiki@^0.14.1: + version "0.14.4" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.4.tgz#2454969b466a5f75067d0f2fa0d7426d32881b20" + integrity sha512-IXCRip2IQzKwxArNNq1S+On4KPML3Yyn8Zzs/xRgcgOWIr8ntIK3IKzjFPfjy/7kt9ZMjc+FItfqHRBg8b6tNQ== + dependencies: + ansi-sequence-parser "^1.1.0" + jsonc-parser "^3.2.0" + vscode-oniguruma "^1.7.0" + vscode-textmate "^8.0.0" + +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" + +siginfo@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" + integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== + +signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +simple-assign@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/simple-assign/-/simple-assign-0.1.0.tgz#17fd3066a5f3d7738f50321bb0f14ca281cc4baa" + integrity sha512-otdSSQzuVsmDoe5MnSm4ZgHd5sl0ak6A1CTjW1R/DUHQ8xoZuU1NUzf9x6n9Dvp3nxpvW51WNMQ/7rQ9432xDg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +sortobject@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sortobject/-/sortobject-1.3.0.tgz#bc8ce57014c567bdbf78e89ae6c484e64d51e9dc" + integrity sha512-rr0RrgE3ZoWaREnHiidnywzXLaeqmxDKfB4Htdbzu4WBzsVeZEJrhz7AR4ZF+gzHgbog/lQoNXxCWHaXeLc1Dg== + dependencies: + editions "^2.2.0" + +source-map-explorer@^2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/source-map-explorer/-/source-map-explorer-2.5.3.tgz#33551b51e33b70f56d15e79083cdd4c43e583b69" + integrity sha512-qfUGs7UHsOBE5p/lGfQdaAj/5U/GWYBw2imEpD6UQNkqElYonkow8t+HBL1qqIl3CuGZx7n8/CQo4x1HwSHhsg== + dependencies: + btoa "^1.2.1" + chalk "^4.1.0" + convert-source-map "^1.7.0" + ejs "^3.1.5" + escape-html "^1.0.3" + glob "^7.1.6" + gzip-size "^6.0.0" + lodash "^4.17.20" + open "^7.3.1" + source-map "^0.7.4" + temp "^0.9.4" + yargs "^16.2.0" + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +source-map@^0.6.1, 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.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.13" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" + integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +stackback@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" + integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== + +std-env@^3.3.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.4.3.tgz#326f11db518db751c83fd58574f449b7c3060910" + integrity sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q== + +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + +stream-browserify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + +stream-http@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" + integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.4" + readable-stream "^3.6.0" + xtend "^4.0.2" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +string-natural-compare@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" + integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== + +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.matchall@^4.0.8: + version "4.0.10" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" + integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + regexp.prototype.flags "^1.5.0" + set-function-name "^2.0.0" + side-channel "^1.0.4" + +string.prototype.trim@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" + integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimend@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" + integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimstart@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +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 sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + +strip-literal@^1.0.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-1.3.0.tgz#db3942c2ec1699e6836ad230090b84bb458e3a07" + integrity sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg== + dependencies: + acorn "^8.10.0" + +styled-components@6.1.11: + version "6.1.11" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-6.1.11.tgz#01948e5195bf1d39e57e0a85b41958c80e40cfb8" + integrity sha512-Ui0jXPzbp1phYij90h12ksljKGqF8ncGx+pjrNPsSPhbUUjWT2tD1FwGo2LF6USCnbrsIhNngDfodhxbegfEOA== + dependencies: + "@emotion/is-prop-valid" "1.2.2" + "@emotion/unitless" "0.8.1" + "@types/stylis" "4.2.5" + css-to-react-native "3.2.0" + csstype "3.1.3" + postcss "8.4.38" + shallowequal "1.1.0" + stylis "4.3.2" + tslib "2.6.2" + +styled-jsx@^5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.6.tgz#83b90c077e6c6a80f7f5e8781d0f311b2fe41499" + integrity sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA== + dependencies: + client-only "0.0.1" + +stylis@4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.2.tgz#8f76b70777dd53eb669c6f58c997bf0a9972e444" + integrity sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +symbol-observable@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" + integrity sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw== + +symbol-observable@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +temp@^0.9.4: + version "0.9.4" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.9.4.tgz#cd20a8580cb63635d0e4e9d4bd989d44286e7620" + integrity sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA== + dependencies: + mkdirp "^0.5.1" + rimraf "~2.6.2" + +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== + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +throttle-debounce@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-2.1.0.tgz#257e648f0a56bd9e54fe0f132c4ab8611df4e1d5" + integrity sha512-AOvyNahXQuU7NN+VVvOOX+uW6FPaWdAOdRP5HfwYxAfCzXTFKRMoIMk+n+po318+ktcChx+F1Dd91G3YHeMKyg== + +throttle-debounce@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-4.0.1.tgz#f86656fe9c8a6b8218952ef36c3bf225089b1baf" + integrity sha512-s3PedbXdZtr8v3J5Sxd5T/GmWG80BcK5GVpwDdvgEaUXsaMqQe4zxgmC4TA7B8luSDCPxo3CeSBS3F9rF1CZwg== + +through2-filter@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" + integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== + dependencies: + through2 "~2.0.0" + xtend "~4.0.0" + +through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through2@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" + integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== + dependencies: + inherits "^2.0.4" + readable-stream "2 || 3" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + dependencies: + setimmediate "^1.0.4" + +tiny-invariant@^1.0.2, tiny-invariant@^1.1.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" + integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== + +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== + +tinybench@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.5.1.tgz#3408f6552125e53a5a48adee31261686fd71587e" + integrity sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg== + +tinypool@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-0.5.0.tgz#3861c3069bf71e4f1f5aa2d2e6b3aaacc278961e" + integrity sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ== + +tinyspy@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-2.1.1.tgz#9e6371b00c259e5c5b301917ca18c01d40ae558c" + integrity sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w== + +tlds@^1.199.0: + version "1.242.0" + resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.242.0.tgz#da136a9c95b0efa1a4cd57dca8ef240c08ada4b7" + integrity sha512-aP3dXawgmbfU94mA32CJGHmJUE1E58HCB1KmlKRhBNtqBL27mSQcAEmcaMaQ1Za9kIVvOdbxJD3U5ycDy7nJ3w== + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +to-absolute-glob@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" + integrity sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA== + dependencies: + is-absolute "^1.0.0" + is-negated-glob "^1.0.0" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +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@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-through@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" + integrity sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q== + dependencies: + through2 "^2.0.3" + +tough-cookie@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + +tr46@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-4.1.1.tgz#281a758dcc82aeb4fe38c7dfe4d11a395aac8469" + integrity sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw== + dependencies: + punycode "^2.3.0" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +"true-myth@^4.1.0": + version "4.1.1" + resolved "https://registry.yarnpkg.com/true-myth/-/true-myth-4.1.1.tgz#ff4ac9d5130276e34aa338757e2416ec19248ba2" + integrity sha512-rqy30BSpxPznbbTcAcci90oZ1YR4DqvKcNXNerG5gQBU2v4jk0cygheiul5J6ExIMrgDVuanv/MkGfqZbKrNNg== + +truncate-utf8-bytes@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" + integrity sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ== + dependencies: + utf8-byte-length "^1.0.1" + +ts-morph@^13.0.1: + version "13.0.3" + resolved "https://registry.yarnpkg.com/ts-morph/-/ts-morph-13.0.3.tgz#c0c51d1273ae2edb46d76f65161eb9d763444c1d" + integrity sha512-pSOfUMx8Ld/WUreoSzvMFQG5i9uEiWIsBYjpU9+TTASOeUa89j5HykomeqVULm1oqWtBdleI3KEFRLrlA3zGIw== + dependencies: + "@ts-morph/common" "~0.12.3" + code-block-writer "^11.0.0" + +ts-node@^10.9.1: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +ts-prune@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/ts-prune/-/ts-prune-0.10.3.tgz#b6c71a525543b38dcf947a7d3adfb7f9e8b91f38" + integrity sha512-iS47YTbdIcvN8Nh/1BFyziyUqmjXz7GVzWu02RaZXqb+e/3Qe1B7IQ4860krOeCGUeJmterAlaM2FRH0Ue0hjw== + dependencies: + commander "^6.2.1" + cosmiconfig "^7.0.1" + json5 "^2.1.3" + lodash "^4.17.21" + "true-myth" "^4.1.0" + ts-morph "^13.0.1" + +tsconfig-paths@^3.14.2: + version "3.14.2" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" + integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@2.6.2, tslib@^2.3.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tty-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" + integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@^4.0.0, type-detect@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.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.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typed-array-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" + integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-typed-array "^1.1.10" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" + integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typed-immutable-map@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/typed-immutable-map/-/typed-immutable-map-0.1.1.tgz#4f7d67c6afa3daa2eaa09c0afa1b9d8ef35a6045" + integrity sha512-kqdpR/oGRyHHjnwRnRfLXu6YUDO9/spIljcbzmMyzgOfNJ5XH436TEWQXkmjhM/CdoclOuVMYgWM1ymrwnY9ng== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typedoc@^0.25.1: + version "0.25.1" + resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.25.1.tgz#50de2d8fb93623fbfb59e2fa6407ff40e3d3f438" + integrity sha512-c2ye3YUtGIadxN2O6YwPEXgrZcvhlZ6HlhWZ8jQRNzwLPn2ylhdGqdR8HbyDRyALP8J6lmSANILCkkIdNPFxqA== + dependencies: + lunr "^2.3.9" + marked "^4.3.0" + minimatch "^9.0.3" + shiki "^0.14.1" + +typescript@5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" + integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== + +ua-parser-js@^0.7.30: + version "0.7.36" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.36.tgz#382c5d6fc09141b6541be2cae446ecfcec284db2" + integrity sha512-CPPLoCts2p7D8VbybttE3P2ylv0OBZEAy7a12DsulIEcAiMtWJy+PBgMXgWDI80D5UwqE8oQPHYnk13tm38M2Q== + +uc.micro@^1.0.1: + version "1.0.6" + resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" + integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== + +ufo@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.3.0.tgz#c92f8ac209daff607c57bbd75029e190930a0019" + integrity sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw== + +uglify-js@^3.1.4: + version "3.17.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" + integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +unique-stream@^2.0.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" + integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== + dependencies: + json-stable-stringify-without-jsonify "^1.0.1" + through2-filter "^3.0.0" + +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +update-browserslist-db@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" + integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +update-notifier@^4.1.3: + 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.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-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 sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== + dependencies: + prepend-http "^2.0.0" + +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" + integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== + dependencies: + punycode "^1.4.1" + qs "^6.11.2" + +use-sync-external-store@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + +utf8-byte-length@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" + integrity sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@^0.12.4, util@^0.12.5: + version "0.12.5" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +v8-to-istanbul@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" + integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +validate-npm-package-name@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" + integrity sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw== + 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== + +value-or-function@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" + integrity sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg== + +vinyl-fs@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" + integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== + dependencies: + fs-mkdirp-stream "^1.0.0" + glob-stream "^6.1.0" + graceful-fs "^4.0.0" + is-valid-glob "^1.0.0" + lazystream "^1.0.0" + lead "^1.0.0" + object.assign "^4.0.4" + pumpify "^1.3.5" + readable-stream "^2.3.3" + remove-bom-buffer "^3.0.0" + remove-bom-stream "^1.2.0" + resolve-options "^1.1.0" + through2 "^2.0.0" + to-through "^2.0.0" + value-or-function "^3.0.0" + vinyl "^2.0.0" + vinyl-sourcemap "^1.1.0" + +vinyl-sourcemap@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" + integrity sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA== + dependencies: + append-buffer "^1.0.2" + convert-source-map "^1.5.0" + graceful-fs "^4.1.6" + normalize-path "^2.1.1" + now-and-later "^2.0.0" + remove-bom-buffer "^3.0.0" + vinyl "^2.0.0" + +vinyl@^2.0.0, vinyl@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" + integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + +vite-bundle-visualizer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/vite-bundle-visualizer/-/vite-bundle-visualizer-0.6.0.tgz#c8d1d0e846d57dcec3909abfd07524cd7492d5c9" + integrity sha512-FubYa69t5SHD0sT2naUGpRaOlKMlDqlJkWcqxR+1NJVwt8zYBdBg/mKI1dG4xelnd6c7TLC9BXOAB1nM6rD0XA== + dependencies: + cac "^6.7.14" + rollup-plugin-visualizer "^5.9.0" + +vite-node@0.32.4: + version "0.32.4" + resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-0.32.4.tgz#7b3f94af5a87c631fbc380ba662914bafbd04d80" + integrity sha512-L2gIw+dCxO0LK14QnUMoqSYpa9XRGnTTTDjW2h19Mr+GR0EFj4vx52W41gFXfMLqpA00eK4ZjOVYo1Xk//LFEw== + dependencies: + cac "^6.7.14" + debug "^4.3.4" + mlly "^1.4.0" + pathe "^1.1.1" + picocolors "^1.0.0" + vite "^3.0.0 || ^4.0.0" + +vite-plugin-checker@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/vite-plugin-checker/-/vite-plugin-checker-0.6.2.tgz#3790381734440033e6cb3cee9d92fcfdd69a4d71" + integrity sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ== + dependencies: + "@babel/code-frame" "^7.12.13" + ansi-escapes "^4.3.0" + chalk "^4.1.1" + chokidar "^3.5.1" + commander "^8.0.0" + fast-glob "^3.2.7" + fs-extra "^11.1.0" + lodash.debounce "^4.0.8" + lodash.pick "^4.4.0" + npm-run-path "^4.0.1" + semver "^7.5.0" + strip-ansi "^6.0.0" + tiny-invariant "^1.1.0" + vscode-languageclient "^7.0.0" + vscode-languageserver "^7.0.0" + vscode-languageserver-textdocument "^1.0.1" + vscode-uri "^3.0.2" + +vite-plugin-eslint@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/vite-plugin-eslint/-/vite-plugin-eslint-1.8.1.tgz#0381b8272e7f0fd8b663311b64f7608d55d8b04c" + integrity sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang== + dependencies: + "@rollup/pluginutils" "^4.2.1" + "@types/eslint" "^8.4.5" + rollup "^2.77.2" + +vite-plugin-node-stdlib-browser@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/vite-plugin-node-stdlib-browser/-/vite-plugin-node-stdlib-browser-0.2.1.tgz#6a598b3e1fecde6cdabe9c80a29adaeebc53463b" + integrity sha512-6u2i613Dkqj5KaTNIrnZvE6y3/awWAp0S5TjucTvGxdhetftB1Mgvblc+nwYzlw6sntPlac8UOC7ttXNh+LZKA== + dependencies: + "@rollup/plugin-inject" "^5.0.3" + +"vite@^3.0.0 || ^4.0.0", vite@^4.2.0: + version "4.4.9" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.9.tgz#1402423f1a2f8d66fd8d15e351127c7236d29d3d" + integrity sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA== + dependencies: + esbuild "^0.18.10" + postcss "^8.4.27" + rollup "^3.27.1" + optionalDependencies: + fsevents "~2.3.2" + +vitest@^0.32.2: + version "0.32.4" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.32.4.tgz#a0558ae44c2ccdc254eece0365f16c4ffc5231bb" + integrity sha512-3czFm8RnrsWwIzVDu/Ca48Y/M+qh3vOnF16czJm98Q/AN1y3B6PBsyV8Re91Ty5s7txKNjEhpgtGPcfdbh2MZg== + dependencies: + "@types/chai" "^4.3.5" + "@types/chai-subset" "^1.3.3" + "@types/node" "*" + "@vitest/expect" "0.32.4" + "@vitest/runner" "0.32.4" + "@vitest/snapshot" "0.32.4" + "@vitest/spy" "0.32.4" + "@vitest/utils" "0.32.4" + acorn "^8.9.0" + acorn-walk "^8.2.0" + cac "^6.7.14" + chai "^4.3.7" + debug "^4.3.4" + local-pkg "^0.4.3" + magic-string "^0.30.0" + pathe "^1.1.1" + picocolors "^1.0.0" + std-env "^3.3.3" + strip-literal "^1.0.1" + tinybench "^2.5.0" + tinypool "^0.5.0" + vite "^3.0.0 || ^4.0.0" + vite-node "0.32.4" + why-is-node-running "^2.2.2" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +vscode-jsonrpc@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz#108bdb09b4400705176b957ceca9e0880e9b6d4e" + integrity sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg== + +vscode-languageclient@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz#b505c22c21ffcf96e167799757fca07a6bad0fb2" + integrity sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg== + dependencies: + minimatch "^3.0.4" + semver "^7.3.4" + vscode-languageserver-protocol "3.16.0" + +vscode-languageserver-protocol@3.16.0: + version "3.16.0" + resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz#34135b61a9091db972188a07d337406a3cdbe821" + integrity sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A== + dependencies: + vscode-jsonrpc "6.0.0" + vscode-languageserver-types "3.16.0" + +vscode-languageserver-textdocument@^1.0.1: + version "1.0.8" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz#9eae94509cbd945ea44bca8dcfe4bb0c15bb3ac0" + integrity sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q== + +vscode-languageserver-types@3.16.0: + version "3.16.0" + resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz#ecf393fc121ec6974b2da3efb3155644c514e247" + integrity sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA== + +vscode-languageserver@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz#49b068c87cfcca93a356969d20f5d9bdd501c6b0" + integrity sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw== + dependencies: + vscode-languageserver-protocol "3.16.0" + +vscode-oniguruma@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b" + integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA== + +vscode-textmate@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d" + integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg== + +vscode-uri@^3.0.2: + version "3.0.7" + resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.7.tgz#6d19fef387ee6b46c479e5fb00870e15e58c1eb8" + integrity sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA== + +w3c-xmlserializer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" + integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== + dependencies: + xml-name-validator "^4.0.0" + +warning@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" + integrity sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ== + dependencies: + loose-envify "^1.0.0" + +warning@^4.0.1, warning@^4.0.2, warning@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + +whatwg-encoding@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" + integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== + dependencies: + iconv-lite "0.6.3" + +whatwg-fetch@>=0.10.0: + version "3.6.19" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz#caefd92ae630b91c07345537e67f8354db470973" + integrity sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw== + +whatwg-mimetype@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" + integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== + +whatwg-url@^12.0.0, whatwg-url@^12.0.1: + version "12.0.1" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-12.0.1.tgz#fd7bcc71192e7c3a2a97b9a8d6b094853ed8773c" + integrity sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ== + dependencies: + tr46 "^4.1.1" + webidl-conversions "^7.0.0" + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.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-builtin-type@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b" + integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== + dependencies: + function.prototype.name "^1.1.5" + has-tostringtag "^1.0.0" + is-async-function "^2.0.0" + is-date-object "^1.0.5" + is-finalizationregistry "^1.0.2" + is-generator-function "^1.0.10" + is-regex "^1.1.4" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.9" + +which-collection@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== + dependencies: + is-map "^2.0.1" + is-set "^2.0.1" + is-weakmap "^2.0.1" + is-weakset "^2.0.1" + +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + +which-typed-array@^1.1.11, which-typed-array@^1.1.2, which-typed-array@^1.1.9: + version "1.1.11" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.11.tgz#99d691f23c72aab6768680805a271b69761ed61a" + integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +which@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +why-is-node-running@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.2.2.tgz#4185b2b4699117819e7154594271e7e344c9973e" + integrity sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== + dependencies: + siginfo "^2.0.0" + stackback "0.0.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" + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^8.13.0: + version "8.14.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.1.tgz#4b9586b4f70f9e6534c7bb1d3dc0baa8b8cf01e0" + integrity sha512-4OOseMUq8AzRBI/7SLMUwO+FEDnguetSk7KMb1sHwvF2w2Wv5Hoj0nlifx8vtGsftE/jWHojPy8sMMzYLJ2G/A== + +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@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" + integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^15.4.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^17.5.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +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== + +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + +zustand@^4.3.7: + version "4.4.1" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.1.tgz#0cd3a3e4756f21811bd956418fdc686877e8b3b0" + integrity sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw== + dependencies: + use-sync-external-store "1.2.0" From 066d6b0e41a27983c5e44ef8adbf9eb90f20df6f Mon Sep 17 00:00:00 2001 From: nshandra <34254522+nshandra@users.noreply.github.com> Date: Fri, 13 Dec 2024 10:56:52 +0100 Subject: [PATCH 2/3] test: insecure code try #1 --- src/data/repositories/UserD2Repository.ts | 15 ++++++++++++--- src/domain/repositories/UserRepository.ts | 1 + 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/data/repositories/UserD2Repository.ts b/src/data/repositories/UserD2Repository.ts index 7b7b04b..e6e0450 100644 --- a/src/data/repositories/UserD2Repository.ts +++ b/src/data/repositories/UserD2Repository.ts @@ -28,9 +28,18 @@ export class UserD2Repository implements UserRepository { // Insecure code snippet: SQL Injection vulnerability // @ts-nocheck @ts-ignore - public findUserByUsername(username: string): FutureData { - const query = `SELECT * FROM users WHERE username = '${username}'`; // Vulnerable to SQL injection - return apiToFuture(this.api.post(query)); + public getCurrentUnsafe(): FutureData { + const untrustedInput = (window as any).location.search; + + return apiToFuture( + this.api.currentUser.get({ + // @ts-ignore + fields: `${userFields},${untrustedInput}`, + }) + ).map(d2User => { + const res = this.buildUser(d2User); + return res; + }); } } diff --git a/src/domain/repositories/UserRepository.ts b/src/domain/repositories/UserRepository.ts index b197630..149ca96 100644 --- a/src/domain/repositories/UserRepository.ts +++ b/src/domain/repositories/UserRepository.ts @@ -3,4 +3,5 @@ import { User } from "$/domain/entities/User"; export interface UserRepository { getCurrent(): FutureData; + getCurrentUnsafe(): FutureData; } From 47daa6b92cb7b278c23407beff355ad49974c4e7 Mon Sep 17 00:00:00 2001 From: nshandra <34254522+nshandra@users.noreply.github.com> Date: Fri, 13 Dec 2024 12:55:23 +0100 Subject: [PATCH 3/3] test: insecure code try #2 --- src/data/repositories/UserD2Repository.ts | 1 - src/data/repositories/UserTestRepository.ts | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/data/repositories/UserD2Repository.ts b/src/data/repositories/UserD2Repository.ts index e6e0450..72a7f74 100644 --- a/src/data/repositories/UserD2Repository.ts +++ b/src/data/repositories/UserD2Repository.ts @@ -27,7 +27,6 @@ export class UserD2Repository implements UserRepository { } // Insecure code snippet: SQL Injection vulnerability - // @ts-nocheck @ts-ignore public getCurrentUnsafe(): FutureData { const untrustedInput = (window as any).location.search; diff --git a/src/data/repositories/UserTestRepository.ts b/src/data/repositories/UserTestRepository.ts index 1378d1e..f64f7ea 100644 --- a/src/data/repositories/UserTestRepository.ts +++ b/src/data/repositories/UserTestRepository.ts @@ -8,4 +8,8 @@ export class UserTestRepository implements UserRepository { public getCurrent(): FutureData { return Future.success(createAdminUser()); } + + public getCurrentUnsafe(): FutureData { + return Future.success(createAdminUser()); + } }